#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerBasicInfo {
    #[prost(string, tag = "1")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "4")]
    pub stamina: u32,
    #[prost(uint32, tag = "5")]
    pub mcoin: u32,
    #[prost(uint32, tag = "6")]
    pub hcoin: u32,
    #[prost(uint32, tag = "7")]
    pub scoin: u32,
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AmountInfo {
    #[prost(uint32, tag = "1")]
    pub cur_amount: u32,
    #[prost(uint32, tag = "2")]
    pub max_amount: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlackInfo {
    #[prost(int64, tag = "1")]
    pub begin_time: i64,
    #[prost(int64, tag = "2")]
    pub end_time: i64,
    #[prost(uint32, tag = "3")]
    pub limit_level: u32,
    #[prost(uint32, tag = "4")]
    pub ban_type: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elobjommkdo {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VersionCount {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientDownloadData {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(int64, tag = "2")]
    pub time: i64,
    #[prost(bytes = "vec", tag = "3")]
    pub data: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadData {
    #[prost(bytes = "vec", tag = "1")]
    pub obj: ::prost::alloc::vec::Vec<u8>,
    #[prost(message, optional, tag = "2")]
    pub obj_data: ::core::option::Option<ClientDownloadData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientUploadData {
    #[prost(string, tag = "1")]
    pub tag: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureSwitchParam {
    #[prost(uint32, repeated, tag = "1")]
    pub param_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureSwitchInfo {
    #[prost(enumeration = "FeatureSwitchType", tag = "1")]
    pub r#type: i32,
    #[prost(message, repeated, tag = "2")]
    pub switch_list: ::prost::alloc::vec::Vec<FeatureSwitchParam>,
    #[prost(bool, tag = "3")]
    pub is_all_closed: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkdghomddnm {
    #[prost(string, tag = "1")]
    pub lolnnbbhifd: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub amapheohpon: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub olmgnhjfdgl: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub dbpibcnadel: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub eaahbaghbif: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub fnpflkamlog: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub pgpicplpgbo: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkbalnjmdcm {
    #[prost(uint64, tag = "1")]
    pub lddlkmggjdi: u64,
    #[prost(enumeration = "ReplayType", tag = "2")]
    pub jpcjcljkjmp: i32,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    #[prost(string, tag = "5")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub head_icon: u32,
    #[prost(string, tag = "7")]
    pub chiacnnmkih: ::prost::alloc::string::String,
    #[prost(uint64, tag = "8")]
    pub timestamp: u64,
    #[prost(uint32, tag = "9")]
    pub jahpiaegojl: u32,
    #[prost(uint32, tag = "10")]
    pub glefcfoohbh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleAvatar {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub avatar_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleRecord {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub damage_hp: u32,
    #[prost(bool, tag = "3")]
    pub is_final_hit: bool,
    #[prost(uint32, tag = "4")]
    pub over_kill_damage_hp: u32,
    #[prost(string, tag = "5")]
    pub battle_replay_key: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<PunkLordBattleAvatar>,
    #[prost(uint32, tag = "7")]
    pub assist_score: u32,
    #[prost(uint32, tag = "8")]
    pub damage_score: u32,
    #[prost(uint32, tag = "9")]
    pub final_hit_score: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkfoadejpkb {
    #[prost(message, repeated, tag = "1")]
    pub nffopijllgd: ::prost::alloc::vec::Vec<PunkLordBattleRecord>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibjhgnngjcd {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iijaajcjnji {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    #[prost(int64, tag = "5")]
    pub timestamp: i64,
    #[prost(uint32, tag = "6")]
    pub left_hp: u32,
    #[prost(uint32, tag = "7")]
    pub ddpckijmnao: u32,
    #[prost(enumeration = "PunkLordShareType", tag = "8")]
    pub ojcgohmmkkf: i32,
    #[prost(bool, tag = "9")]
    pub ppmkogphjdn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleReplay {
    #[prost(string, tag = "1")]
    pub battle_replay_key: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub replay_info: ::core::option::Option<Kkbalnjmdcm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffkhidmpeka {
    #[prost(uint64, tag = "1")]
    pub meacejkednl: u64,
    #[prost(uint32, tag = "2")]
    pub pbddbplodlm: u32,
    #[prost(uint32, tag = "3")]
    pub cekgbjldjdj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bienebceiof {
    #[prost(message, optional, tag = "101")]
    pub aankkcholoe: ::core::option::Option<Ffkhidmpeka>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerData {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub display_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub dispatch_url: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub env_type: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub title: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub msg: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GlobalDispatchData {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(string, tag = "2")]
    pub msg: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub nhkgecjacpe: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub server_list: ::prost::alloc::vec::Vec<ServerData>,
    #[prost(string, tag = "5")]
    pub cdncbjfabjo: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleOp {
    #[prost(uint32, tag = "1")]
    pub turn_counter: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
    #[prost(uint32, tag = "3")]
    pub action_entity_id: u32,
    #[prost(uint32, tag = "4")]
    pub target_entity_id: u32,
    #[prost(uint32, tag = "5")]
    pub op_type: u32,
    #[prost(uint32, tag = "6")]
    pub skill_index: u32,
    #[prost(uint32, tag = "7")]
    pub operation_counter: u32,
    #[prost(string, tag = "8")]
    pub lefchebpcci: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleEquipment {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRelic {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub main_affix_id: u32,
    #[prost(message, repeated, tag = "4")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
    #[prost(uint32, tag = "6")]
    pub nlgcpjibpjh: u32,
    #[prost(uint32, tag = "7")]
    pub r#type: u32,
    #[prost(uint32, tag = "8")]
    pub fnldedpgjbb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarSkillTree {
    #[prost(uint32, tag = "1")]
    pub point_id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicAffix {
    #[prost(uint32, tag = "1")]
    pub affix_id: u32,
    #[prost(uint32, tag = "2")]
    pub cnt: u32,
    #[prost(uint32, tag = "3")]
    pub step: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfnihdmmlme {
    #[prost(bool, tag = "1")]
    pub mpdejjinfmn: bool,
    #[prost(uint32, repeated, tag = "2")]
    pub jhchifkkjjj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub akgoglaneoo: u32,
    #[prost(uint32, tag = "4")]
    pub bemioeojihg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleAvatar {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    #[prost(uint32, tag = "5")]
    pub index: u32,
    #[prost(message, repeated, tag = "6")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, repeated, tag = "7")]
    pub equipment_list: ::prost::alloc::vec::Vec<BattleEquipment>,
    #[prost(uint32, tag = "8")]
    pub hp: u32,
    #[prost(uint32, tag = "10")]
    pub promotion: u32,
    #[prost(message, repeated, tag = "11")]
    pub relic_list: ::prost::alloc::vec::Vec<BattleRelic>,
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    #[prost(uint32, tag = "13")]
    pub lehjbiafinp: u32,
    #[prost(message, optional, tag = "15")]
    pub gdcgicedokk: ::core::option::Option<Gfnihdmmlme>,
    #[prost(message, optional, tag = "16")]
    pub sp: ::core::option::Option<AmountInfo>,
    #[prost(uint32, tag = "17")]
    pub eboomimphef: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igigcnmmjal {
    #[prost(uint32, tag = "1")]
    pub igljlnabhnf: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub iocdidhahhj: u32,
    #[prost(uint32, tag = "4")]
    pub dkdmaeajipo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hddjdffgnpm {
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    #[prost(uint32, tag = "2")]
    pub jjhfeikbakk: u32,
    #[prost(uint32, tag = "3")]
    pub max_hp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleMonsterWave {
    #[prost(message, repeated, tag = "1")]
    pub monster_list: ::prost::alloc::vec::Vec<Hddjdffgnpm>,
    #[prost(message, optional, tag = "2")]
    pub acpannfhach: ::core::option::Option<Igigcnmmjal>,
    #[prost(uint32, tag = "3")]
    pub aelnpffbiod: u32,
    #[prost(uint32, tag = "4")]
    pub imapolkmefn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleBuff {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub owner_index: u32,
    #[prost(uint32, tag = "4")]
    pub wave_flag: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub target_index_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "string, float", tag = "6")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bnolgfafejd {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub doeokaogehe: u32,
    #[prost(uint32, tag = "3")]
    pub djkihjklpoe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnifncaliom {
    #[prost(uint32, tag = "1")]
    pub ojnaoikihkf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjiheimecfl {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub doeokaogehe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppjmfjbolce {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub progress: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleTarget {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    #[prost(uint32, tag = "3")]
    pub total_progress: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnngaoldopi {
    #[prost(message, repeated, tag = "1")]
    pub fdfcmhbhnmc: ::prost::alloc::vec::Vec<BattleTarget>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleLineup {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<BattleMonsterWave>,
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    #[prost(map = "uint32, message", tag = "9")]
    pub jelkfckaonl: ::std::collections::HashMap<u32, Cnngaoldopi>,
    #[prost(message, optional, tag = "10")]
    pub cchiiefgogb: ::core::option::Option<Lnifncaliom>,
    #[prost(message, repeated, tag = "11")]
    pub afafdifkkhe: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(message, optional, tag = "12")]
    pub ghlhhdhoodf: ::core::option::Option<EvolveBuildBattleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmgbjbdpenn {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub index: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub nfnlfdbband: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "AetherdivideSpiritLineupType", tag = "5")]
    pub oobjobcmoma: i32,
    #[prost(message, optional, tag = "6")]
    pub sp: ::core::option::Option<AmountInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdgopnaeaog {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Lmgbjbdpenn>,
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<BattleMonsterWave>,
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientTurnSnapshot {
    #[prost(uint32, tag = "1")]
    pub turn_counter: u32,
    #[prost(uint32, tag = "2")]
    pub random_counter: u32,
    #[prost(uint32, tag = "3")]
    pub anim_event_counter: u32,
    #[prost(message, repeated, tag = "4")]
    pub snapshot_list: ::prost::alloc::vec::Vec<CharacterSnapshot>,
    #[prost(message, repeated, tag = "5")]
    pub anim_event_list: ::prost::alloc::vec::Vec<AnimEventSnapshot>,
    #[prost(uint32, tag = "6")]
    pub clnabmjbojh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GamecoreConfig {
    #[prost(bool, tag = "1")]
    pub is_skip_verify: bool,
    #[prost(uint32, tag = "2")]
    pub max_turn_cnt: u32,
    #[prost(bool, tag = "3")]
    pub is_auto_fight: bool,
    #[prost(string, tag = "4")]
    pub csv_path: ::prost::alloc::string::String,
    #[prost(bool, tag = "5")]
    pub femidkijebk: bool,
    #[prost(bool, tag = "6")]
    pub nlngglhaahl: bool,
    #[prost(uint32, tag = "7")]
    pub ojkglpmcmpn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleBuffMsg {
    #[prost(uint32, repeated, tag = "1")]
    pub buff_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub buff_index_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub buff_level_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub buff_flag_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amfgeipkjjg {
    #[prost(uint32, tag = "1")]
    pub ibjmchgjaen: u32,
    #[prost(uint32, tag = "2")]
    pub jcemgcaapjf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkoopnohnbf {
    #[prost(bool, tag = "1")]
    pub jkejfhphkhk: bool,
    #[prost(map = "string, message", tag = "2")]
    pub bnbjpolcbjd: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        Amfgeipkjjg,
    >,
    #[prost(bytes = "vec", tag = "3")]
    pub hacmlfjcagf: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mekhegfnkce {
    #[prost(message, repeated, tag = "1")]
    pub cjplfemmioj: ::prost::alloc::vec::Vec<ClientTurnSnapshot>,
    #[prost(string, tag = "2")]
    pub kkojdjabmao: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub ngffkiepbol: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub mhbckkmonkp: ::prost::alloc::vec::Vec<BattleReplayStringHash>,
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    #[prost(uint32, tag = "6")]
    pub floor_id: u32,
    #[prost(uint32, tag = "7")]
    pub ljocjoelkpe: u32,
    #[prost(uint32, tag = "8")]
    pub pinepjijcbe: u32,
    #[prost(message, optional, tag = "9")]
    pub gfndglaelpb: ::core::option::Option<Dkoopnohnbf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleReplay {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(uint32, tag = "2")]
    pub logic_random_seed: u32,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<BattleLineup>,
    #[prost(message, repeated, tag = "5")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    #[prost(bytes = "vec", tag = "6")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "7")]
    pub maze_plane_id: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub extra_ability_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "9")]
    pub is_ai_consider_ultra_skill: bool,
    #[prost(enumeration = "BattleCheckStrategyType", tag = "10")]
    pub check_strategy: i32,
    #[prost(enumeration = "BattleModuleType", tag = "11")]
    pub battle_module_type: i32,
    #[prost(message, repeated, tag = "12")]
    pub ldkhpbclcbd: ::prost::alloc::vec::Vec<Mnnlfkgifmc>,
    #[prost(uint32, tag = "14")]
    pub ohfkoaahoib: u32,
    #[prost(message, optional, tag = "15")]
    pub nhfekmhjhhm: ::core::option::Option<GamecoreConfig>,
    #[prost(bytes = "vec", tag = "16")]
    pub game_core_log_encode: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "17")]
    pub dkjffocifod: u32,
    #[prost(uint32, tag = "18")]
    pub cleheggdkal: u32,
    #[prost(message, optional, tag = "19")]
    pub okccongkoei: ::core::option::Option<Jdgopnaeaog>,
    #[prost(message, optional, tag = "100")]
    pub lifmmjiekig: ::core::option::Option<Mekhegfnkce>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleReplayStringHash {
    #[prost(int32, tag = "1")]
    pub hash: i32,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarProperty {
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    #[prost(double, tag = "2")]
    pub attack: f64,
    #[prost(double, tag = "3")]
    pub defence: f64,
    #[prost(double, tag = "4")]
    pub speed: f64,
    #[prost(double, tag = "5")]
    pub left_hp: f64,
    #[prost(double, tag = "6")]
    pub left_sp: f64,
    #[prost(double, tag = "7")]
    pub max_sp: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipmentProperty {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttackDamageProperty {
    #[prost(string, tag = "1")]
    pub attack_type: ::prost::alloc::string::String,
    #[prost(double, tag = "2")]
    pub damage: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flojplpfgih {
    #[prost(uint32, tag = "1")]
    pub cekhcgeegkk: u32,
    #[prost(string, tag = "2")]
    pub gjiejcnfelk: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub laonmkeajkh: u32,
    #[prost(uint32, tag = "4")]
    pub emoefkmopmp: u32,
    #[prost(uint32, tag = "5")]
    pub mbelehmijld: u32,
    #[prost(uint32, tag = "6")]
    pub ohnioljleip: u32,
    #[prost(uint32, tag = "7")]
    pub ggldhoiifao: u32,
    #[prost(uint32, tag = "8")]
    pub jobfncamflb: u32,
    #[prost(uint32, tag = "9")]
    pub hndkinenjhl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elbdnigghoe {
    #[prost(uint32, tag = "1")]
    pub cekhcgeegkk: u32,
    #[prost(double, tag = "2")]
    pub fipghgjbbea: f64,
    #[prost(uint32, repeated, tag = "3")]
    pub fdfcmhbhnmc: ::prost::alloc::vec::Vec<u32>,
    #[prost(double, tag = "4")]
    pub damage: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpAddSource {
    #[prost(string, tag = "1")]
    pub source: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub sp_add: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amoipoekonn {
    #[prost(string, tag = "1")]
    pub doedocncbam: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub count: u32,
    #[prost(double, tag = "3")]
    pub total_damage: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarBattleInfo {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub avatar_level: u32,
    #[prost(uint32, tag = "4")]
    pub avatar_rank: u32,
    #[prost(uint32, tag = "5")]
    pub avatar_promotion: u32,
    #[prost(message, optional, tag = "6")]
    pub avatar_status: ::core::option::Option<AvatarProperty>,
    #[prost(message, repeated, tag = "7")]
    pub avatar_skill: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, repeated, tag = "8")]
    pub avatar_equipment: ::prost::alloc::vec::Vec<EquipmentProperty>,
    #[prost(uint32, tag = "9")]
    pub total_turns: u32,
    #[prost(double, tag = "10")]
    pub total_damage: f64,
    #[prost(double, tag = "11")]
    pub total_heal: f64,
    #[prost(double, tag = "12")]
    pub total_damage_taken: f64,
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    #[prost(double, tag = "14")]
    pub total_sp_cost: f64,
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(uint32, tag = "16")]
    pub stage_type: u32,
    #[prost(double, tag = "17")]
    pub total_break_damage: f64,
    #[prost(message, repeated, tag = "18")]
    pub attack_type_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "19")]
    pub attack_type_break_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "20")]
    pub attack_type_max_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "21")]
    pub skill_times: ::prost::alloc::vec::Vec<Flojplpfgih>,
    #[prost(double, tag = "22")]
    pub delay_cumulate: f64,
    #[prost(uint32, tag = "23")]
    pub total_sp_add: u32,
    #[prost(message, repeated, tag = "24")]
    pub sp_add_source: ::prost::alloc::vec::Vec<SpAddSource>,
    #[prost(uint32, tag = "25")]
    pub total_bp_cost: u32,
    #[prost(uint32, tag = "26")]
    pub die_times: u32,
    #[prost(uint32, tag = "27")]
    pub revive_times: u32,
    #[prost(uint32, tag = "28")]
    pub break_times: u32,
    #[prost(uint32, tag = "29")]
    pub extra_turns: u32,
    #[prost(double, tag = "30")]
    pub total_shield: f64,
    #[prost(double, tag = "31")]
    pub total_shield_taken: f64,
    #[prost(double, tag = "32")]
    pub total_shield_damage: f64,
    #[prost(message, optional, tag = "33")]
    pub initial_status: ::core::option::Option<AvatarProperty>,
    #[prost(message, repeated, tag = "34")]
    pub relics: ::prost::alloc::vec::Vec<BattleRelic>,
    #[prost(uint32, tag = "35")]
    pub lehjbiafinp: u32,
    #[prost(message, repeated, tag = "36")]
    pub bdhpbbppoen: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(double, tag = "37")]
    pub chdnaacfhii: f64,
    #[prost(double, tag = "38")]
    pub ajldleefkok: f64,
    #[prost(double, tag = "39")]
    pub phpieamlhba: f64,
    #[prost(double, tag = "40")]
    pub iojhinliofj: f64,
    #[prost(message, repeated, tag = "41")]
    pub obkhmedjhjd: ::prost::alloc::vec::Vec<Amoipoekonn>,
    #[prost(uint32, tag = "42")]
    pub cibnggnkppm: u32,
    #[prost(uint32, tag = "43")]
    pub cfdfphcggch: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonsterProperty {
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    #[prost(double, tag = "2")]
    pub attack: f64,
    #[prost(double, tag = "3")]
    pub defence: f64,
    #[prost(double, tag = "4")]
    pub shield: f64,
    #[prost(double, tag = "5")]
    pub speed: f64,
    #[prost(double, tag = "6")]
    pub left_hp: f64,
    #[prost(double, tag = "7")]
    pub fddhebagblh: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnmoejendjo {
    #[prost(uint32, tag = "1")]
    pub gjajkbonico: u32,
    #[prost(double, tag = "2")]
    pub gbgdhbaodga: f64,
    #[prost(uint32, tag = "3")]
    pub hfhcaeihlic: u32,
    #[prost(uint32, tag = "4")]
    pub break_times: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonsterBattleInfo {
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(uint32, tag = "3")]
    pub monster_template_id: u32,
    #[prost(uint32, tag = "4")]
    pub monster_level: u32,
    #[prost(message, optional, tag = "5")]
    pub monster_status: ::core::option::Option<MonsterProperty>,
    #[prost(uint32, tag = "6")]
    pub total_turns: u32,
    #[prost(double, tag = "7")]
    pub total_damage: f64,
    #[prost(double, tag = "8")]
    pub total_heal: f64,
    #[prost(double, tag = "9")]
    pub total_damage_taken: f64,
    #[prost(double, tag = "10")]
    pub total_stance_damage_taken: f64,
    #[prost(double, tag = "11")]
    pub total_hp_recover: f64,
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    #[prost(uint32, tag = "13")]
    pub battle_id: u32,
    #[prost(uint32, tag = "14")]
    pub monster_type: u32,
    #[prost(message, repeated, tag = "15")]
    pub attack_type_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "16")]
    pub skill_times: ::prost::alloc::vec::Vec<Flojplpfgih>,
    #[prost(uint32, tag = "17")]
    pub stage_type: u32,
    #[prost(double, tag = "18")]
    pub total_break_damage_taken: f64,
    #[prost(double, tag = "19")]
    pub delay_cumulate: f64,
    #[prost(enumeration = "Ghbiabdnmfa", tag = "20")]
    pub death_source: i32,
    #[prost(uint32, tag = "21")]
    pub wave: u32,
    #[prost(int32, tag = "22")]
    pub index_in_wave: i32,
    #[prost(uint32, tag = "23")]
    pub phase: u32,
    #[prost(uint32, tag = "24")]
    pub max_phase: u32,
    #[prost(enumeration = "Ndcidehccag", tag = "25")]
    pub battle_tag: i32,
    #[prost(message, repeated, tag = "26")]
    pub fnamllelmao: ::prost::alloc::vec::Vec<Elbdnigghoe>,
    #[prost(uint32, tag = "27")]
    pub hhomokpiipk: u32,
    #[prost(message, repeated, tag = "28")]
    pub eimihbodejn: ::prost::alloc::vec::Vec<Cnmoejendjo>,
    #[prost(uint32, tag = "29")]
    pub cglimckbfjf: u32,
    #[prost(uint32, tag = "30")]
    pub dhkalnbkfld: u32,
    #[prost(enumeration = "Hpgbmfahhne", tag = "31")]
    pub nlmhgahhnck: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmaobdmmcjb {
    #[prost(message, optional, tag = "2")]
    pub sp: ::core::option::Option<AmountInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mnnlfkgifmc {
    #[prost(uint32, tag = "1")]
    pub ejilnblflii: u32,
    #[prost(message, optional, tag = "2")]
    pub status: ::core::option::Option<Fmaobdmmcjb>,
    #[prost(message, repeated, tag = "3")]
    pub fnamllelmao: ::prost::alloc::vec::Vec<Elbdnigghoe>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afnefdcnclo {
    #[prost(uint32, tag = "1")]
    pub bpklplglenj: u32,
    #[prost(uint32, tag = "2")]
    pub oggklhikobo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nikcmglompl {
    #[prost(uint32, tag = "1")]
    pub edglnhhadgl: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub lbbgdghmfbi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub source: u32,
    #[prost(double, tag = "4")]
    pub damage: f64,
    #[prost(uint32, repeated, tag = "5")]
    pub ohebldjbnko: ::prost::alloc::vec::Vec<u32>,
    #[prost(int32, tag = "6")]
    pub nejaiaflggb: i32,
    #[prost(double, tag = "7")]
    pub cbaobppgdop: f64,
    #[prost(uint32, tag = "8")]
    pub hlkobfengoa: u32,
    #[prost(uint32, tag = "9")]
    pub wave: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akhcipmpmjh {
    #[prost(uint32, tag = "1")]
    pub edglnhhadgl: u32,
    #[prost(int32, tag = "2")]
    pub lbmhgcjhcmo: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfgpkdobmbc {
    #[prost(uint32, tag = "1")]
    pub gjajkbonico: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(message, repeated, tag = "3")]
    pub jnppjoehaan: ::prost::alloc::vec::Vec<Akhcipmpmjh>,
    #[prost(uint32, tag = "4")]
    pub fipghgjbbea: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbplkcplece {
    #[prost(enumeration = "BattleStaticticEventType", tag = "1")]
    pub r#type: i32,
    #[prost(uint32, tag = "2")]
    pub ccokkdfflhd: u32,
    #[prost(uint32, tag = "3")]
    pub nmhpkmdmmpa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppkhgchpclc {
    #[prost(uint32, tag = "1")]
    pub emeclfmnjia: u32,
    #[prost(uint32, tag = "2")]
    pub kmhgilbnpin: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlckegphloi {
    #[prost(uint32, tag = "1")]
    pub okflgfjjjbi: u32,
    #[prost(bool, tag = "2")]
    pub libmphilenj: bool,
    #[prost(message, optional, tag = "3")]
    pub mnkdhnhkpgc: ::core::option::Option<Ppkhgchpclc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blabhflimih {
    #[prost(uint32, tag = "1")]
    pub cahfbbilhcl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildGearDamageInfo {
    #[prost(uint32, tag = "1")]
    pub gear_id: u32,
    #[prost(double, tag = "2")]
    pub damage: f64,
    #[prost(double, tag = "3")]
    pub hp_damage: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mldibdofjfn {
    #[prost(uint32, repeated, tag = "1")]
    pub oadlckecipm: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccdgojiaejg {
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    #[prost(uint32, tag = "2")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "3")]
    pub idkfhdlllda: u32,
    #[prost(message, repeated, tag = "4")]
    pub fckmblindlo: ::prost::alloc::vec::Vec<Ppkhgchpclc>,
    #[prost(float, tag = "5")]
    pub fipghgjbbea: f32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecdiikcmojo {
    #[prost(uint32, tag = "1")]
    pub jfnkbmgcllg: u32,
    #[prost(message, repeated, tag = "2")]
    pub hmkplajnjpi: ::prost::alloc::vec::Vec<Ccdgojiaejg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildBattleInfo {
    #[prost(uint32, tag = "1")]
    pub cur_level_id: u32,
    #[prost(uint32, tag = "2")]
    pub cur_period: u32,
    #[prost(uint32, tag = "3")]
    pub cur_coin: u32,
    #[prost(message, repeated, tag = "4")]
    pub weapon_slot_list: ::prost::alloc::vec::Vec<Dlckegphloi>,
    #[prost(message, repeated, tag = "5")]
    pub accessory_slot_list: ::prost::alloc::vec::Vec<Dlckegphloi>,
    #[prost(uint32, repeated, tag = "6")]
    pub ban_gear_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "7")]
    pub collection: ::core::option::Option<Mldibdofjfn>,
    #[prost(uint32, repeated, tag = "8")]
    pub allowed_gear_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub cur_exp: u32,
    #[prost(uint32, tag = "10")]
    pub cur_reroll: u32,
    #[prost(uint32, tag = "11")]
    pub cur_treasure_miss_cnt: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub period_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub cur_gear_lost_cnt: u32,
    #[prost(uint32, tag = "14")]
    pub cur_wave: u32,
    #[prost(bool, tag = "15")]
    pub is_unlock_gear_reroll: bool,
    #[prost(bool, tag = "16")]
    pub is_unlock_gear_ban: bool,
    #[prost(message, repeated, tag = "17")]
    pub card_list: ::prost::alloc::vec::Vec<Blabhflimih>,
    #[prost(message, repeated, tag = "18")]
    pub gear_damage_list: ::prost::alloc::vec::Vec<EvolveBuildGearDamageInfo>,
    #[prost(uint32, repeated, tag = "19")]
    pub stat_params: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "20")]
    pub is_giveup: bool,
    #[prost(uint32, tag = "21")]
    pub cur_unused_round_cnt: u32,
    #[prost(message, optional, tag = "22")]
    pub stat_log_info: ::core::option::Option<Ecdiikcmojo>,
    #[prost(uint32, tag = "23")]
    pub period_first_random_seed: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dalllcflccl {
    #[prost(string, tag = "1")]
    pub phase: ::prost::alloc::string::String,
    #[prost(float, tag = "2")]
    pub donhociahai: f32,
    #[prost(float, tag = "3")]
    pub dmhncllbfol: f32,
    #[prost(uint32, tag = "4")]
    pub jgddflgheac: u32,
    #[prost(uint32, tag = "5")]
    pub hpkdhjnkiop: u32,
    #[prost(uint32, tag = "6")]
    pub omobgpljpco: u32,
    #[prost(uint32, tag = "7")]
    pub pjmoepfanof: u32,
    #[prost(uint32, tag = "8")]
    pub jcnefgegeek: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub hifchmlnfim: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub hapjpippllh: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Haliknnjknm {
    #[prost(uint32, tag = "1")]
    pub ghlhikhpkee: u32,
    #[prost(uint32, tag = "2")]
    pub bkbdffnanfk: u32,
    #[prost(uint32, tag = "3")]
    pub cllfkcebgch: u32,
    #[prost(uint32, tag = "4")]
    pub iadlnnnnhak: u32,
    #[prost(uint32, tag = "5")]
    pub dofpeecpbdi: u32,
    #[prost(uint32, tag = "6")]
    pub fancimmnidb: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub efocfephghg: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "8")]
    pub jmdichmjhmk: ::prost::alloc::vec::Vec<Dalllcflccl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnhimhpbace {
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    #[prost(double, tag = "2")]
    pub cpbnjenhekn: f64,
    #[prost(double, tag = "3")]
    pub jibpmccokjb: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleStatistics {
    #[prost(uint32, tag = "1")]
    pub total_battle_turns: u32,
    #[prost(uint32, tag = "2")]
    pub total_auto_turns: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub ultra_cnt: u32,
    #[prost(double, tag = "5")]
    pub total_delay_cumulate: f64,
    #[prost(double, tag = "6")]
    pub cost_time: f64,
    #[prost(message, repeated, tag = "7")]
    pub avatar_battle_list: ::prost::alloc::vec::Vec<AvatarBattleInfo>,
    #[prost(message, repeated, tag = "8")]
    pub monster_battle_list: ::prost::alloc::vec::Vec<MonsterBattleInfo>,
    #[prost(uint32, tag = "9")]
    pub round_cnt: u32,
    #[prost(uint32, tag = "10")]
    pub cocoon_dead_wave: u32,
    #[prost(uint32, tag = "11")]
    pub avatar_battle_turns: u32,
    #[prost(uint32, tag = "12")]
    pub monster_battle_turns: u32,
    #[prost(map = "string, float", tag = "13")]
    pub custom_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    #[prost(uint32, tag = "14")]
    pub challenge_score: u32,
    #[prost(message, repeated, tag = "16")]
    pub pleehfnphbi: ::prost::alloc::vec::Vec<Mnnlfkgifmc>,
    #[prost(enumeration = "BattleEndReason", tag = "19")]
    pub okpeblhbdih: i32,
    #[prost(message, repeated, tag = "21")]
    pub hnojdihikik: ::prost::alloc::vec::Vec<Nikcmglompl>,
    #[prost(int32, repeated, tag = "22")]
    pub hjpkjamebgl: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "23")]
    pub gaecgnblpco: ::prost::alloc::vec::Vec<Cfgpkdobmbc>,
    #[prost(message, repeated, tag = "26")]
    pub midpbcdpbgf: ::prost::alloc::vec::Vec<Hbplkcplece>,
    #[prost(message, repeated, tag = "27")]
    pub nkpgaedgbfn: ::prost::alloc::vec::Vec<Fjbcpoonjbk>,
    #[prost(map = "uint32, message", tag = "28")]
    pub jelkfckaonl: ::std::collections::HashMap<u32, Cnngaoldopi>,
    #[prost(message, repeated, tag = "29")]
    pub cghlbglnbhf: ::prost::alloc::vec::Vec<Ffejphhhgpc>,
    #[prost(message, optional, tag = "30")]
    pub ghlhhdhoodf: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(message, optional, tag = "31")]
    pub ckmnckgefmp: ::core::option::Option<Haliknnjknm>,
    #[prost(bool, tag = "32")]
    pub pdhgjdodhlj: bool,
    #[prost(message, repeated, tag = "33")]
    pub hmkplajnjpi: ::prost::alloc::vec::Vec<Hnhimhpbace>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffejphhhgpc {
    #[prost(uint32, tag = "1")]
    pub akggmbpbdnn: u32,
    #[prost(uint32, tag = "2")]
    pub oelhhpoenmf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjbcpoonjbk {
    #[prost(enumeration = "AetherdivideSpiritLineupType", tag = "1")]
    pub r#type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(message, optional, tag = "3")]
    pub sp: ::core::option::Option<AmountInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeroPath {
    #[prost(uint32, tag = "1")]
    pub hero_path_type: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleResult {
    #[prost(enumeration = "BattleCheckResultType", tag = "1")]
    pub retcode: i32,
    #[prost(enumeration = "BattleEndStatus", tag = "2")]
    pub end_status: i32,
    #[prost(message, optional, tag = "3")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(bytes = "vec", tag = "4")]
    pub game_core_log_encode: ::prost::alloc::vec::Vec<u8>,
    #[prost(map = "string, uint32", tag = "5")]
    pub tags: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    #[prost(uint32, tag = "6")]
    pub mismatch_turn_count: u32,
    #[prost(uint32, tag = "7")]
    pub bdllmgmlkmd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CharacterSnapshot {
    #[prost(uint32, tag = "1")]
    pub runtime_id: u32,
    #[prost(uint64, repeated, tag = "2")]
    pub properties: ::prost::alloc::vec::Vec<u64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnimEventSnapshot {
    #[prost(string, tag = "1")]
    pub event_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyPlayerBasicInfo {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(string, tag = "3")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "4")]
    pub hgaiocipcfb: u32,
    #[prost(enumeration = "PlatformType", tag = "5")]
    pub platform: i32,
    #[prost(string, tag = "6")]
    pub aionaipakjc: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub ajfjfdebllc: ::prost::alloc::string::String,
    #[prost(uint64, tag = "8")]
    pub version: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Objpldjbjpp {
    #[prost(enumeration = "LobbyCharacter", tag = "1")]
    pub fblhhbdikde: i32,
    #[prost(enumeration = "LobbyCharacterStatus", tag = "2")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nialdnoaglg {
    #[prost(uint32, tag = "1")]
    pub dkgkfmgobco: u32,
    #[prost(bool, tag = "2")]
    pub knejbnkfijd: bool,
    #[prost(uint32, tag = "3")]
    pub fpienjehmnb: u32,
    #[prost(uint32, tag = "4")]
    pub ofbnhjabjhk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndkcbdpolah {
    #[prost(string, repeated, tag = "1")]
    pub fljnmijfhmc: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "2")]
    pub onlchmibgmd: bool,
    #[prost(message, optional, tag = "1001")]
    pub imlipgkfeki: ::core::option::Option<Nialdnoaglg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Neghnnkjcih {
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<LobbyPlayerBasicInfo>,
    #[prost(message, optional, tag = "2")]
    pub mccacfkdmdk: ::core::option::Option<Objpldjbjpp>,
    #[prost(message, optional, tag = "3")]
    pub leiglhbeaan: ::core::option::Option<Ndkcbdpolah>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpbnofgfhdb {
    #[prost(uint32, tag = "1")]
    pub jelmkiknfnc: u32,
    #[prost(uint32, tag = "2")]
    pub acdmicbfiek: u32,
    #[prost(uint32, tag = "3")]
    pub ddlinlmiabe: u32,
    #[prost(uint32, tag = "4")]
    pub iikdoicapka: u32,
    #[prost(uint32, tag = "5")]
    pub obopiikjdnh: u32,
    #[prost(uint32, tag = "6")]
    pub jjcmfciemoo: u32,
    #[prost(uint32, tag = "7")]
    pub cemhhhgajoa: u32,
    #[prost(uint32, tag = "8")]
    pub jkkhgganomh: u32,
    #[prost(uint32, tag = "9")]
    pub ekbpnhjmdnk: u32,
    #[prost(uint32, tag = "10")]
    pub goimhckfiej: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gelkmmkbmlc {
    #[prost(uint64, tag = "1")]
    pub bpoobfbanep: u64,
    #[prost(enumeration = "FightGameModeType", tag = "2")]
    pub mgmmifniiho: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkcijinoiof {
    #[prost(uint64, tag = "1")]
    pub id: u64,
    #[prost(enumeration = "FightGameModeType", tag = "2")]
    pub llkbfkbbppk: i32,
    #[prost(message, repeated, tag = "3")]
    pub lkdnpcpeddf: ::prost::alloc::vec::Vec<Neghnnkjcih>,
    #[prost(enumeration = "MatchUnitType", tag = "4")]
    pub r#type: i32,
    #[prost(uint64, tag = "5")]
    pub meacejkednl: u64,
    #[prost(uint64, tag = "6")]
    pub ndeigmkjikp: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehomgafnhhn {
    #[prost(uint32, tag = "6")]
    pub ikgkfndheih: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub jdbgjcelini: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmnbiifomme {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djhiekinedi {
    #[prost(message, repeated, tag = "2")]
    pub biobkcpikpa: ::prost::alloc::vec::Vec<Ehomgafnhhn>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkkamhlibkg {
    #[prost(uint32, tag = "4")]
    pub niajlhafjaa: u32,
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahkddjlkiab {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "15")]
    pub niajlhafjaa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igbgpkmcdkb {
    #[prost(uint32, tag = "12")]
    pub dnallopkkfi: u32,
    #[prost(int64, tag = "10")]
    pub end_time: i64,
    #[prost(uint32, tag = "3")]
    pub knhkanmiebi: u32,
    #[prost(int64, tag = "9")]
    pub begin_time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahjdibkmfjk {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpmcldlfnbp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub aaeiliipmni: ::prost::alloc::vec::Vec<Igbgpkmcdkb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agkgekaelan {
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    #[prost(bool, tag = "12")]
    pub cpjbgfbhlpe: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hconmoddebi {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppfoomknabl {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub hidiidjbgdj: u32,
    #[prost(message, repeated, tag = "8")]
    pub gooimkldihl: ::prost::alloc::vec::Vec<Agkgekaelan>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibmocbahbmg {
    #[prost(message, optional, tag = "6")]
    pub kncceafjpii: ::core::option::Option<Agkgekaelan>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oofcnheecnc {
    #[prost(uint32, tag = "14")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnjhffhobgl {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fapahlfhela {
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oihhfelphbo {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inkcmmngghj {
    #[prost(uint32, tag = "14")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcldagdldgb {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djbgiiclcog {
    #[prost(uint32, tag = "11")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Negdbmkemne {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibnmcdccblk {
    #[prost(uint32, tag = "13")]
    pub hidiidjbgdj: u32,
    #[prost(enumeration = "Bicjcmpmdll", tag = "1")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkhoccfaplk {
    #[prost(bool, tag = "9")]
    pub meiligdelep: bool,
    #[prost(bool, tag = "8")]
    pub bhhgdckmnik: bool,
    #[prost(uint32, tag = "4")]
    pub oanfadmgcmd: u32,
    #[prost(uint32, tag = "11")]
    pub dnallopkkfi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnknnjpofpc {
    #[prost(int64, tag = "8")]
    pub begin_time: i64,
    #[prost(int64, tag = "1")]
    pub end_time: i64,
    #[prost(uint32, tag = "3")]
    pub oanfadmgcmd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcncnddggco {
    #[prost(uint32, repeated, tag = "7")]
    pub dmmgmkpjlhp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iklbepghldf {
    #[prost(message, repeated, tag = "13")]
    pub klemcpedaoi: ::prost::alloc::vec::Vec<Hnknnjpofpc>,
    #[prost(message, repeated, tag = "3")]
    pub eeipdngajeb: ::prost::alloc::vec::Vec<Fkhoccfaplk>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kaigkgampff {
    #[prost(uint32, tag = "14")]
    pub oanfadmgcmd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdhlahfnkli {
    #[prost(uint32, tag = "6")]
    pub oanfadmgcmd: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekcedlgaiem {
    #[prost(uint32, tag = "10")]
    pub oanfadmgcmd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkdomenfemb {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub oanfadmgcmd: u32,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Noboplmcbko {
    #[prost(uint32, tag = "5")]
    pub aiaajmnhigl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkihpknadbh {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oodnfjefboa {
    #[prost(uint32, tag = "1")]
    pub dfdbmelhdpp: u32,
    #[prost(int64, tag = "2")]
    pub end_time: i64,
    #[prost(int64, tag = "11")]
    pub begin_time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epjboobjmam {
    #[prost(uint32, repeated, tag = "12")]
    pub ilioofkdokp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kiddllpkdhp {
    #[prost(message, repeated, tag = "4")]
    pub pbgglfnokpo: ::prost::alloc::vec::Vec<Oodnfjefboa>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pifhjdncjhg {
    #[prost(uint32, tag = "9")]
    pub ogfefdhipco: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmcibgnbdfa {
    #[prost(uint32, tag = "5")]
    pub ogfefdhipco: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehfbligihmb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihpkmgbbgpe {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbaeckjfcja {
    #[prost(uint32, tag = "12")]
    pub jkdaceoekll: u32,
    #[prost(uint32, tag = "13")]
    pub dmkhognonbl: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub igkjjpeealc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub skill_index: u32,
    #[prost(message, repeated, tag = "3")]
    pub lchclicihdm: ::prost::alloc::vec::Vec<Kfgkicflahn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhfogahjooe {
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<Fjojkdhlonn>,
    #[prost(uint32, tag = "3")]
    pub jkdaceoekll: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bobkjmpmifa {
    #[prost(uint32, tag = "2")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, tag = "9")]
    pub gnipfmoloja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kegbjdgmmli {
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<Fjojkdhlonn>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mddhjpbpmdd {
    #[prost(uint32, tag = "6")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "14")]
    pub slot: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmgekmjcmgb {
    #[prost(uint32, tag = "4")]
    pub promotion: u32,
    #[prost(uint32, tag = "15")]
    pub kkjcpmbdiac: u32,
    #[prost(uint32, tag = "5")]
    pub boebdgnebpf: u32,
    #[prost(message, repeated, tag = "1")]
    pub nfnlfdbband: ::prost::alloc::vec::Vec<Mddhjpbpmdd>,
    #[prost(message, optional, tag = "7")]
    pub sp: ::core::option::Option<AmountInfo>,
    #[prost(uint32, tag = "11")]
    pub exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmdgljlcknb {
    #[prost(uint32, repeated, tag = "13")]
    pub fidcmhfaodf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub slot: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cimdnofpjok {
    #[prost(uint32, tag = "9")]
    pub num: u32,
    #[prost(uint32, tag = "14")]
    pub kfknfjgpnnf: u32,
    #[prost(uint32, tag = "1")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecjjnhlpmbm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljeinlohmoc {
    #[prost(uint32, tag = "11")]
    pub jibpgpmhfib: u32,
    #[prost(uint32, tag = "13")]
    pub ocanjafkeio: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub amddinpkamc: u32,
    #[prost(uint32, tag = "8")]
    pub dfblfejdkog: u32,
    #[prost(message, repeated, tag = "9")]
    pub bakbgmboemd: ::prost::alloc::vec::Vec<Jmgekmjcmgb>,
    #[prost(uint32, tag = "14")]
    pub eojbnlfkncl: u32,
    #[prost(message, repeated, tag = "7")]
    pub lineup_list: ::prost::alloc::vec::Vec<Nmdgljlcknb>,
    #[prost(message, repeated, tag = "1")]
    pub bgkkodgilbj: ::prost::alloc::vec::Vec<Cimdnofpjok>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfmnggjhbpf {
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<Nmdgljlcknb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfganpochcb {
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<Nmdgljlcknb>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdoddcgpbce {
    #[prost(uint32, tag = "3")]
    pub slot: u32,
    #[prost(uint32, tag = "5")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "8")]
    pub boebdgnebpf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inoafmpfiam {
    #[prost(message, optional, tag = "3")]
    pub acfimcaahha: ::core::option::Option<Cimdnofpjok>,
    #[prost(message, optional, tag = "6")]
    pub hgiplfhaicb: ::core::option::Option<Jmgekmjcmgb>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmebbccpfdj {
    #[prost(uint32, tag = "12")]
    pub slot: u32,
    #[prost(uint32, tag = "3")]
    pub boebdgnebpf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chgfdplkpdo {
    #[prost(message, optional, tag = "12")]
    pub acfimcaahha: ::core::option::Option<Cimdnofpjok>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub hgiplfhaicb: ::core::option::Option<Jmgekmjcmgb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbpgmbhdhid {
    #[prost(uint32, tag = "8")]
    pub ocanjafkeio: u32,
    #[prost(uint32, tag = "5")]
    pub boebdgnebpf: u32,
    #[prost(uint32, tag = "6")]
    pub nogpfmppkjf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fiipmpjmgom {
    #[prost(uint32, tag = "2")]
    pub ocanjafkeio: u32,
    #[prost(message, optional, tag = "3")]
    pub hgiplfhaicb: ::core::option::Option<Jmgekmjcmgb>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfaeicbipmj {
    #[prost(uint32, tag = "4")]
    pub gnipfmoloja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hackdgdpkjm {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub gnipfmoloja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afndkcjfafg {
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjdingcceaa {
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<Fjojkdhlonn>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlkfplmmbih {
    #[prost(message, optional, tag = "11")]
    pub lineup: ::core::option::Option<Nmdgljlcknb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcnckbfbhka {
    #[prost(message, optional, tag = "11")]
    pub hgiplfhaicb: ::core::option::Option<Jmgekmjcmgb>,
    #[prost(uint32, tag = "5")]
    pub ocanjafkeio: u32,
    #[prost(message, repeated, tag = "9")]
    pub ihmohikgplk: ::prost::alloc::vec::Vec<Jmgekmjcmgb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbegcdbjggp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfcnfgcmmig {
    #[prost(uint32, repeated, tag = "1")]
    pub lkmelhafaim: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub blbnhcenabf: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub iikhkimnhke: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnapgjljnmn {
    #[prost(uint32, tag = "1")]
    pub odbjkadmlpk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imebhiocjhg {
    #[prost(uint32, tag = "13")]
    pub jibpgpmhfib: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjldpekbdak {
    #[prost(uint32, tag = "4")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "8")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pppkkpnlikf {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aneikcegcbg {
    #[prost(uint32, tag = "12")]
    pub dfblfejdkog: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmnphlhjeib {
    #[prost(uint32, tag = "7")]
    pub dfblfejdkog: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chkokdfcjai {
    #[prost(uint32, tag = "5")]
    pub odbjkadmlpk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmibmbbphjb {
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofaggimnmei {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkgahddfhjh {
    #[prost(uint32, tag = "11")]
    pub aiaajmnhigl: u32,
    #[prost(uint32, tag = "5")]
    pub deklmbanlie: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfbddafeklg {
    #[prost(uint32, tag = "10")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub hioldiglggj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pahnebbbmdl {
    #[prost(uint32, repeated, tag = "11")]
    pub mclliaglfih: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "13")]
    pub nbnaocmagnb: ::prost::alloc::vec::Vec<LogisticsScore>,
    #[prost(message, repeated, tag = "1")]
    pub pkhfidllmde: ::prost::alloc::vec::Vec<Bkgahddfhjh>,
    #[prost(message, repeated, tag = "9")]
    pub kgjidnjommg: ::prost::alloc::vec::Vec<Aohgcknjpnk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nedipinjkfi {
    #[prost(message, optional, tag = "5")]
    pub incepdmfkha: ::core::option::Option<Fhmefmkaplh>,
    #[prost(uint32, repeated, tag = "8")]
    pub gceokbcoijk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub ahkijaeejee: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub nkmckeioghk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub hhalhdlgckg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(map = "uint32, uint32", tag = "2")]
    pub ocajbgibcol: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "9")]
    pub ekaehnfhkie: u32,
    #[prost(message, optional, tag = "3")]
    pub gkfmanlpgkf: ::core::option::Option<Ehoellpncfk>,
    #[prost(message, repeated, tag = "12")]
    pub ehdgklcejfa: ::prost::alloc::vec::Vec<Imkaimecdkm>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub oeadkdmjnoe: ::core::option::Option<Pahnebbbmdl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iljglgikbod {
    #[prost(uint32, tag = "10")]
    pub afdcinmcbfp: u32,
    #[prost(uint32, tag = "14")]
    pub ekjlkndabin: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lobkgmpbfgf {
    #[prost(uint32, tag = "6")]
    pub olbbmfeknhj: u32,
    #[prost(message, repeated, tag = "10")]
    pub moepnnldcof: ::prost::alloc::vec::Vec<Iljglgikbod>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingShip {
    #[prost(uint32, tag = "5")]
    pub ship_id: u32,
    #[prost(message, repeated, tag = "4")]
    pub goods_list: ::prost::alloc::vec::Vec<Lobkgmpbfgf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifepafmegko {
    #[prost(uint32, tag = "12")]
    pub joaengpilmo: u32,
    #[prost(uint32, tag = "3")]
    pub gpgfapidcpc: u32,
    #[prost(uint32, tag = "8")]
    pub fjlkdbgfhpb: u32,
    #[prost(uint32, tag = "7")]
    pub cost_time: u32,
    #[prost(uint32, tag = "11")]
    pub cchogibhhkl: u32,
    #[prost(uint32, tag = "13")]
    pub gnnmampingg: u32,
    #[prost(uint32, tag = "6")]
    pub ncnkemflnia: u32,
    #[prost(uint32, tag = "1")]
    pub fgpnfkjfifg: u32,
    #[prost(message, optional, tag = "5")]
    pub ddklfphblfg: ::core::option::Option<AlleyPlacingShip>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phhflkingdm {
    #[prost(uint32, tag = "10")]
    pub hahjbnemkcp: u32,
    #[prost(uint32, tag = "11")]
    pub pgdddgkimcd: u32,
    #[prost(uint32, tag = "5")]
    pub bdiiaeonjih: u32,
    #[prost(uint32, tag = "6")]
    pub ciopmmfhage: u32,
    #[prost(uint32, tag = "3")]
    pub ilckcmgjlbp: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub fpdibibfbbm: u32,
    #[prost(uint32, tag = "13")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehoellpncfk {
    #[prost(uint32, tag = "10")]
    pub epccffbjdcm: u32,
    #[prost(bool, tag = "9")]
    pub kijkngocepa: bool,
    #[prost(uint32, repeated, tag = "14")]
    pub lnehilmgale: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub ijpjkhbbeod: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub blhkkdmjgma: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub lnnajefnhej: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elilgglbfei {
    #[prost(message, optional, tag = "8")]
    pub jpghhjknbbg: ::core::option::Option<Ehoellpncfk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pccmaahpbaa {
    #[prost(uint32, tag = "9")]
    pub cmkmjapikhf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elfkigcifhk {
    #[prost(uint32, repeated, tag = "14")]
    pub flnafohcolj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub hioldiglggj: u32,
    #[prost(uint32, tag = "13")]
    pub bkllbcifbmh: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub fdlmppfbnfa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub pkegahggoik: u32,
    #[prost(uint32, tag = "10")]
    pub fofjmppgojg: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub bfnkbfhnipm: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aohgcknjpnk {
    #[prost(message, repeated, tag = "9")]
    pub fiahnibafbi: ::prost::alloc::vec::Vec<Elfkigcifhk>,
    #[prost(uint32, tag = "12")]
    pub cost_time: u32,
    #[prost(uint32, tag = "14")]
    pub aiaajmnhigl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsScore {
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub cur_score: u32,
    #[prost(uint32, tag = "4")]
    pub last_max_score: u32,
    #[prost(uint32, tag = "6")]
    pub map_id: u32,
    #[prost(uint32, tag = "7")]
    pub max_score: u32,
    #[prost(uint32, tag = "11")]
    pub unlock_level: u32,
    #[prost(uint32, tag = "13")]
    pub last_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acmlpgofolm {
    #[prost(message, repeated, tag = "15")]
    pub mioemppbfdg: ::prost::alloc::vec::Vec<Aohgcknjpnk>,
    #[prost(bool, tag = "8")]
    pub oanjlhcgknb: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdbaooneljl {
    #[prost(message, repeated, tag = "11")]
    pub nbnaocmagnb: ::prost::alloc::vec::Vec<LogisticsScore>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcbghffcoge {
    #[prost(bool, tag = "13")]
    pub oanjlhcgknb: bool,
    #[prost(message, repeated, tag = "2")]
    pub nbnaocmagnb: ::prost::alloc::vec::Vec<LogisticsScore>,
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imkaimecdkm {
    #[prost(uint32, tag = "8")]
    pub ffgfcepldgf: u32,
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    #[prost(enumeration = "Hohcfnplgdd", tag = "3")]
    pub state: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndjgnpamgcb {
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogjgnoinpfp {
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kljmpedlpib {
    #[prost(message, optional, tag = "8")]
    pub bimkdfccflg: ::core::option::Option<Imkaimecdkm>,
    #[prost(uint32, tag = "4")]
    pub apcjhaloihp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apjabbafhgl {
    #[prost(uint32, tag = "4")]
    pub fgdankcalin: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akbhmimednb {
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kokdjfeejaj {
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgllddhpcab {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mklkmjebpkg {
    #[prost(uint32, tag = "10")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfolhomlidd {
    #[prost(uint32, tag = "9")]
    pub ekaehnfhkie: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpigmidddea {
    #[prost(message, repeated, tag = "14")]
    pub mioemppbfdg: ::prost::alloc::vec::Vec<Aohgcknjpnk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Echihgefoon {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub mioemppbfdg: ::prost::alloc::vec::Vec<Aohgcknjpnk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmfenffcnla {
    #[prost(message, optional, tag = "5")]
    pub oeadkdmjnoe: ::core::option::Option<Pahnebbbmdl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhmefmkaplh {
    #[prost(uint32, tag = "2")]
    pub gdecgdmbchf: u32,
    #[prost(uint32, tag = "9")]
    pub cpdbdcelmcm: u32,
    #[prost(map = "uint32, uint32", tag = "13")]
    pub okbkokalikp: ::std::collections::HashMap<u32, u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngojblgfibn {
    #[prost(message, optional, tag = "5")]
    pub nelbolpgbib: ::core::option::Option<Fhmefmkaplh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgldcciminf {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfeclpmcajm {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub kgjidnjommg: ::prost::alloc::vec::Vec<Aohgcknjpnk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikmehgcafld {
    #[prost(map = "uint32, uint32", tag = "15")]
    pub ocajbgibcol: ::std::collections::HashMap<u32, u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdpckkpngkh {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mceongcbohc {
    #[prost(uint32, tag = "15")]
    pub pnifpkagofk: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fflkodfeafl {
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Docpdkflhbi {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phhjbfdjpki {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Peibgogcpnk {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcilcmcnoeb {
    #[prost(uint32, tag = "4")]
    pub nlgcpjibpjh: u32,
    #[prost(uint32, tag = "10")]
    pub r#type: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfdmodmlole {
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(uint32, tag = "3")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lccaialoael {
    #[prost(uint32, repeated, tag = "14")]
    pub jeklfcamdki: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub jeeaopnmllo: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "3")]
    pub cdihbhlbgap: ::prost::alloc::vec::Vec<Gfdmodmlole>,
    #[prost(uint32, repeated, tag = "10")]
    pub lcfncpmjick: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "11")]
    pub relic_list: ::prost::alloc::vec::Vec<Fcilcmcnoeb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jikbkkkbpag {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbpfmgokpkk {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub bkcflgbcjmi: ::core::option::Option<Lccaialoael>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eijkgdkdppm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phidmijcana {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub bkcflgbcjmi: ::core::option::Option<Lccaialoael>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataCsReq {
    #[prost(bool, tag = "1")]
    pub is_get_all: bool,
    #[prost(uint32, repeated, tag = "12")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipRelic {
    #[prost(uint32, tag = "12")]
    pub r#type: u32,
    #[prost(uint32, tag = "5")]
    pub relic_unique_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Avatar {
    #[prost(uint32, tag = "13")]
    pub promotion: u32,
    #[prost(uint32, tag = "5")]
    pub equipment_unique_id: u32,
    #[prost(uint64, tag = "14")]
    pub first_met_timestamp: u64,
    #[prost(uint32, tag = "15")]
    pub dressed_skin_id: u32,
    #[prost(bool, tag = "2")]
    pub niekopdjolm: bool,
    #[prost(uint32, tag = "1")]
    pub base_avatar_id: u32,
    #[prost(message, repeated, tag = "12")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(uint32, tag = "11")]
    pub rank: u32,
    #[prost(message, repeated, tag = "7")]
    pub equip_relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    #[prost(uint32, repeated, tag = "6")]
    pub has_taken_reward_level_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub exp: u32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataScRsp {
    #[prost(uint32, repeated, tag = "5")]
    pub unlocked_skin_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "3")]
    pub is_all: bool,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpCsReq {
    #[prost(message, optional, tag = "8")]
    pub item_cost: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "2")]
    pub base_avatar_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpScRsp {
    #[prost(message, repeated, tag = "5")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockSkilltreeCsReq {
    #[prost(message, repeated, tag = "15")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
    #[prost(uint32, tag = "6")]
    pub point_id: u32,
    #[prost(uint32, tag = "11")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockSkilltreeScRsp {
    #[prost(uint32, tag = "5")]
    pub point_id: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub base_avatar_id: u32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteAvatarCsReq {
    #[prost(uint32, tag = "9")]
    pub base_avatar_id: u32,
    #[prost(message, repeated, tag = "7")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteAvatarScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressAvatarCsReq {
    #[prost(uint32, tag = "2")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "14")]
    pub equipment_unique_id: u32,
    #[prost(uint32, tag = "15")]
    pub base_avatar_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressAvatarScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffEquipmentCsReq {
    #[prost(uint32, tag = "7")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "14")]
    pub base_avatar_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffEquipmentScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddAvatarScNotify {
    #[prost(bool, tag = "10")]
    pub cdhekghjjce: bool,
    #[prost(enumeration = "AddAvatarSrc", tag = "15")]
    pub src: i32,
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "12")]
    pub base_avatar_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpAvatarCsReq {
    #[prost(uint32, tag = "3")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "13")]
    pub rank: u32,
    #[prost(uint32, tag = "2")]
    pub base_avatar_id: u32,
    #[prost(message, optional, tag = "5")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpAvatarScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressRelicParam {
    #[prost(uint32, tag = "14")]
    pub relic_unique_id: u32,
    #[prost(uint32, tag = "13")]
    pub relic_slot: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarCsReq {
    #[prost(uint32, tag = "2")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "15")]
    pub base_avatar_id: u32,
    #[prost(message, repeated, tag = "1")]
    pub param_list: ::prost::alloc::vec::Vec<DressRelicParam>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffRelicCsReq {
    #[prost(uint32, repeated, tag = "8")]
    pub relic_type_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub base_avatar_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffRelicScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojflcokojlp {
    #[prost(uint32, tag = "2")]
    pub promotion: u32,
    #[prost(uint32, tag = "1")]
    pub base_avatar_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igmfggcgfof {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub iineebblofp: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icjghokkefk {
    #[prost(uint32, tag = "3")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "8")]
    pub ehnpdalfphp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfacgbgecnd {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ididhdpamgm {
    #[prost(uint32, tag = "2")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jloiflleofb {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihjoibkancp {
    #[prost(uint32, tag = "8")]
    pub ehnpdalfphp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibbhhkagjgf {
    #[prost(uint32, tag = "1")]
    pub edglnhhadgl: u32,
    #[prost(bool, tag = "2")]
    pub niekopdjolm: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abfgbcgngph {
    #[prost(uint32, tag = "8")]
    pub edglnhhadgl: u32,
    #[prost(bool, tag = "2")]
    pub niekopdjolm: bool,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultCsReq {
    #[prost(uint32, tag = "2")]
    pub pmolfgnbgaa: u32,
    #[prost(map = "string, uint32", tag = "4")]
    pub gkemolkdmdf: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    #[prost(uint32, tag = "11")]
    pub battle_id: u32,
    #[prost(uint32, tag = "5")]
    pub res_version: u32,
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    #[prost(bool, tag = "9")]
    pub is_auto_fight: bool,
    #[prost(enumeration = "BattleEndStatus", tag = "15")]
    pub end_status: i32,
    #[prost(uint32, tag = "13")]
    pub cost_time: u32,
    #[prost(uint32, tag = "3")]
    pub dkjffocifod: u32,
    #[prost(bool, tag = "6")]
    pub okapegkpnaa: bool,
    #[prost(string, tag = "7")]
    pub ngffkiepbol: ::prost::alloc::string::String,
    #[prost(bytes = "vec", tag = "1")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
    #[prost(message, repeated, tag = "12")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    #[prost(message, optional, tag = "14")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(bool, tag = "10")]
    pub is_ai_consider_ultra_skill: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultScRsp {
    #[prost(bool, tag = "8")]
    pub dehnokcapmd: bool,
    #[prost(uint32, tag = "2")]
    pub event_id: u32,
    #[prost(message, repeated, tag = "15")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(uint32, tag = "4")]
    pub battle_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub jdenfbijgon: u32,
    #[prost(string, tag = "13")]
    pub affnalechoi: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub cfdjmjbdagj: u32,
    #[prost(enumeration = "BattleEndStatus", tag = "11")]
    pub end_status: i32,
    #[prost(string, tag = "5")]
    pub njaeinhfbem: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub stage_id: u32,
    #[prost(message, optional, tag = "10")]
    pub dmmpidajeoo: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "253")]
    pub lghlioedodo: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "3")]
    pub pdcecpocknh: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub mismatch_turn_count: u32,
    #[prost(message, optional, tag = "1")]
    pub lplplklhcba: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iiimokdikch {
    #[prost(enumeration = "Cmknmggeipi", tag = "5")]
    pub flmiajfhnna: i32,
    #[prost(message, optional, tag = "3")]
    pub stt: ::core::option::Option<BattleStatistics>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcggopfckam {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoScRsp {
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(enumeration = "BattleEndStatus", tag = "8")]
    pub last_end_status: i32,
    #[prost(uint32, tag = "10")]
    pub ojbeoghaien: u32,
    #[prost(message, optional, tag = "15")]
    pub ffbpkghgmjm: ::core::option::Option<Fjojkdhlonn>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncClientResVersionCsReq {
    #[prost(uint32, tag = "15")]
    pub res_version: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncClientResVersionScRsp {
    #[prost(uint32, tag = "2")]
    pub res_version: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitBattleScNotify {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ieeihlolfef {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glmhmbjfbie {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(bool, tag = "11")]
    pub akofnpdbine: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Liibiibjfha {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnofmdoajeh {
    #[prost(bool, tag = "2")]
    pub ljjoofdigho: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghfafddjgle {
    #[prost(message, optional, tag = "10")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(enumeration = "Cmknmggeipi", tag = "15")]
    pub flmiajfhnna: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cljmcfofaco {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebijklpebcm {
    #[prost(uint32, repeated, tag = "14")]
    pub hfnmbdadpoh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub ejmlfaapfai: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkjciapadjo {
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "13")]
    pub hfnmbdadpoh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub ejmlfaapfai: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfijoogpeci {
    #[prost(uint32, tag = "13")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmngjdakanj {
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "12")]
    pub id: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpllmoaebbk {
    #[prost(uint64, tag = "14")]
    pub hobadiadiif: u64,
    #[prost(uint64, tag = "2")]
    pub icjhnohkela: u64,
    #[prost(uint64, tag = "4")]
    pub mendemjnfln: u64,
    #[prost(uint64, tag = "3")]
    pub igfhfoeleem: u64,
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    #[prost(uint64, tag = "9")]
    pub hlphcaamilh: u64,
    #[prost(uint32, tag = "12")]
    pub lopmdkjmonf: u32,
    #[prost(uint64, tag = "15")]
    pub dobphldfkij: u64,
    #[prost(uint64, tag = "8")]
    pub lndmagbjdlo: u64,
    #[prost(uint32, tag = "5")]
    pub kppnnabjpkf: u32,
    #[prost(uint64, tag = "10")]
    pub aefkhdaklcl: u64,
    #[prost(enumeration = "Dodcppolndh", tag = "11")]
    pub epookopaiof: i32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phnlggnpbai {
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(enumeration = "Gcfaflhgkpb", tag = "13")]
    pub r#type: i32,
    #[prost(uint32, tag = "11")]
    pub mdcfgcppaof: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnhpjipghon {
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agclieahlkj {
    #[prost(uint32, tag = "12")]
    pub fapgonaoenm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okallmapcla {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OptionalReward {
    #[prost(uint32, tag = "1")]
    pub optional_reward_id: u32,
    #[prost(uint32, tag = "9")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnlbeljilgg {
    #[prost(message, repeated, tag = "13")]
    pub bbbkjbcefam: ::prost::alloc::vec::Vec<OptionalReward>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obnnngbccik {
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnehceiilal {
    #[prost(enumeration = "AvatarType", tag = "11")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "9")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifbdahalclh {
    #[prost(message, repeated, tag = "8")]
    pub kmolligmkhi: ::prost::alloc::vec::Vec<Nnehceiilal>,
    #[prost(uint32, tag = "14")]
    pub jnghgcjelph: u32,
    #[prost(uint32, tag = "1")]
    pub gdnmailibco: u32,
    #[prost(uint32, tag = "7")]
    pub codchhecdnk: u32,
    #[prost(bool, tag = "10")]
    pub jfggpmnloml: bool,
    #[prost(uint32, repeated, tag = "2")]
    pub hbijimakfik: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub nldbmcdiddo: u32,
    #[prost(uint32, tag = "3")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub lkbidhgcgik: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Labndinhmpj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aihgeigecki {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub elfejgoegcj: ::prost::alloc::vec::Vec<Ifbdahalclh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Modfpkkndjn {
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "8")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dodhlcpbeib {
    #[prost(uint32, tag = "3")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "1")]
    pub kmolligmkhi: ::prost::alloc::vec::Vec<Modfpkkndjn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjfpckdgabi {
    #[prost(message, optional, tag = "9")]
    pub bdklapbaoff: ::core::option::Option<Ifbdahalclh>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcaabgfkjhh {
    #[prost(uint32, tag = "9")]
    pub nldbmcdiddo: u32,
    #[prost(uint32, tag = "12")]
    pub odbjkadmlpk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjpcpomfmkb {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub bdklapbaoff: ::core::option::Option<Ifbdahalclh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfakampdfoh {
    #[prost(message, repeated, tag = "1")]
    pub kmolligmkhi: ::prost::alloc::vec::Vec<Modfpkkndjn>,
    #[prost(uint32, tag = "5")]
    pub odbjkadmlpk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clkplpjeljn {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub bdklapbaoff: ::core::option::Option<Ifbdahalclh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jejiboblomm {
    #[prost(uint32, tag = "10")]
    pub doncfepcdjc: u32,
    #[prost(uint32, tag = "5")]
    pub odbjkadmlpk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcfoamiiimg {
    #[prost(message, optional, tag = "6")]
    pub bdklapbaoff: ::core::option::Option<Ifbdahalclh>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hcfahafalod {
    #[prost(uint32, tag = "2")]
    pub odbjkadmlpk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Appnpodlloo {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub odbjkadmlpk: u32,
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flbggaeonoa {
    #[prost(uint32, tag = "6")]
    pub odbjkadmlpk: u32,
    #[prost(bool, tag = "15")]
    pub klfpokblolh: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkimmiicbml {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub bdklapbaoff: ::core::option::Option<Ifbdahalclh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjoehmmdkea {
    #[prost(uint32, tag = "6")]
    pub odbjkadmlpk: u32,
    #[prost(bool, tag = "8")]
    pub bmikmflhmjd: bool,
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub lkbidhgcgik: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glojjlcilhl {
    #[prost(message, optional, tag = "9")]
    pub bdklapbaoff: ::core::option::Option<Ifbdahalclh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbnihoejkpc {
    #[prost(uint32, tag = "3")]
    pub ijjfhfincfd: u32,
    #[prost(message, optional, tag = "7")]
    pub leiglhbeaan: ::core::option::Option<Nlfkoddiafa>,
    #[prost(uint32, tag = "4")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "13")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, tag = "11")]
    pub igncekegblh: u32,
    #[prost(uint32, tag = "15")]
    pub hlfjjlgkjci: u32,
    #[prost(uint32, tag = "10")]
    pub cpjbgfbhlpe: u32,
    #[prost(bool, tag = "1")]
    pub oeeelifgfle: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enehbffiogh {
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    #[prost(uint64, tag = "8")]
    pub kamimbjhobi: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmlilpfiidn {
    #[prost(uint32, tag = "1")]
    pub pafenhngbpi: u32,
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iodpfnajifd {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eeladibicji {
    #[prost(message, repeated, tag = "7")]
    pub obnffngnkfm: ::prost::alloc::vec::Vec<Enehbffiogh>,
    #[prost(uint32, tag = "4")]
    pub knipkmeghia: u32,
    #[prost(message, repeated, tag = "2")]
    pub elfejgoegcj: ::prost::alloc::vec::Vec<Fbnihoejkpc>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "8")]
    pub lpedbojeaid: ::prost::alloc::vec::Vec<Nmlilpfiidn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plminjlicdd {
    #[prost(uint32, tag = "10")]
    pub nnllcnegbgn: u32,
    #[prost(uint32, tag = "7")]
    pub nlmhmojlifm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofoekmkibeh {
    #[prost(uint32, tag = "2")]
    pub nnllcnegbgn: u32,
    #[prost(uint32, tag = "1")]
    pub nlmhmojlifm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbfiakcjcad {
    #[prost(message, optional, tag = "15")]
    pub fdghhllajjp: ::core::option::Option<Plminjlicdd>,
    #[prost(message, optional, tag = "14")]
    pub efocfephghg: ::core::option::Option<Ofoekmkibeh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfpafgpmfib {
    #[prost(uint32, repeated, tag = "14")]
    pub agblmgmiebi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub odbjkadmlpk: u32,
    #[prost(message, optional, tag = "3")]
    pub leiglhbeaan: ::core::option::Option<Cbfiakcjcad>,
    #[prost(uint32, repeated, tag = "7")]
    pub agkdhdbfocc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebpeajodomi {
    #[prost(message, repeated, tag = "5")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    #[prost(message, optional, tag = "8")]
    pub leiglhbeaan: ::core::option::Option<Nlfkoddiafa>,
    #[prost(message, optional, tag = "10")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "11")]
    pub dggagjlffgl: ::core::option::Option<Ekoofibmile>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdjkjlkkpep {
    #[prost(uint32, tag = "6")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, tag = "15")]
    pub daimooemhjf: u32,
    #[prost(bool, tag = "12")]
    pub ikcmdojajlk: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Admffccheil {
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "12")]
    pub dggagjlffgl: ::core::option::Option<Ekoofibmile>,
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iinhfgeimpo {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fikamflmjha {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkamlmppdgl {
    #[prost(uint32, tag = "10")]
    pub fckicpefihi: u32,
    #[prost(message, optional, tag = "15")]
    pub jjbhoplpacc: ::core::option::Option<Nmlilpfiidn>,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub ijjfhfincfd: u32,
    #[prost(uint32, tag = "8")]
    pub knipkmeghia: u32,
    #[prost(uint32, tag = "4")]
    pub hlfjjlgkjci: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub mhicpdeekng: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub odbjkadmlpk: u32,
    #[prost(bool, tag = "1")]
    pub bmikmflhmjd: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jghjjfejplg {
    #[prost(uint32, tag = "3")]
    pub monster_id: u32,
    #[prost(uint32, tag = "7")]
    pub djdfgcndibo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhokbbmldlk {
    #[prost(uint32, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcmiggaggmc {
    #[prost(uint32, tag = "10")]
    pub ihnfpaokkba: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gljplkjdmkl {
    #[prost(message, optional, tag = "10")]
    pub clkmjhfacog: ::core::option::Option<Nhokbbmldlk>,
    #[prost(message, optional, tag = "2")]
    pub hbjdpfbknkd: ::core::option::Option<Pcmiggaggmc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekoofibmile {
    #[prost(uint32, tag = "15")]
    pub odbjkadmlpk: u32,
    #[prost(message, optional, tag = "4")]
    pub leiglhbeaan: ::core::option::Option<Gljplkjdmkl>,
    #[prost(uint32, tag = "3")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "10")]
    pub ogahmedokne: u32,
    #[prost(uint32, tag = "5")]
    pub kmjmkghelki: u32,
    #[prost(uint32, tag = "9")]
    pub hlfjjlgkjci: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "14")]
    pub extra_lineup_type: i32,
    #[prost(message, repeated, tag = "12")]
    pub cdihbhlbgap: ::prost::alloc::vec::Vec<Jghjjfejplg>,
    #[prost(enumeration = "Kgfbcefhgbj", tag = "13")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdfagmbmoja {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmooenidjll {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    #[prost(message, optional, tag = "15")]
    pub dggagjlffgl: ::core::option::Option<Ekoofibmile>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajfekfecjcl {
    #[prost(enumeration = "ExtraLineupType", tag = "12")]
    pub extra_lineup_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eanejdakefi {
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fogjbfmalka {
    #[prost(message, repeated, tag = "5")]
    pub cmiilcahgob: ::prost::alloc::vec::Vec<Lnjpfnobckn>,
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnjpfnobckn {
    #[prost(uint32, tag = "5")]
    pub gkfjeopccdp: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihcmpieknfb {
    #[prost(message, optional, tag = "3")]
    pub camnmgihjhg: ::core::option::Option<Cflihcheajl>,
    #[prost(uint32, tag = "13")]
    pub igncekegblh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jocgpnelobk {
    #[prost(uint32, tag = "12")]
    pub igncekegblh: u32,
    #[prost(message, optional, tag = "10")]
    pub camnmgihjhg: ::core::option::Option<Jiebeljfdnb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceiikiifbbb {
    #[prost(message, optional, tag = "13")]
    pub camnmgihjhg: ::core::option::Option<Njiejblojdh>,
    #[prost(uint32, tag = "8")]
    pub igncekegblh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cflihcheajl {
    #[prost(uint32, tag = "3")]
    pub ogahmedokne: u32,
    #[prost(uint32, tag = "12")]
    pub cljlifmfbke: u32,
    #[prost(message, repeated, tag = "8")]
    pub lineup_list: ::prost::alloc::vec::Vec<Lihcdmopjfn>,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jiebeljfdnb {
    #[prost(uint32, tag = "7")]
    pub cljlifmfbke: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub nnllcnegbgn: u32,
    #[prost(message, repeated, tag = "6")]
    pub lineup_list: ::prost::alloc::vec::Vec<Lihcdmopjfn>,
    #[prost(uint32, tag = "12")]
    pub nlmhmojlifm: u32,
    #[prost(uint32, tag = "10")]
    pub oggklhikobo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njiejblojdh {
    #[prost(message, repeated, tag = "11")]
    pub lineup_list: ::prost::alloc::vec::Vec<Lihcdmopjfn>,
    #[prost(uint32, tag = "9")]
    pub nnllcnegbgn: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "10")]
    pub cljlifmfbke: u32,
    #[prost(uint32, tag = "8")]
    pub nlmhmojlifm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lihcdmopjfn {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Oggldccfckj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oggldccfckj {
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(enumeration = "AvatarType", tag = "12")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "6")]
    pub index: u32,
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dopnpiiacag {
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Badlaandlnn {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
    #[prost(message, optional, tag = "4")]
    pub ffpclkceebe: ::core::option::Option<Ihcmpieknfb>,
    #[prost(message, optional, tag = "2")]
    pub ifdhlndahhk: ::core::option::Option<Jocgpnelobk>,
    #[prost(message, optional, tag = "5")]
    pub bhacmobjpne: ::core::option::Option<Ceiikiifbbb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbmdggdknmb {
    #[prost(uint32, tag = "14")]
    pub daimooemhjf: u32,
    #[prost(bool, tag = "5")]
    pub bmikmflhmjd: bool,
    #[prost(uint32, tag = "11")]
    pub kljpbaagnfn: u32,
    #[prost(bool, tag = "7")]
    pub nagjmpmhmmc: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oefemmiagig {
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(uint32, tag = "10")]
    pub unique_id: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, tag = "13")]
    pub tid: u32,
    #[prost(uint32, tag = "1")]
    pub rank: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipofinflfne {
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
    #[prost(uint32, tag = "12")]
    pub tid: u32,
    #[prost(uint32, tag = "5")]
    pub main_affix_id: u32,
    #[prost(message, repeated, tag = "10")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmgcmmojnph {
    #[prost(map = "uint32, message", tag = "9")]
    pub pbceiaobico: ::std::collections::HashMap<u32, Ipofinflfne>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdeaocdjmag {
    #[prost(message, optional, tag = "15")]
    pub ckioklmjcbg: ::core::option::Option<Gbmdggdknmb>,
    #[prost(uint32, repeated, tag = "13")]
    pub agkdhdbfocc: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "uint32, message", tag = "8")]
    pub kckmgdgifif: ::std::collections::HashMap<u32, Oefemmiagig>,
    #[prost(message, optional, tag = "12")]
    pub pjjocdbjofo: ::core::option::Option<Gbmdggdknmb>,
    #[prost(bool, tag = "10")]
    pub ppnagbnioao: bool,
    #[prost(map = "uint32, message", tag = "7")]
    pub padhagkggpb: ::std::collections::HashMap<u32, Fmgcmmojnph>,
    #[prost(uint32, repeated, tag = "2")]
    pub agblmgmiebi: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlfkoddiafa {
    #[prost(message, optional, tag = "7")]
    pub efocfephghg: ::core::option::Option<Pdeaocdjmag>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdihpjgdmdl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eobijbhdlbp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhccbofijkd {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjdbiheodfa {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fppnhghkkpf {
    #[prost(bool, tag = "12")]
    pub jcjhnicmmcb: bool,
    #[prost(uint32, tag = "1")]
    pub ijjfhfincfd: u32,
    #[prost(uint32, tag = "7")]
    pub phase: u32,
    #[prost(uint32, tag = "14")]
    pub fckicpefihi: u32,
    #[prost(bool, tag = "4")]
    pub bmikmflhmjd: bool,
    #[prost(message, repeated, tag = "2")]
    pub kmjbhkflnnf: ::prost::alloc::vec::Vec<BattleTarget>,
    #[prost(bool, tag = "11")]
    pub jekaainpaph: bool,
    #[prost(uint32, tag = "9")]
    pub hlfjjlgkjci: u32,
    #[prost(uint32, tag = "8")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, tag = "15")]
    pub kibkjoalook: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendMsgCsReq {
    #[prost(message, optional, tag = "14")]
    pub ggadmjhlomj: ::core::option::Option<Bienebceiof>,
    #[prost(uint32, tag = "11")]
    pub extra_id: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub gjbfephalog: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, tag = "2")]
    pub message_text: ::prost::alloc::string::String,
    #[prost(enumeration = "MsgType", tag = "7")]
    pub message_type: i32,
    #[prost(enumeration = "ChatType", tag = "12")]
    pub chat_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendMsgScRsp {
    #[prost(uint64, tag = "12")]
    pub end_time: u64,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChatMessageData {
    #[prost(message, optional, tag = "11")]
    pub ggadmjhlomj: ::core::option::Option<Bienebceiof>,
    #[prost(uint32, tag = "1")]
    pub extra_id: u32,
    #[prost(enumeration = "MsgType", tag = "10")]
    pub message_type: i32,
    #[prost(uint32, tag = "7")]
    pub sender_id: u32,
    #[prost(uint64, tag = "2")]
    pub timestamp: u64,
    #[prost(string, tag = "5")]
    pub content: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RevcMsgScNotify {
    #[prost(message, optional, tag = "12")]
    pub ggadmjhlomj: ::core::option::Option<Bienebceiof>,
    #[prost(uint32, tag = "11")]
    pub cmmildghfnl: u32,
    #[prost(enumeration = "ChatType", tag = "4")]
    pub chat_type: i32,
    #[prost(uint32, tag = "7")]
    pub extra_id: u32,
    #[prost(enumeration = "MsgType", tag = "8")]
    pub message_type: i32,
    #[prost(string, tag = "6")]
    pub message_text: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub ghojifhngmc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateMsgOfflineUsersScNotify {
    #[prost(uint32, repeated, tag = "10")]
    pub contact_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryCsReq {
    #[prost(uint32, tag = "10")]
    pub contact_id: u32,
    #[prost(uint32, tag = "13")]
    pub ienomggikon: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryScRsp {
    #[prost(message, repeated, tag = "10")]
    pub chat_message_list: ::prost::alloc::vec::Vec<ChatMessageData>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub ienomggikon: u32,
    #[prost(uint32, tag = "9")]
    pub contact_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdipccbfiih {
    #[prost(int64, tag = "12")]
    pub hpcgpipbaae: i64,
    #[prost(uint32, tag = "8")]
    pub contact_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpnndabefof {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkkjlfkfhoi {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub fpbdeillhkl: ::prost::alloc::vec::Vec<Pdipccbfiih>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nclbdpodake {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkbjojoeemi {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub fhbjkkdbenm: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfjbjhnomli {
    #[prost(bool, tag = "11")]
    pub fnmhmaaaoco: bool,
    #[prost(uint32, tag = "7")]
    pub extra_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljiafjplamf {
    #[prost(bool, tag = "6")]
    pub fnmhmaaaoco: bool,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub extra_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjmgppakncc {
    #[prost(uint32, repeated, tag = "6")]
    pub iefnmebhfal: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhialaiofgf {
    #[prost(uint32, repeated, tag = "2")]
    pub iefnmebhfal: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aijcjbpgmnd {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phikaanmebd {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub contact_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibhfigdhelo {
    #[prost(message, optional, tag = "5")]
    pub kdiacjecjjp: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blhoegdlhna {
    #[prost(message, optional, tag = "6")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hiofjoenjdn {
    #[prost(uint32, repeated, tag = "10")]
    pub loppgjflape: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fakolehajkj {
    #[prost(message, repeated, tag = "1")]
    pub bbmakfmbpgj: ::prost::alloc::vec::Vec<Hiofjoenjdn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppcdakhjnoi {
    #[prost(uint32, tag = "6")]
    pub nklcahlddng: u32,
    #[prost(bool, tag = "13")]
    pub cndkpfbniaj: bool,
    #[prost(uint32, tag = "12")]
    pub nndgbonihkk: u32,
    #[prost(message, optional, tag = "1385")]
    pub lakdedcdadm: ::core::option::Option<Lnopmppabkj>,
    #[prost(message, optional, tag = "1510")]
    pub kokjjdoohfe: ::core::option::Option<Cmapjfjpcbf>,
    #[prost(uint32, tag = "9")]
    pub pbldjechefo: u32,
    #[prost(bool, tag = "504")]
    pub aimfmlmgofb: bool,
    #[prost(uint32, tag = "3")]
    pub fdliemnnodj: u32,
    #[prost(uint32, tag = "14")]
    pub njbfpkkbmfa: u32,
    #[prost(uint32, repeated, tag = "1676")]
    pub fngcpcepiab: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub llnlnkhohai: u32,
    #[prost(message, optional, tag = "843")]
    pub bhkpajfjcom: ::core::option::Option<Kegpaiejbge>,
    #[prost(enumeration = "Gnebieaojca", tag = "1")]
    pub ngjohgoeapb: i32,
    #[prost(int32, tag = "470")]
    pub gcchbpkbflc: i32,
    #[prost(uint32, tag = "5")]
    pub dplmdoabcaj: u32,
    #[prost(enumeration = "Jjhpamhfcef", tag = "11")]
    pub bpamhololak: i32,
    #[prost(uint32, tag = "10")]
    pub eojdbnephfb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kikbffcalfn {
    #[prost(uint32, tag = "4")]
    pub chahmghmepc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acnfdnhmmpm {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub jdppohpecdm: ::core::option::Option<Ppcdakhjnoi>,
    #[prost(uint32, tag = "11")]
    pub ihejgncekcf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlmibgincan {
    #[prost(uint32, tag = "11")]
    pub kgjdelhgfgb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpchlmgocba {
    #[prost(uint32, tag = "5")]
    pub kgjdelhgfgb: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkecdcgkaao {
    #[prost(uint32, tag = "13")]
    pub ieikjimjcci: u32,
    #[prost(uint32, tag = "5")]
    pub monster_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aamgninoole {
    #[prost(uint32, tag = "9")]
    pub cmgfgjphini: u32,
    #[prost(bool, tag = "8")]
    pub hlcblcpdlip: bool,
    #[prost(message, repeated, tag = "5")]
    pub cfnoflkjhbi: ::prost::alloc::vec::Vec<Jkecdcgkaao>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpjonejcofl {
    #[prost(uint32, repeated, tag = "10")]
    pub kbgdkbdkdkm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub fecmkacimjc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnhghpfoldf {
    #[prost(message, optional, tag = "8")]
    pub pcmkndbnhfi: ::core::option::Option<Bpjonejcofl>,
    #[prost(message, optional, tag = "11")]
    pub likalinpfaa: ::core::option::Option<Aamgninoole>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgicdahdhjd {
    #[prost(message, optional, tag = "2")]
    pub likalinpfaa: ::core::option::Option<Aamgninoole>,
    #[prost(message, optional, tag = "7")]
    pub pcmkndbnhfi: ::core::option::Option<Bpjonejcofl>,
    #[prost(message, optional, tag = "3")]
    pub ljijngcdpme: ::core::option::Option<Pnhghpfoldf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oglpkndgkig {
    #[prost(message, optional, tag = "6")]
    pub leiglhbeaan: ::core::option::Option<Pgicdahdhjd>,
    #[prost(enumeration = "Pgnfehpijne", tag = "3")]
    pub pajpmpkdekf: i32,
    #[prost(enumeration = "Lkokifliddm", tag = "12")]
    pub bbfjlpohola: i32,
    #[prost(uint32, tag = "15")]
    pub dnllclbflnh: u32,
    #[prost(uint32, tag = "1")]
    pub maiandbjhob: u32,
    #[prost(uint32, tag = "5")]
    pub kggiencobnl: u32,
    #[prost(uint32, tag = "10")]
    pub pdhnhgppcic: u32,
    #[prost(uint32, tag = "13")]
    pub id: u32,
    #[prost(uint32, tag = "11")]
    pub nfdibiejpkp: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub nconopgnkjk: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "2")]
    pub dkfmfnbcfmj: bool,
    #[prost(bool, tag = "7")]
    pub difpijcgpih: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijgieoommpj {
    #[prost(message, repeated, tag = "2")]
    pub bkmmdolfmgj: ::prost::alloc::vec::Vec<Oglpkndgkig>,
    #[prost(uint32, tag = "15")]
    pub dnejgnemhpp: u32,
    #[prost(uint32, tag = "1")]
    pub khmfkajjnko: u32,
    #[prost(uint32, tag = "5")]
    pub nddkggmodgj: u32,
    #[prost(uint32, tag = "4")]
    pub nofnfaheifb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anjkpolnlpc {
    #[prost(uint32, tag = "4")]
    pub kggiencobnl: u32,
    #[prost(uint32, tag = "3")]
    pub kgjdelhgfgb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjpjgjjgckj {
    #[prost(uint32, tag = "5")]
    pub panhfddblnh: u32,
    #[prost(message, optional, tag = "10")]
    pub beeokjmnjkk: ::core::option::Option<Lnopmppabkj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jijokdnlllp {
    #[prost(uint32, tag = "2")]
    pub kpkkpaajnjn: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub npelmbfbljh: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "11")]
    pub iclcjnhhmaf: ::prost::alloc::vec::Vec<Anjkpolnlpc>,
    #[prost(uint32, tag = "9")]
    pub nlobghjngce: u32,
    #[prost(message, optional, tag = "6")]
    pub jebbegoojha: ::core::option::Option<Ijgieoommpj>,
    #[prost(enumeration = "Pgnfehpijne", tag = "14")]
    pub ogheiejllji: i32,
    #[prost(message, optional, tag = "5")]
    pub acojocpgkjf: ::core::option::Option<Jjpjgjjgckj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhomnplonkd {
    #[prost(int32, tag = "14")]
    pub agjnhjfodch: i32,
    #[prost(uint32, tag = "5")]
    pub cfhhckobiim: u32,
    #[prost(int32, tag = "8")]
    pub jlkoecdfajj: i32,
    #[prost(uint32, tag = "13")]
    pub bchdapefaaa: u32,
    #[prost(message, optional, tag = "12")]
    pub phdkpjeigin: ::core::option::Option<Jijokdnlllp>,
    #[prost(uint32, tag = "4")]
    pub id: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub ahblpkkfnni: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub naobapkknki: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub fafjacibicd: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipfafoacmoo {
    #[prost(uint32, tag = "3")]
    pub ikekhaoomcl: u32,
    #[prost(uint32, tag = "4")]
    pub ejmlfaapfai: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hblibchgpnk {
    #[prost(message, repeated, tag = "2")]
    pub ekbpmknamhn: ::prost::alloc::vec::Vec<Ipfafoacmoo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilacickknof {
    #[prost(uint32, tag = "4")]
    pub ngeofippnjj: u32,
    #[prost(int32, tag = "15")]
    pub hbdhpbcnohk: i32,
    #[prost(message, optional, tag = "2")]
    pub beeokjmnjkk: ::core::option::Option<Lnopmppabkj>,
    #[prost(message, optional, tag = "10")]
    pub mibbffjjgma: ::core::option::Option<Hblibchgpnk>,
    #[prost(uint32, repeated, tag = "14")]
    pub genaiakaklp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fponkpldelj {
    #[prost(uint32, tag = "5")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "2")]
    pub jidbbcndjcj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdedlogemem {
    #[prost(message, repeated, tag = "1")]
    pub acemahjjmoc: ::prost::alloc::vec::Vec<Fponkpldelj>,
    #[prost(message, optional, tag = "6")]
    pub kodpnbnhaaj: ::core::option::Option<Ibhfigdhelo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnecgmafokb {
    #[prost(uint32, tag = "7")]
    pub cebgckjfhgb: u32,
    #[prost(uint32, tag = "13")]
    pub jdjhcahmakc: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub nhdgnppbjle: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "12")]
    pub bohmjmnfhhm: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibjdaolbigo {
    #[prost(int32, tag = "5")]
    pub jpalmheiokd: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdbldfebbbi {
    #[prost(uint32, repeated, tag = "1")]
    pub pemhiihaabe: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnjkjbjckif {
    #[prost(message, optional, tag = "8")]
    pub poooicgcned: ::core::option::Option<Ghlpndipkbb>,
    #[prost(message, optional, tag = "4")]
    pub bkhbkonlfcc: ::core::option::Option<Cffmpmdcmij>,
    #[prost(message, optional, tag = "6")]
    pub jieonfbnpno: ::core::option::Option<Lckmcadnhfb>,
    #[prost(message, optional, tag = "9")]
    pub geojolcbdgi: ::core::option::Option<Ihkkkmajkbk>,
    #[prost(uint32, tag = "14")]
    pub ibpkkcocjbj: u32,
    #[prost(message, optional, tag = "11")]
    pub hgpjehkkhlk: ::core::option::Option<Ilacickknof>,
    #[prost(message, optional, tag = "1")]
    pub fdghhllajjp: ::core::option::Option<Nnecgmafokb>,
    #[prost(message, optional, tag = "3")]
    pub jpadnpphjbj: ::core::option::Option<Ibjdaolbigo>,
    #[prost(message, optional, tag = "10")]
    pub jdppohpecdm: ::core::option::Option<Ppcdakhjnoi>,
    #[prost(message, optional, tag = "13")]
    pub likgfhflbdo: ::core::option::Option<Kdedlogemem>,
    #[prost(message, repeated, tag = "5")]
    pub ppimhnodnmk: ::prost::alloc::vec::Vec<Mknngpdeflb>,
    #[prost(message, optional, tag = "747")]
    pub fnopcpeleon: ::core::option::Option<Fdbldfebbbi>,
    #[prost(message, optional, tag = "15")]
    pub fcjliecehnd: ::core::option::Option<Injiiaodnjm>,
    #[prost(message, optional, tag = "7")]
    pub jlnlnecmegc: ::core::option::Option<Mhomnplonkd>,
    #[prost(message, optional, tag = "12")]
    pub onapnphcgda: ::core::option::Option<Fjocdcbhfhi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajpambehjkm {
    #[prost(message, optional, tag = "14")]
    pub hcnlpeojobm: ::core::option::Option<Aheahmaijpn>,
    #[prost(message, optional, tag = "12")]
    pub onapnphcgda: ::core::option::Option<Fjocdcbhfhi>,
    #[prost(uint32, repeated, tag = "1")]
    pub ahblpkkfnni: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub fafjacibicd: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "11")]
    pub jfidcbaaidg: ::core::option::Option<Cacnagbobpf>,
    #[prost(message, optional, tag = "4")]
    pub mibbffjjgma: ::core::option::Option<Hblibchgpnk>,
    #[prost(message, optional, tag = "15")]
    pub fnopcpeleon: ::core::option::Option<Eajkepioged>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkekpolbcme {
    #[prost(uint32, tag = "9")]
    pub ibpkkcocjbj: u32,
    #[prost(message, repeated, tag = "13")]
    pub ppimhnodnmk: ::prost::alloc::vec::Vec<Mknngpdeflb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ciieplkohkk {
    #[prost(message, optional, tag = "4")]
    pub fnopcpeleon: ::core::option::Option<Eajkepioged>,
    #[prost(message, optional, tag = "11")]
    pub mibbffjjgma: ::core::option::Option<Hblibchgpnk>,
    #[prost(uint32, repeated, tag = "10")]
    pub ahblpkkfnni: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "1")]
    pub hcnlpeojobm: ::core::option::Option<Aheahmaijpn>,
    #[prost(message, optional, tag = "3")]
    pub jfidcbaaidg: ::core::option::Option<Cacnagbobpf>,
    #[prost(uint32, repeated, tag = "15")]
    pub fafjacibicd: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bndlmjffeme {
    #[prost(message, optional, tag = "5")]
    pub pookilbachg: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "2")]
    pub poooicgcned: ::core::option::Option<Lmldcnalbpp>,
    #[prost(message, optional, tag = "7")]
    pub jieonfbnpno: ::core::option::Option<Flpoooaiomp>,
    #[prost(uint32, tag = "9")]
    pub cocgohbdjpb: u32,
    #[prost(uint32, tag = "13")]
    pub mgcdinnceam: u32,
    #[prost(message, optional, tag = "4")]
    pub fmhgillfoho: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub papdgfebahc: u32,
    #[prost(uint32, tag = "6")]
    pub chjhglhbpjh: u32,
    #[prost(bool, tag = "14")]
    pub kgfaomaabkm: bool,
    #[prost(enumeration = "Hbmofhgflkl", tag = "11")]
    pub phhmjleiiho: i32,
    #[prost(uint32, tag = "505")]
    pub fldiijgibdp: u32,
    #[prost(uint32, tag = "1")]
    pub ofkoceoefhe: u32,
    #[prost(uint32, tag = "1454")]
    pub mdhlcffdbep: u32,
    #[prost(message, optional, tag = "1156")]
    pub geojolcbdgi: ::core::option::Option<Ihkkkmajkbk>,
    #[prost(uint32, tag = "352")]
    pub ibpkkcocjbj: u32,
    #[prost(uint32, tag = "8")]
    pub fkdcncjhcbm: u32,
    #[prost(uint32, tag = "109")]
    pub oggklhikobo: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub nehdggecmaa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "856")]
    pub phfkgamdgkj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndcpeohiolb {
    #[prost(message, repeated, tag = "1")]
    pub bkmmdolfmgj: ::prost::alloc::vec::Vec<Oglpkndgkig>,
    #[prost(uint32, tag = "2")]
    pub gojfpeppdfn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cclbacolfaj {
    #[prost(uint32, tag = "9")]
    pub mgcdinnceam: u32,
    #[prost(uint32, tag = "2")]
    pub iickgimklaa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpinhjfmdbc {
    #[prost(uint32, tag = "7")]
    pub lnmbchfdboo: u32,
    #[prost(uint32, tag = "6")]
    pub jdjhcahmakc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gghdpodblba {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggmjggknpim {
    #[prost(message, optional, tag = "5")]
    pub apfchjmjcck: ::core::option::Option<Ciieplkohkk>,
    #[prost(message, optional, tag = "13")]
    pub bledhccfcnh: ::core::option::Option<Cnjkjbjckif>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub gemhgmknbfd: ::core::option::Option<Ajpambehjkm>,
    #[prost(message, optional, tag = "12")]
    pub makahlmjgbp: ::core::option::Option<Bndlmjffeme>,
    #[prost(message, optional, tag = "15")]
    pub jffongfiijk: ::core::option::Option<Dkekpolbcme>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdpdpdjobkf {
    #[prost(uint32, tag = "1")]
    pub omadggbmcbn: u32,
    #[prost(uint32, tag = "4")]
    pub kgjdelhgfgb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igboepobgle {
    #[prost(uint32, tag = "3")]
    pub kgjdelhgfgb: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub leiglhbeaan: ::core::option::Option<Blhoegdlhna>,
    #[prost(message, optional, tag = "6")]
    pub jffongfiijk: ::core::option::Option<Dkekpolbcme>,
    #[prost(message, optional, tag = "13")]
    pub bledhccfcnh: ::core::option::Option<Cnjkjbjckif>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkpniignhph {
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oplgajnecfn {
    #[prost(message, optional, tag = "12")]
    pub jffongfiijk: ::core::option::Option<Dkekpolbcme>,
    #[prost(message, optional, tag = "3")]
    pub leiglhbeaan: ::core::option::Option<Blhoegdlhna>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub bledhccfcnh: ::core::option::Option<Cnjkjbjckif>,
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abmnemlfmjk {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njfdfmocbdb {
    #[prost(message, optional, tag = "3")]
    pub gemhgmknbfd: ::core::option::Option<Ajpambehjkm>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub apfchjmjcck: ::core::option::Option<Ciieplkohkk>,
    #[prost(message, optional, tag = "10")]
    pub leiglhbeaan: ::core::option::Option<Blhoegdlhna>,
    #[prost(message, optional, tag = "6")]
    pub hgpjehkkhlk: ::core::option::Option<Ilacickknof>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mijkaegkofa {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkmepbenkgc {
    #[prost(message, optional, tag = "9")]
    pub gemhgmknbfd: ::core::option::Option<Ajpambehjkm>,
    #[prost(message, optional, tag = "6")]
    pub leiglhbeaan: ::core::option::Option<Blhoegdlhna>,
    #[prost(message, optional, tag = "13")]
    pub hgpjehkkhlk: ::core::option::Option<Ilacickknof>,
    #[prost(message, optional, tag = "11")]
    pub apfchjmjcck: ::core::option::Option<Ciieplkohkk>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub makahlmjgbp: ::core::option::Option<Bndlmjffeme>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idgaigklaon {
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub inkapbjopih: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub ikekhaoomcl: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "12")]
    pub jbcacjednho: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub ocjpmlnaago: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ioejamdglil {
    #[prost(message, optional, tag = "13")]
    pub jffongfiijk: ::core::option::Option<Dkekpolbcme>,
    #[prost(message, optional, tag = "10")]
    pub leiglhbeaan: ::core::option::Option<Blhoegdlhna>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub bledhccfcnh: ::core::option::Option<Cnjkjbjckif>,
    #[prost(message, optional, tag = "15")]
    pub haddllccmnd: ::core::option::Option<Ndcpeohiolb>,
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "4")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjniflknmdp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfpmjbfdalk {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub bledhccfcnh: ::core::option::Option<Hblibchgpnk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmjiaaepfje {
    #[prost(message, optional, tag = "8")]
    pub bledhccfcnh: ::core::option::Option<Ipfafoacmoo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odjlpnpffia {
    #[prost(uint32, tag = "2")]
    pub kgjdelhgfgb: u32,
    #[prost(uint32, tag = "15")]
    pub omadggbmcbn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejopcamljde {
    #[prost(uint32, tag = "14")]
    pub kgjdelhgfgb: u32,
    #[prost(uint32, tag = "6")]
    pub omadggbmcbn: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub opinejnmeem: ::core::option::Option<Pohnidlflde>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnjemiaknga {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alcoafieepb {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub bledhccfcnh: ::core::option::Option<Fakolehajkj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amijpjafhno {
    #[prost(uint32, tag = "6")]
    pub flbkafolncc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acocniadhpg {
    #[prost(uint32, tag = "6")]
    pub flbkafolncc: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub idbnconojnl: ::core::option::Option<Hiofjoenjdn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmpaoekdgmf {
    #[prost(message, optional, tag = "7")]
    pub makahlmjgbp: ::core::option::Option<Bndlmjffeme>,
    #[prost(uint32, tag = "9")]
    pub fkdcncjhcbm: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub nehdggecmaa: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "12")]
    pub jlnlnecmegc: ::core::option::Option<Mhomnplonkd>,
    #[prost(uint32, tag = "1")]
    pub naobapkknki: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdmomdnbhdh {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Figfpligamo {
    #[prost(message, optional, tag = "4")]
    pub miomknnldmj: ::core::option::Option<Nhgfmljonka>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogejkjgffma {
    #[prost(uint32, tag = "14")]
    pub gdkpfajfjmc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jillkinibbo {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub mebjnkehmad: ::core::option::Option<Nnckdapiopi>,
    #[prost(bool, tag = "6")]
    pub ajmaimfbcii: bool,
    #[prost(message, optional, tag = "11")]
    pub miomknnldmj: ::core::option::Option<Nhgfmljonka>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pklgbjonboh {
    #[prost(uint32, repeated, tag = "6")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igcpfhggpak {
    #[prost(uint32, repeated, tag = "6")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "8")]
    pub likgfhflbdo: ::core::option::Option<Kdedlogemem>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opcgoflonbo {
    #[prost(uint32, tag = "14")]
    pub edahdalkobk: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceihgnlphkp {
    #[prost(uint32, repeated, tag = "6")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "15")]
    pub kodpnbnhaaj: ::core::option::Option<Ibhfigdhelo>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chbljegnoag {
    #[prost(message, optional, tag = "3")]
    pub kodpnbnhaaj: ::core::option::Option<Ibhfigdhelo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emapekplpjj {
    #[prost(message, optional, tag = "6")]
    pub bkhbkonlfcc: ::core::option::Option<Cffmpmdcmij>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edbejpjbjol {
    #[prost(message, optional, tag = "8")]
    pub jdppohpecdm: ::core::option::Option<Ppcdakhjnoi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Andlbmakjml {
    #[prost(enumeration = "Mfmhhamodgn", tag = "9")]
    pub reason: i32,
    #[prost(enumeration = "Celhaknfjde", tag = "3")]
    pub cfhhckobiim: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmgmeimgoal {
    #[prost(uint32, tag = "7")]
    pub bebcjndkadn: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub npelmbfbljh: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Laammnkgngm {
    #[prost(message, optional, tag = "12")]
    pub cgkobhcmhnj: ::core::option::Option<Ijgieoommpj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecgaaoalkkk {
    #[prost(int32, tag = "15")]
    pub hbdhpbcnohk: i32,
    #[prost(uint32, tag = "5")]
    pub ikekhaoomcl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aaamhlegjld {
    #[prost(int32, tag = "8")]
    pub jdpfmpggjia: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khillkfdone {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub skip_reward_list: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cogckbgneom {
    #[prost(uint32, repeated, tag = "5")]
    pub ahblpkkfnni: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmmolclbokh {
    #[prost(uint32, tag = "9")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dipeeidggdd {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub haddllccmnd: ::core::option::Option<Ndcpeohiolb>,
    #[prost(message, optional, tag = "8")]
    pub fbhddfiopmo: ::core::option::Option<Cnjkjbjckif>,
    #[prost(message, optional, tag = "14")]
    pub leiglhbeaan: ::core::option::Option<Blhoegdlhna>,
    #[prost(message, optional, tag = "13")]
    pub jffongfiijk: ::core::option::Option<Dkekpolbcme>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfboobpakee {
    #[prost(uint32, tag = "1")]
    pub chahmghmepc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlcmcdfnpaa {
    #[prost(message, optional, tag = "14")]
    pub jdppohpecdm: ::core::option::Option<Ppcdakhjnoi>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jffgdcpjlid {
    #[prost(uint32, tag = "4")]
    pub chahmghmepc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bldbonfnkjg {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub jdppohpecdm: ::core::option::Option<Ppcdakhjnoi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Biiflmaacej {
    #[prost(uint32, tag = "4")]
    pub eldndaekedo: u32,
    #[prost(uint32, tag = "10")]
    pub chahmghmepc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhlcbpofkmk {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub abckidgemkd: u32,
    #[prost(message, optional, tag = "4")]
    pub jdppohpecdm: ::core::option::Option<Ppcdakhjnoi>,
    #[prost(uint32, tag = "15")]
    pub eldndaekedo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkceapiopkb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngppplmokfn {
    #[prost(message, optional, tag = "8")]
    pub gocjdhfgpda: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub jdppohpecdm: ::core::option::Option<Ppcdakhjnoi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceccilgpmai {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgkpobmehkp {
    #[prost(message, optional, tag = "15")]
    pub makahlmjgbp: ::core::option::Option<Bndlmjffeme>,
    #[prost(message, optional, tag = "7")]
    pub jffongfiijk: ::core::option::Option<Dkekpolbcme>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub bledhccfcnh: ::core::option::Option<Cnjkjbjckif>,
    #[prost(message, optional, tag = "9")]
    pub apfchjmjcck: ::core::option::Option<Ciieplkohkk>,
    #[prost(message, optional, tag = "2")]
    pub leiglhbeaan: ::core::option::Option<Blhoegdlhna>,
    #[prost(message, optional, tag = "10")]
    pub hgpjehkkhlk: ::core::option::Option<Ilacickknof>,
    #[prost(message, optional, tag = "3")]
    pub jlnlnecmegc: ::core::option::Option<Mhomnplonkd>,
    #[prost(message, optional, tag = "13")]
    pub gemhgmknbfd: ::core::option::Option<Ajpambehjkm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jaljekedaol {
    #[prost(message, optional, tag = "8")]
    pub jlnlnecmegc: ::core::option::Option<Mhomnplonkd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nodcaioedfb {
    #[prost(message, optional, tag = "13")]
    pub jebbegoojha: ::core::option::Option<Ijgieoommpj>,
    #[prost(uint32, tag = "3")]
    pub agagjpacggd: u32,
    #[prost(uint32, tag = "9")]
    pub cfcfibmgfcb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gclknbnfman {
    #[prost(message, repeated, tag = "11")]
    pub bkmmdolfmgj: ::prost::alloc::vec::Vec<Oglpkndgkig>,
    #[prost(uint32, tag = "2")]
    pub bebcjndkadn: u32,
    #[prost(enumeration = "Cgkncjhdfjh", tag = "15")]
    pub igcohdemogk: i32,
    #[prost(enumeration = "Bhaacimojdf", tag = "9")]
    pub reason: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgcklhhpbin {
    #[prost(uint32, tag = "3")]
    pub hbacpolpnhm: u32,
    #[prost(uint32, tag = "12")]
    pub cdnjcdkmkgp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bobjijgbapf {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjaaioeljml {
    #[prost(message, repeated, tag = "12")]
    pub jdpijbjmlig: ::prost::alloc::vec::Vec<Cpinhjfmdbc>,
    #[prost(message, repeated, tag = "3")]
    pub lopphdblhib: ::prost::alloc::vec::Vec<Cclbacolfaj>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njlgijjcobn {
    #[prost(uint32, tag = "7")]
    pub jdjhcahmakc: u32,
    #[prost(uint32, tag = "2")]
    pub jjipanbmela: u32,
    #[prost(uint32, tag = "4")]
    pub mmkmhndjjan: u32,
    #[prost(uint32, tag = "3")]
    pub mfopblhgkpn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjngagdplde {
    #[prost(uint32, tag = "8")]
    pub mfopblhgkpn: u32,
    #[prost(uint32, tag = "9")]
    pub jdjhcahmakc: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub jjipanbmela: u32,
    #[prost(uint32, tag = "14")]
    pub mmkmhndjjan: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldlmegoehke {
    #[prost(uint32, tag = "13")]
    pub jdjhcahmakc: u32,
    #[prost(uint32, tag = "2")]
    pub mmkmhndjjan: u32,
    #[prost(uint32, tag = "14")]
    pub jjipanbmela: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjgkdekkhce {
    #[prost(uint32, tag = "1")]
    pub mgcdinnceam: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub jjipanbmela: u32,
    #[prost(uint32, tag = "6")]
    pub jdjhcahmakc: u32,
    #[prost(uint32, tag = "7")]
    pub mmkmhndjjan: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbphihaiagm {
    #[prost(int32, tag = "15")]
    pub jlkoecdfajj: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjbjamlkeog {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njnejcgdkjg {
    #[prost(message, optional, tag = "1")]
    pub leiglhbeaan: ::core::option::Option<Blhoegdlhna>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkabdbpeagj {
    #[prost(uint32, tag = "1")]
    pub oeceedkkekm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Beeaoaoahod {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(map = "uint32, uint32", tag = "8")]
    pub okabnomecmo: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "11")]
    pub oeceedkkekm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bndbahgjiaj {
    #[prost(uint32, tag = "10")]
    pub iickgimklaa: u32,
    #[prost(uint32, tag = "8")]
    pub mgcdinnceam: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lblkkchlomk {
    #[prost(message, optional, tag = "14")]
    pub jpadnpphjbj: ::core::option::Option<Ibjdaolbigo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bddnliamgcp {
    #[prost(uint32, tag = "9")]
    pub mgcdinnceam: u32,
    #[prost(enumeration = "Bbiemcjfpnf", tag = "6")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pibdbandjkg {
    #[prost(uint32, tag = "15")]
    pub jjipanbmela: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gamhccbgmai {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjiichiljio {
    #[prost(message, repeated, tag = "14")]
    pub jdpijbjmlig: ::prost::alloc::vec::Vec<Pibdbandjkg>,
    #[prost(message, repeated, tag = "15")]
    pub lopphdblhib: ::prost::alloc::vec::Vec<Bddnliamgcp>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcbkflokomh {
    #[prost(uint32, tag = "6")]
    pub jjipanbmela: u32,
    #[prost(uint32, tag = "11")]
    pub mfopblhgkpn: u32,
    #[prost(uint32, tag = "15")]
    pub mmkmhndjjan: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jifchngikfi {
    #[prost(uint32, tag = "1")]
    pub jjipanbmela: u32,
    #[prost(uint32, tag = "2")]
    pub mmkmhndjjan: u32,
    #[prost(uint32, tag = "8")]
    pub mfopblhgkpn: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cohcglnjbgb {
    #[prost(uint32, tag = "15")]
    pub mmkmhndjjan: u32,
    #[prost(uint32, tag = "8")]
    pub jjipanbmela: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibibphfpaoh {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub jjipanbmela: u32,
    #[prost(uint32, tag = "2")]
    pub mmkmhndjjan: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmkbokaejgo {
    #[prost(uint32, tag = "9")]
    pub jjipanbmela: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgppilebkce {
    #[prost(message, repeated, tag = "13")]
    pub lopphdblhib: ::prost::alloc::vec::Vec<Bddnliamgcp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihkkkmajkbk {
    #[prost(uint32, tag = "12")]
    pub jjipanbmela: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub klhhodkgfdf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub mgcdinnceam: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub ffiahklhono: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub nkcklomcdbm: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub bohmjmnfhhm: bool,
    #[prost(uint32, tag = "1")]
    pub maobapkppgf: u32,
    #[prost(bool, tag = "2")]
    pub hjbeekkhifa: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oeilmodlial {
    #[prost(uint32, tag = "5")]
    pub eldndaekedo: u32,
    #[prost(uint32, tag = "9")]
    pub nbmhebjofee: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmapjfjpcbf {
    #[prost(uint32, tag = "15")]
    pub jcnbkdkeddp: u32,
    #[prost(uint32, tag = "13")]
    pub ocjpmlnaago: u32,
    #[prost(message, repeated, tag = "5")]
    pub gfookabjmfe: ::prost::alloc::vec::Vec<Oeilmodlial>,
    #[prost(uint32, tag = "1")]
    pub ibmkknnokcf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aheahmaijpn {
    #[prost(map = "uint32, bool", tag = "9")]
    pub lhnnggjlgef: ::std::collections::HashMap<u32, bool>,
    #[prost(uint32, repeated, tag = "11")]
    pub bjojjbaacod: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Jfoabfamapl", tag = "4")]
    pub lpapiibfbhl: i32,
    #[prost(message, repeated, tag = "15")]
    pub lcmhchpepea: ::prost::alloc::vec::Vec<Cmapjfjpcbf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjocdcbhfhi {
    #[prost(uint32, tag = "12")]
    pub gonhfckileo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cacnagbobpf {
    #[prost(message, optional, tag = "8")]
    pub agbpifdioog: ::core::option::Option<Hihnldemnbf>,
    #[prost(uint32, tag = "13")]
    pub gonhfckileo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eajkepioged {
    #[prost(uint32, repeated, tag = "14")]
    pub aoiknfilncj: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmpcjcnijej {
    #[prost(message, optional, tag = "12")]
    pub hcnlpeojobm: ::core::option::Option<Cmapjfjpcbf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obkkboccdnb {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub hcnlpeojobm: ::core::option::Option<Cmapjfjpcbf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlofkdififg {
    #[prost(message, optional, tag = "10")]
    pub jgfomfbjbbi: ::core::option::Option<Aheahmaijpn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmblkflokae {
    #[prost(uint32, tag = "8")]
    pub icmhapjomkm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Begegaijgnm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cidojffeaeg {
    #[prost(message, optional, tag = "4")]
    pub jfidcbaaidg: ::core::option::Option<Hihnldemnbf>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub gonhfckileo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfbmlcgjnjk {
    #[prost(uint32, tag = "10")]
    pub eogjkjiapah: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nckfkaacpmm {
    #[prost(message, optional, tag = "9")]
    pub jfidcbaaidg: ::core::option::Option<Hihnldemnbf>,
    #[prost(uint32, tag = "14")]
    pub gonhfckileo: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eglklodlono {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngoecbinjop {
    #[prost(uint32, repeated, tag = "15")]
    pub phekilobgno: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub maibejpfdbl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Caippgmgakp {
    #[prost(uint32, repeated, tag = "1")]
    pub gihpildapaa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub ehikakcebih: u32,
    #[prost(uint32, tag = "11")]
    pub progress: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub gpidjldkffj: u32,
    #[prost(message, repeated, tag = "15")]
    pub ebdhlfeoocc: ::prost::alloc::vec::Vec<Ngoecbinjop>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fglehmikgcm {
    #[prost(uint32, tag = "12")]
    pub eogjkjiapah: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndndjnioffg {
    #[prost(uint32, tag = "12")]
    pub eogjkjiapah: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngdahgefngl {
    #[prost(uint32, repeated, tag = "13")]
    pub ikabihflife: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub maibejpfdbl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmgldokhdbf {
    #[prost(uint32, tag = "10")]
    pub maibejpfdbl: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbplljkigkh {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bihcficgmmc {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llhinbhohgk {
    #[prost(uint32, tag = "2")]
    pub jnjdnmopejk: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub mnhloaeicbf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub cahfbbilhcl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmagcjpankb {
    #[prost(message, repeated, tag = "7")]
    pub falopjikfjk: ::prost::alloc::vec::Vec<Llhinbhohgk>,
    #[prost(uint32, repeated, tag = "3")]
    pub mnhloaeicbf: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmkaiphdkde {
    #[prost(message, optional, tag = "4")]
    pub ieabgppbjic: ::core::option::Option<Gmagcjpankb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aobhkcilgbm {
    #[prost(message, optional, tag = "11")]
    pub ieabgppbjic: ::core::option::Option<Gmagcjpankb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnkcimpidpg {
    #[prost(message, optional, tag = "12")]
    pub ieabgppbjic: ::core::option::Option<Gmagcjpankb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcccamakjca {
    #[prost(uint32, tag = "14")]
    pub dkcdfhkldcm: u32,
    #[prost(uint32, tag = "15")]
    pub ghihlfpaejp: u32,
    #[prost(message, optional, tag = "9")]
    pub ieabgppbjic: ::core::option::Option<Gmagcjpankb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecpiceimcbp {
    #[prost(message, optional, tag = "12")]
    pub ieabgppbjic: ::core::option::Option<Gmagcjpankb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plnkagpombg {
    #[prost(bool, tag = "10")]
    pub alomglejccm: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adfloodkmmf {
    #[prost(uint32, tag = "5")]
    pub bnjhcemfmin: u32,
    #[prost(message, optional, tag = "12")]
    pub mknbbnmmodh: ::core::option::Option<Bihcficgmmc>,
    #[prost(message, optional, tag = "15")]
    pub mjlaifliaeb: ::core::option::Option<Nmkaiphdkde>,
    #[prost(message, optional, tag = "1")]
    pub hcgbjmblgpp: ::core::option::Option<Aobhkcilgbm>,
    #[prost(message, optional, tag = "3")]
    pub jomlongiphe: ::core::option::Option<Pnkcimpidpg>,
    #[prost(message, optional, tag = "9")]
    pub gabanmoppcn: ::core::option::Option<Bcccamakjca>,
    #[prost(message, optional, tag = "11")]
    pub jogmkbcflpe: ::core::option::Option<Ecpiceimcbp>,
    #[prost(message, optional, tag = "10")]
    pub gjoooibelda: ::core::option::Option<Plnkagpombg>,
    #[prost(bool, tag = "13")]
    pub kfjfpaefdlk: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enijpiadggg {
    #[prost(int32, tag = "15")]
    pub nfgedmiinjh: i32,
    #[prost(int32, tag = "9")]
    pub ijghjkhbfdn: i32,
    #[prost(int32, tag = "12")]
    pub koommnmjhli: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkijinbllko {
    #[prost(uint32, tag = "12")]
    pub ibdjgdbjkfe: u32,
    #[prost(uint32, tag = "5")]
    pub daimooemhjf: u32,
    #[prost(uint64, tag = "7")]
    pub unique_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Daifkeellcp {
    #[prost(message, repeated, tag = "4")]
    pub buff_list: ::prost::alloc::vec::Vec<Hkijinbllko>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inhnagjefkk {
    #[prost(uint32, tag = "9")]
    pub bcbckaeblbl: u32,
    #[prost(message, optional, tag = "10")]
    pub fpilmefgkih: ::core::option::Option<Adfloodkmmf>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub jjnfifblhmo: u32,
    #[prost(uint32, tag = "8")]
    pub knhhhgmifdh: u32,
    #[prost(string, tag = "3")]
    pub fcjdobknecp: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub maibejpfdbl: u32,
    #[prost(message, optional, tag = "2")]
    pub bningmkpfom: ::core::option::Option<Enijpiadggg>,
    #[prost(uint32, repeated, tag = "6")]
    pub keccoohjjfn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub kdciliflbfe: u32,
    #[prost(uint32, tag = "11")]
    pub kggollioekb: u32,
    #[prost(message, optional, tag = "14")]
    pub jieonfbnpno: ::core::option::Option<Daifkeellcp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nemcademaln {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhbkapbjeak {
    #[prost(message, optional, tag = "15")]
    pub ieabgppbjic: ::core::option::Option<Gmagcjpankb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpcahmblaca {
    #[prost(bool, tag = "12")]
    pub bmikmflhmjd: bool,
    #[prost(uint32, tag = "6")]
    pub lbhnoanhgce: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgodgalebdc {
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hefohpmhplm {
    #[prost(uint32, tag = "9")]
    pub ghihlfpaejp: u32,
    #[prost(bool, tag = "3")]
    pub mdaacmnjhjd: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnmpijdfdjc {
    #[prost(bool, tag = "15")]
    pub bmikmflhmjd: bool,
    #[prost(uint32, tag = "1")]
    pub lbhnoanhgce: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmaeclipelk {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghddodfeamg {
    #[prost(uint32, tag = "8")]
    pub maibejpfdbl: u32,
    #[prost(uint32, tag = "13")]
    pub bnjhcemfmin: u32,
    #[prost(message, optional, tag = "12")]
    pub dgohleoebpg: ::core::option::Option<Nemcademaln>,
    #[prost(message, optional, tag = "10")]
    pub kgneojdcofk: ::core::option::Option<Dhbkapbjeak>,
    #[prost(message, optional, tag = "11")]
    pub blolmhiepck: ::core::option::Option<Gpcahmblaca>,
    #[prost(message, optional, tag = "6")]
    pub lfcldjajdii: ::core::option::Option<Pgodgalebdc>,
    #[prost(message, optional, tag = "5")]
    pub khfdbkplkhd: ::core::option::Option<Hefohpmhplm>,
    #[prost(message, optional, tag = "7")]
    pub clgmgleppkl: ::core::option::Option<Jnmpijdfdjc>,
    #[prost(message, optional, tag = "9")]
    pub pdmhghepjkg: ::core::option::Option<Hmaeclipelk>,
    #[prost(uint32, tag = "14")]
    pub kggollioekb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbmhcadfaoc {
    #[prost(bool, tag = "11")]
    pub oeeelifgfle: bool,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub jjnfifblhmo: u32,
    #[prost(uint32, tag = "14")]
    pub maibejpfdbl: u32,
    #[prost(uint32, tag = "8")]
    pub progress: u32,
    #[prost(uint32, tag = "13")]
    pub kdciliflbfe: u32,
    #[prost(bool, tag = "4")]
    pub phpljpimkoi: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nghmkmmilnc {
    #[prost(enumeration = "Lccaokhchao", tag = "7")]
    pub gcnpmehioaj: i32,
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "4")]
    pub jokcaomohhj: u32,
    #[prost(uint32, tag = "13")]
    pub feejampcgoj: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub bnjhcemfmin: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npbpondcefk {
    #[prost(bool, tag = "5")]
    pub egkfekjpigm: bool,
    #[prost(uint32, tag = "15")]
    pub maibejpfdbl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhfediadjbo {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clnafnkilcm {
    #[prost(uint32, tag = "8")]
    pub bnjhcemfmin: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bchjfpoognf {
    #[prost(uint32, tag = "12")]
    pub bnjhcemfmin: u32,
    #[prost(uint64, tag = "4")]
    pub unique_id: u64,
    #[prost(uint32, tag = "9")]
    pub maibejpfdbl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnindoldpfo {
    #[prost(uint32, tag = "13")]
    pub bnjhcemfmin: u32,
    #[prost(message, optional, tag = "1")]
    pub jieonfbnpno: ::core::option::Option<Daifkeellcp>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub maibejpfdbl: u32,
    #[prost(message, optional, tag = "1015")]
    pub ieabgppbjic: ::core::option::Option<Gmagcjpankb>,
    #[prost(message, optional, tag = "1329")]
    pub bningmkpfom: ::core::option::Option<Enijpiadggg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndgnomladdn {
    #[prost(message, optional, tag = "13")]
    pub mcnnkhmbakb: ::core::option::Option<Mbmhcadfaoc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Item {
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
    #[prost(uint32, tag = "1")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "12")]
    pub promotion: u32,
    #[prost(uint32, tag = "7")]
    pub num: u32,
    #[prost(uint32, tag = "9")]
    pub rank: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemList {
    #[prost(message, repeated, tag = "2")]
    pub item_list: ::prost::alloc::vec::Vec<Item>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PileItem {
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
    #[prost(uint32, tag = "11")]
    pub item_num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemCost {
    #[prost(message, optional, tag = "6")]
    pub pile_item: ::core::option::Option<PileItem>,
    #[prost(uint32, tag = "7")]
    pub equipment_unique_id: u32,
    #[prost(uint32, tag = "11")]
    pub relic_unique_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemCostData {
    #[prost(message, repeated, tag = "4")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oinklehkhed {
    #[prost(uint32, tag = "8")]
    pub nakamomhjck: u32,
    #[prost(uint32, tag = "2")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plbnbbdnook {
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    #[prost(uint32, tag = "14")]
    pub promotion: u32,
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub tid: u32,
    #[prost(uint32, tag = "2")]
    pub exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aegbgmgodee {
    #[prost(uint32, tag = "13")]
    pub tid: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(message, repeated, tag = "9")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "8")]
    pub main_affix_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oolkoioabdl {
    #[prost(message, optional, tag = "6")]
    pub ohmicpkggjh: ::core::option::Option<Oinklehkhed>,
    #[prost(message, optional, tag = "15")]
    pub gpepkkjljei: ::core::option::Option<Plbnbbdnook>,
    #[prost(message, optional, tag = "3")]
    pub dfnikehokll: ::core::option::Option<Aegbgmgodee>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpdcamfldnb {
    #[prost(message, repeated, tag = "13")]
    pub item_list: ::prost::alloc::vec::Vec<Oolkoioabdl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Vector {
    #[prost(sint32, tag = "8")]
    pub z: i32,
    #[prost(sint32, tag = "10")]
    pub y: i32,
    #[prost(sint32, tag = "12")]
    pub x: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotionInfo {
    #[prost(message, optional, tag = "10")]
    pub pos: ::core::option::Option<Vector>,
    #[prost(message, optional, tag = "14")]
    pub rot: ::core::option::Option<Vector>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aeklimbakcl {
    #[prost(float, tag = "13")]
    pub z: f32,
    #[prost(float, tag = "9")]
    pub y: f32,
    #[prost(float, tag = "7")]
    pub x: f32,
    #[prost(float, tag = "15")]
    pub w: f32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjfnknacfin {
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub igljlnabhnf: u32,
    #[prost(uint32, tag = "5")]
    pub dkdmaeajipo: u32,
    #[prost(uint32, tag = "11")]
    pub iocdidhahhj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonsterData {
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(uint32, tag = "9")]
    pub max_hp: u32,
    #[prost(uint32, tag = "3")]
    pub jjhfeikbakk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonsterWave {
    #[prost(uint32, tag = "14")]
    pub imapolkmefn: u32,
    #[prost(message, repeated, tag = "3")]
    pub monster_list: ::prost::alloc::vec::Vec<SceneMonsterData>,
    #[prost(uint32, tag = "1")]
    pub aelnpffbiod: u32,
    #[prost(message, optional, tag = "8")]
    pub acpannfhach: ::core::option::Option<Kjfnknacfin>,
    #[prost(message, repeated, tag = "4")]
    pub pcnadiiphcg: ::prost::alloc::vec::Vec<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneBattleInfo {
    #[prost(message, repeated, tag = "7")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    #[prost(map = "uint32, message", tag = "583")]
    pub jelkfckaonl: ::std::collections::HashMap<u32, Cnngaoldopi>,
    #[prost(uint32, tag = "15")]
    pub battle_id: u32,
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    #[prost(message, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    #[prost(uint32, tag = "10")]
    pub cleheggdkal: u32,
    #[prost(message, optional, tag = "1604")]
    pub cchiiefgogb: ::core::option::Option<Lnifncaliom>,
    #[prost(message, optional, tag = "209")]
    pub ghlhhdhoodf: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(uint32, tag = "8")]
    pub ohfkoaahoib: u32,
    #[prost(uint32, tag = "3")]
    pub logic_random_seed: u32,
    #[prost(message, repeated, tag = "4")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(bool, tag = "14")]
    pub aigefdalljf: bool,
    #[prost(message, repeated, tag = "413")]
    pub ldkhpbclcbd: ::prost::alloc::vec::Vec<Mnnlfkgifmc>,
    #[prost(uint32, tag = "11")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjojkdhlonn {
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(message, repeated, tag = "7")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<Lmgbjbdpenn>,
    #[prost(uint32, tag = "11")]
    pub battle_id: u32,
    #[prost(message, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    #[prost(message, repeated, tag = "1")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    #[prost(uint32, tag = "14")]
    pub logic_random_seed: u32,
    #[prost(bool, tag = "4")]
    pub aigefdalljf: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gakfmphecij {
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(uint32, tag = "1")]
    pub lehjbiafinp: u32,
    #[prost(enumeration = "AvatarType", tag = "14")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Feanifaglaa {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffgflciocff {
    #[prost(message, optional, tag = "3")]
    pub data: ::core::option::Option<Gdafmkkhkkl>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bejmehlnpan {
    #[prost(uint32, tag = "12")]
    pub jkbgighlakf: u32,
    #[prost(enumeration = "Olngclnnaie", tag = "3")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdafmkkhkkl {
    #[prost(message, repeated, tag = "9")]
    pub himejaheaoj: ::prost::alloc::vec::Vec<Bejmehlnpan>,
    #[prost(uint32, tag = "10")]
    pub eoljolnkooh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chhopfkjmje {
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Gdafmkkhkkl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knbhaohckea {
    #[prost(uint32, tag = "12")]
    pub jkbgighlakf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmbdjikimig {
    #[prost(uint32, tag = "5")]
    pub jkbgighlakf: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Looemgnplja {
    #[prost(uint32, tag = "7")]
    pub ogbpdkbkkjc: u32,
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    #[prost(bool, tag = "4")]
    pub bddjhhlogpk: bool,
    #[prost(uint32, tag = "8")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deajfaeabjo {
    #[prost(uint32, tag = "9")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oagkjgnfipp {
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmnapifgcmm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcnjmfoakba {
    #[prost(uint32, repeated, tag = "14")]
    pub ffmnchhadii: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "1")]
    pub ccndofknafg: ::prost::alloc::vec::Vec<Looemgnplja>,
    #[prost(uint32, tag = "3")]
    pub ogbpdkbkkjc: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njghnflpdkd {
    #[prost(message, repeated, tag = "8")]
    pub ccndofknafg: ::prost::alloc::vec::Vec<Looemgnplja>,
    #[prost(uint32, repeated, tag = "15")]
    pub ffmnchhadii: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub ogbpdkbkkjc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Occdngcandm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hniemamjlaf {
    #[prost(uint32, repeated, tag = "3")]
    pub fohiomjmmmc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerGuest {
    #[prost(uint32, tag = "10")]
    pub guest_id: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub unlocked_favor_tag_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub faith: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgmkkbmkcia {
    #[prost(uint32, tag = "2")]
    pub lgdjpaojdld: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub amelinimofe: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub dfindnionlf: u32,
    #[prost(uint32, tag = "7")]
    pub mjhgcehnpdi: u32,
    #[prost(uint32, tag = "12")]
    pub ckajpkkbkeo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anjfgkilgai {
    #[prost(bool, tag = "14")]
    pub ajmaimfbcii: bool,
    #[prost(uint32, tag = "6")]
    pub jbkcbpdjmkn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oaajfmemple {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbijnehjncl {
    #[prost(message, optional, tag = "14")]
    pub bcnnijijfif: ::core::option::Option<Kgmkkbmkcia>,
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub exp: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub ofpgfaelbpf: u32,
    #[prost(message, repeated, tag = "2")]
    pub ondbgmbipoj: ::prost::alloc::vec::Vec<DrinkMakerGuest>,
    #[prost(uint32, tag = "3")]
    pub oagkeleimii: u32,
    #[prost(uint32, tag = "7")]
    pub kgdbdjfjdgi: u32,
    #[prost(uint32, tag = "8")]
    pub dojnkfjncpf: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub eoapmknokfb: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lohfnoifofe {
    #[prost(uint32, tag = "2")]
    pub oagkeleimii: u32,
    #[prost(message, optional, tag = "15")]
    pub adfooloodfk: ::core::option::Option<Kgmkkbmkcia>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeDrinkScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub next_chat_id: u32,
    #[prost(bool, tag = "12")]
    pub is_succ: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlmbmfngjfn {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndDrinkMakerSequenceScRsp {
    #[prost(uint32, tag = "12")]
    pub exp: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub guest: ::core::option::Option<DrinkMakerGuest>,
    #[prost(uint32, tag = "10")]
    pub next_sequence_id: u32,
    #[prost(message, repeated, tag = "5")]
    pub request_list: ::prost::alloc::vec::Vec<Anjfgkilgai>,
    #[prost(uint32, tag = "3")]
    pub tips: u32,
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gehkkffkhcj {
    #[prost(bool, tag = "2")]
    pub afgklafkhhg: bool,
    #[prost(uint32, tag = "5")]
    pub jbkcbpdjmkn: u32,
    #[prost(message, optional, tag = "4")]
    pub adfooloodfk: ::core::option::Option<Kgmkkbmkcia>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeMissionDrinkScRsp {
    #[prost(message, optional, tag = "5")]
    pub custom_drink: ::core::option::Option<Kgmkkbmkcia>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(bool, tag = "9")]
    pub is_succ: bool,
    #[prost(bool, tag = "4")]
    pub is_save: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phjdlbbmcli {
    #[prost(uint32, tag = "7")]
    pub cnncmemnkho: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhkabalkmel {
    #[prost(uint32, tag = "11")]
    pub odbjkadmlpk: u32,
    #[prost(message, optional, tag = "10")]
    pub adfooloodfk: ::core::option::Option<Kgmkkbmkcia>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Faiihladmgd {
    #[prost(uint32, tag = "3")]
    pub odbjkadmlpk: u32,
    #[prost(bool, tag = "1")]
    pub ajmaimfbcii: bool,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpndeieiemh {
    #[prost(uint32, tag = "13")]
    pub kgdbdjfjdgi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildAvatar {
    #[prost(enumeration = "AvatarType", tag = "6")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(double, tag = "14")]
    pub damage: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildLevelInfo {
    #[prost(message, repeated, tag = "5")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    #[prost(uint32, tag = "2")]
    pub round_cnt: u32,
    #[prost(message, repeated, tag = "4")]
    pub avatar_list: ::prost::alloc::vec::Vec<EvolveBuildAvatar>,
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(uint32, repeated, tag = "6")]
    pub period_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub cur_game_exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onmhcalkhja {
    #[prost(uint32, tag = "4")]
    pub kljpbaagnfn: u32,
    #[prost(uint32, tag = "13")]
    pub llbejfjganl: u32,
    #[prost(uint32, tag = "1")]
    pub dngemhdgojm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehmoimngffp {
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "13")]
    pub khgbflhfgfn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odffdlnapni {
    #[prost(bool, tag = "7")]
    pub pmmcikhnned: bool,
    #[prost(uint32, repeated, tag = "3")]
    pub lfokfmppphe: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub llbejfjganl: u32,
    #[prost(bool, tag = "9")]
    pub fjakecjdddh: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcmpkcopbjb {
    #[prost(message, repeated, tag = "2")]
    pub licebmpedgc: ::prost::alloc::vec::Vec<Onmhcalkhja>,
    #[prost(uint32, repeated, tag = "15")]
    pub anlhdckbnen: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub cmidpodfnab: u32,
    #[prost(message, repeated, tag = "9")]
    pub pfdjhgcjhdd: ::prost::alloc::vec::Vec<Ehmoimngffp>,
    #[prost(bool, tag = "4")]
    pub fdbjlkeomjj: bool,
    #[prost(uint32, tag = "6")]
    pub exp: u32,
    #[prost(message, repeated, tag = "10")]
    pub lilcjgninbo: ::prost::alloc::vec::Vec<Odffdlnapni>,
    #[prost(uint32, tag = "11")]
    pub niphnkaagkk: u32,
    #[prost(bool, tag = "8")]
    pub cmfkhjhcbkj: bool,
    #[prost(uint32, repeated, tag = "3")]
    pub ademhfpaoae: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amjooobhebh {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjikdefnmpg {
    #[prost(message, optional, tag = "4")]
    pub jlnlnecmegc: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(message, optional, tag = "3")]
    pub jffongfiijk: ::core::option::Option<Kcmpkcopbjb>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgodpgclmlf {
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<EvolveBuildAvatar>,
    #[prost(message, optional, tag = "10")]
    pub npocdggddpd: ::core::option::Option<Ppkhgchpclc>,
    #[prost(uint32, tag = "13")]
    pub llbejfjganl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ginmgpakbdh {
    #[prost(message, optional, tag = "6")]
    pub kchkcohanne: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub jlnlnecmegc: ::core::option::Option<EvolveBuildLevelInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Figihngkpij {
    #[prost(uint32, tag = "6")]
    pub llbejfjganl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdbjbdilgdi {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub jlnlnecmegc: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(message, optional, tag = "4")]
    pub kchkcohanne: ::core::option::Option<SceneBattleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdhfbekmdpm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgibploiiik {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub jlnlnecmegc: ::core::option::Option<EvolveBuildLevelInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icfmbpkckae {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Digaafaejno {
    #[prost(message, optional, tag = "2")]
    pub jlnlnecmegc: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildFinishScNotify {
    #[prost(message, optional, tag = "2")]
    pub level_info: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(uint32, tag = "10")]
    pub cur_period_type: u32,
    #[prost(bool, tag = "11")]
    pub is_lose: bool,
    #[prost(uint32, tag = "13")]
    pub exp: u32,
    #[prost(uint32, tag = "7")]
    pub wave: u32,
    #[prost(uint32, tag = "4")]
    pub score: u32,
    #[prost(uint32, tag = "6")]
    pub level_id: u32,
    #[prost(uint32, tag = "14")]
    pub coin: u32,
    #[prost(enumeration = "Dbinnehjfah", tag = "5")]
    pub battle_result_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhflfcmfhcg {
    #[prost(uint32, tag = "1")]
    pub llbejfjganl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpmckhbeioa {
    #[prost(message, optional, tag = "3")]
    pub iefadlplepp: ::core::option::Option<Odffdlnapni>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anegcekkapj {
    #[prost(uint32, tag = "10")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub khgbflhfgfn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncmlgebknnf {
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub khgbflhfgfn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldbicnecnkp {
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub khgbflhfgfn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgmonelfnij {
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(uint32, tag = "13")]
    pub khgbflhfgfn: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epeochhdphd {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dikeejocnol {
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub cmidpodfnab: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebflneimblo {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmelcmmffmm {
    #[prost(uint32, tag = "5")]
    pub niphnkaagkk: u32,
    #[prost(message, repeated, tag = "13")]
    pub pfdjhgcjhdd: ::prost::alloc::vec::Vec<Ehmoimngffp>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnaokfoojii {
    #[prost(uint32, tag = "3")]
    pub niphnkaagkk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llojggcifde {
    #[prost(bool, tag = "4")]
    pub cmfkhjhcbkj: bool,
    #[prost(bool, tag = "7")]
    pub fdbjlkeomjj: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Foaabalipmp {
    #[prost(uint32, repeated, tag = "10")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub mihggenhbcd: u32,
    #[prost(int64, tag = "4")]
    pub nbhgcmehiij: i64,
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhbkndcomkm {
    #[prost(uint32, tag = "6")]
    pub ahffpjbenib: u32,
    #[prost(int64, tag = "5")]
    pub nbhgcmehiij: i64,
    #[prost(uint32, tag = "13")]
    pub cgjaiicjjmk: u32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub figmifciacb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjiodepkmik {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kihppfbdpci {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub fdkibfakjlg: u32,
    #[prost(message, repeated, tag = "8")]
    pub fcbaafehghp: ::prost::alloc::vec::Vec<Hhbkndcomkm>,
    #[prost(message, repeated, tag = "12")]
    pub epmlehkkcdk: ::prost::alloc::vec::Vec<Foaabalipmp>,
    #[prost(uint32, repeated, tag = "3")]
    pub fjbneicdhln: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub pienmeigfeg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub efjfcnhoeic: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opdpbcjfnna {
    #[prost(message, optional, tag = "8")]
    pub ffephmmkocl: ::core::option::Option<Foaabalipmp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oacpeidahom {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub ffephmmkocl: ::core::option::Option<Foaabalipmp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjcmlaliool {
    #[prost(message, repeated, tag = "7")]
    pub gocnhalkane: ::prost::alloc::vec::Vec<Foaabalipmp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdlbjdlpmlk {
    #[prost(message, repeated, tag = "13")]
    pub gnpcjknkifb: ::prost::alloc::vec::Vec<Foaabalipmp>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiahmhhplgc {
    #[prost(uint32, tag = "11")]
    pub jmpbojoekfn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apilfmponpp {
    #[prost(uint32, tag = "7")]
    pub jmpbojoekfn: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Magflfgifgm {
    #[prost(uint32, tag = "3")]
    pub jmpbojoekfn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmnpbfiilac {
    #[prost(uint32, tag = "4")]
    pub jmpbojoekfn: u32,
    #[prost(message, optional, tag = "3")]
    pub eenjckdebel: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fiffbfiflpp {
    #[prost(uint32, repeated, tag = "8")]
    pub ipkbmlfadlk: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkndamjmckj {
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, repeated, tag = "9")]
    pub agihjglnhjd: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(uint32, repeated, tag = "8")]
    pub ilfmmkijkkn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub ehieikghkhb: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(message, optional, tag = "7")]
    pub eenjckdebel: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aajbmekabgn {
    #[prost(message, repeated, tag = "10")]
    pub epmlehkkcdk: ::prost::alloc::vec::Vec<Foaabalipmp>,
    #[prost(uint32, repeated, tag = "6")]
    pub pienmeigfeg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub efjfcnhoeic: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "11")]
    pub fcbaafehghp: ::prost::alloc::vec::Vec<Hhbkndcomkm>,
    #[prost(uint32, tag = "9")]
    pub fdkibfakjlg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfjhbfekgpn {
    #[prost(message, optional, tag = "3")]
    pub ggnkchnkgnc: ::core::option::Option<Hhbkndcomkm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knekegmjmkm {
    #[prost(message, optional, tag = "11")]
    pub ggnkchnkgnc: ::core::option::Option<Hhbkndcomkm>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpggmbookck {
    #[prost(uint32, tag = "13")]
    pub bplenkeaijd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdojojcfgjo {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub bplenkeaijd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pniikdaejln {
    #[prost(uint32, tag = "8")]
    pub bplenkeaijd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhciemkbdkc {
    #[prost(uint32, tag = "6")]
    pub bplenkeaijd: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub eenjckdebel: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub oggklhikobo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hldglcigodh {
    #[prost(uint32, repeated, tag = "9")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Oiihhhcgnmm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kokikndamoc {
    #[prost(uint32, repeated, tag = "6")]
    pub dojdkeojfab: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub nkjmgphoiio: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "uint32, message", tag = "12")]
    pub fflkkcnecab: ::std::collections::HashMap<u32, Hldglcigodh>,
    #[prost(map = "uint32, uint32", tag = "1")]
    pub mkpojgiapkm: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "14")]
    pub kfhaipmjmol: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub hlpaopdgomj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub iaaacacbdkf: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmbefnddcmo {
    #[prost(uint32, tag = "2")]
    pub kfhaipmjmol: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amlkiejoncd {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub hdjhkbljhhp: ::core::option::Option<Kokikndamoc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okjhokcfgmo {
    #[prost(message, optional, tag = "3")]
    pub hdjhkbljhhp: ::core::option::Option<Kokikndamoc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiihhhcgnmm {
    #[prost(uint32, tag = "12")]
    pub edglnhhadgl: u32,
    #[prost(enumeration = "AvatarType", tag = "5")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbjmlppcmac {
    #[prost(message, repeated, tag = "12")]
    pub avatar_list: ::prost::alloc::vec::Vec<Oiihhhcgnmm>,
    #[prost(uint32, tag = "8")]
    pub battle_id: u32,
    #[prost(uint32, tag = "3")]
    pub kfhaipmjmol: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbfegdngopj {
    #[prost(uint32, tag = "8")]
    pub battle_id: u32,
    #[prost(uint32, tag = "15")]
    pub kfhaipmjmol: u32,
    #[prost(message, optional, tag = "5")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfkkohiegko {
    #[prost(uint32, tag = "11")]
    pub battle_id: u32,
    #[prost(uint32, tag = "9")]
    pub kfhaipmjmol: u32,
    #[prost(uint32, tag = "3")]
    pub nmdlgjjfihg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emmdfkhifnc {
    #[prost(uint32, tag = "4")]
    pub mknekdcpcek: u32,
    #[prost(uint32, tag = "8")]
    pub bhbecnkompb: u32,
    #[prost(enumeration = "Gmfbecbgnfn", tag = "9")]
    pub laagoebdffg: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmfkjhoinlj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbgibklblmp {
    #[prost(message, repeated, tag = "7")]
    pub dehehfcpanl: ::prost::alloc::vec::Vec<Emmdfkhifnc>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pehklafgcji {
    #[prost(uint32, tag = "5")]
    pub bckigkkgpnc: u32,
    #[prost(enumeration = "Gmfbecbgnfn", tag = "3")]
    pub clmceanidla: i32,
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(uint32, tag = "15")]
    pub hmdmpebfilj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aibibkegjbg {
    #[prost(uint32, tag = "9")]
    pub nfbfjahfnne: u32,
    #[prost(uint32, tag = "10")]
    pub mgnmdcnnlbo: u32,
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Elobjommkdo>,
    #[prost(uint32, tag = "13")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhdccfkommh {
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iefibpnneia {
    #[prost(uint64, tag = "6")]
    pub gginjfgmcha: u64,
    #[prost(string, tag = "3")]
    pub jfppdgmlhog: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub uid: u32,
    #[prost(uint32, tag = "9")]
    pub fdnhmddgkoc: u32,
    #[prost(uint32, tag = "10")]
    pub abhkmaljpgf: u32,
    #[prost(uint32, tag = "11")]
    pub platform: u32,
    #[prost(uint32, tag = "4")]
    pub cbnagmjahag: u32,
    #[prost(uint32, tag = "5")]
    pub res_version: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmpgfadiiod {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub fdnhmddgkoc: u32,
    #[prost(bool, tag = "1")]
    pub hjloaoholon: bool,
    #[prost(uint64, tag = "3")]
    pub server_timestamp_ms: u64,
    #[prost(uint64, tag = "15")]
    pub secret_key_seed: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oidhkmfdaeg {
    #[prost(uint32, tag = "2")]
    pub indpnimjici: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Feehkddmggb {
    #[prost(enumeration = "FightKickout", tag = "5")]
    pub ojdindpoeeb: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfeijmemlco {
    #[prost(uint64, tag = "9")]
    pub client_time_ms: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igcofgiomgh {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint64, tag = "6")]
    pub server_time_ms: u64,
    #[prost(uint64, tag = "3")]
    pub client_time_ms: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gechiffadnb {
    #[prost(message, optional, tag = "1")]
    pub dfbiffjhbfk: ::core::option::Option<Gelkmmkbmlc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightActivityGroup {
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub taken_difficulty_level_reward_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub endless_max_wave: u32,
    #[prost(uint32, tag = "14")]
    pub passed_max_difficulty_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjnpebmhnbm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Niojihmmmlj {
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
    #[prost(bool, tag = "2")]
    pub mgfbopciien: bool,
    #[prost(message, repeated, tag = "8")]
    pub anepmceolnc: ::prost::alloc::vec::Vec<FightActivityGroup>,
    #[prost(map = "uint32, uint32", tag = "13")]
    pub kfkfjdekmnl: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpdnpjpaolg {
    #[prost(message, repeated, tag = "4")]
    pub anepmceolnc: ::prost::alloc::vec::Vec<FightActivityGroup>,
    #[prost(map = "uint32, uint32", tag = "10")]
    pub kfkfjdekmnl: ::std::collections::HashMap<u32, u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gemgeofmkep {
    #[prost(uint32, tag = "11")]
    pub edglnhhadgl: u32,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obomoogolkj {
    #[prost(uint32, repeated, tag = "4")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub ehajmefgmgl: u32,
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    #[prost(message, repeated, tag = "14")]
    pub conjdkajddp: ::prost::alloc::vec::Vec<Gemgeofmkep>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmahdfekbij {
    #[prost(uint32, tag = "8")]
    pub ehajmefgmgl: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fffhalkegkj {
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    #[prost(uint32, tag = "7")]
    pub ehajmefgmgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dimldanglmn {
    #[prost(uint32, tag = "10")]
    pub ehajmefgmgl: u32,
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hlbenopodnb {
    #[prost(uint32, tag = "11")]
    pub jbpemdknhjn: u32,
    #[prost(uint32, tag = "12")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "10")]
    pub gapcmbhkdca: u32,
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    #[prost(bool, tag = "3")]
    pub dnddalnlfne: bool,
    #[prost(enumeration = "Efeemphmfki", tag = "15")]
    pub state: i32,
    #[prost(uint32, tag = "1")]
    pub liopjjbcjaj: u32,
    #[prost(uint32, tag = "4")]
    pub hp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfimcpneifn {
    #[prost(uint32, repeated, tag = "10")]
    pub idahljjegdc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint64, tag = "6")]
    pub ejjdlmaanij: u64,
    #[prost(enumeration = "Madmjljeldi", tag = "8")]
    pub bgidmjacbkc: i32,
    #[prost(int32, tag = "9")]
    pub oobnpfabfgk: i32,
    #[prost(message, optional, tag = "1")]
    pub beijphhcgnm: ::core::option::Option<Hmoafageiaj>,
    #[prost(message, repeated, tag = "13")]
    pub jcfadclkgaa: ::prost::alloc::vec::Vec<Hlbenopodnb>,
    #[prost(uint32, tag = "11")]
    pub aniedndebfa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Haiikgdhfmo {
    #[prost(uint32, tag = "11")]
    pub mpcdpofaojg: u32,
    #[prost(uint32, tag = "7")]
    pub odnhgifggnl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmoafageiaj {
    #[prost(uint32, tag = "10")]
    pub lonlfnidbjn: u32,
    #[prost(uint32, tag = "11")]
    pub jjhfeikbakk: u32,
    #[prost(uint32, tag = "13")]
    pub maognacblmj: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub lhfgohmoing: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "1")]
    pub bolchjnalmi: u32,
    #[prost(message, optional, tag = "15")]
    pub jnfkjdnmbin: ::core::option::Option<Hpbnofgfhdb>,
    #[prost(enumeration = "Efeemphmfki", tag = "6")]
    pub iaiocfbhnbg: i32,
    #[prost(uint32, tag = "9")]
    pub pcnbghdfgik: u32,
    #[prost(uint32, tag = "3")]
    pub gcjjgmpbadk: u32,
    #[prost(uint32, tag = "14")]
    pub ooknhcelpad: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egdomcmbkob {
    #[prost(message, optional, tag = "10")]
    pub hnchpefnabi: ::core::option::Option<Hmoafageiaj>,
    #[prost(enumeration = "Okdfocfddog", tag = "9")]
    pub dbikbnckfga: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmidnkhnmng {
    #[prost(int32, tag = "12")]
    pub cccpcheengm: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjagceepdfi {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub dbgnkfjcemc: ::prost::alloc::vec::Vec<Neghnnkjcih>,
    #[prost(message, optional, tag = "8")]
    pub data: ::core::option::Option<Nfimcpneifn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Caaplalgklb {
    #[prost(message, optional, tag = "1")]
    pub data: ::core::option::Option<Nfimcpneifn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbpigpadlao {
    #[prost(message, optional, tag = "9")]
    pub bbghlniolnl: ::core::option::Option<Nfimcpneifn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgegpmhodfd {
    #[prost(message, optional, tag = "1")]
    pub pmibcpogofh: ::core::option::Option<Nfimcpneifn>,
    #[prost(message, optional, tag = "12")]
    pub nhckgdnefgf: ::core::option::Option<Nfimcpneifn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgkpkhehgkf {
    #[prost(message, optional, tag = "15")]
    pub lodkomjnnge: ::core::option::Option<Haiikgdhfmo>,
    #[prost(uint32, tag = "6")]
    pub menlccadmai: u32,
    #[prost(message, repeated, tag = "5")]
    pub klkodhgdnfj: ::prost::alloc::vec::Vec<Egdomcmbkob>,
    #[prost(message, optional, tag = "14")]
    pub fcicklnjpjl: ::core::option::Option<Haiikgdhfmo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldpbcmbppoc {
    #[prost(bool, tag = "4")]
    pub hnedhjglkhm: bool,
    #[prost(message, optional, tag = "6")]
    pub akgmbnbeihe: ::core::option::Option<Hmoafageiaj>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub menlccadmai: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcgfphpbdbd {
    #[prost(uint32, tag = "2")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "4")]
    pub hp: u32,
    #[prost(enumeration = "Efeemphmfki", tag = "11")]
    pub state: i32,
    #[prost(uint32, tag = "10")]
    pub aniedndebfa: u32,
    #[prost(uint32, tag = "9")]
    pub jbpemdknhjn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oghljaiehgi {
    #[prost(uint32, tag = "3")]
    pub lcanccbagpf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppnggpbicbo {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub lcanccbagpf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipfimclkeoe {
    #[prost(uint32, tag = "14")]
    pub dcijobahbal: u32,
    #[prost(uint32, tag = "13")]
    pub lcanccbagpf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdfnfekidln {
    #[prost(message, optional, tag = "15")]
    pub data: ::core::option::Option<Nfimcpneifn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssistSimpleInfo {
    #[prost(uint32, tag = "6")]
    pub pos: u32,
    #[prost(uint32, tag = "10")]
    pub dressed_skin_id: u32,
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "1")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgbelfjpcla {
    #[prost(uint32, tag = "2")]
    pub hcbompdonln: u32,
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    #[prost(uint32, tag = "14")]
    pub ldodkngjekc: u32,
    #[prost(uint32, tag = "4")]
    pub mghcpaolndn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abhfpfepmeh {
    #[prost(uint32, tag = "5")]
    pub mbimbfdpmoh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cllnkkibglp {
    #[prost(uint32, tag = "4")]
    pub mbimbfdpmoh: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub agpffiaaicl: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jioekadaafi {
    #[prost(message, optional, tag = "15")]
    pub phhdjgkeomf: ::core::option::Option<Cllnkkibglp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbanomoneae {
    #[prost(message, optional, tag = "5")]
    pub inpgljiopgm: ::core::option::Option<Abhfpfepmeh>,
    #[prost(message, optional, tag = "2")]
    pub maobbemhnnl: ::core::option::Option<Jioekadaafi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhkoekppbaf {
    #[prost(uint32, tag = "13")]
    pub ghnijaobaof: u32,
    #[prost(uint32, tag = "5")]
    pub jhdfhpilfhg: u32,
    #[prost(enumeration = "Kmmiecegekn", tag = "7")]
    pub odiogijpdkh: i32,
    #[prost(message, optional, tag = "1")]
    pub ggblmgkbhbb: ::core::option::Option<Hgbelfjpcla>,
    #[prost(uint32, tag = "8")]
    pub laaoicjfopi: u32,
    #[prost(message, optional, tag = "12")]
    pub enenknligij: ::core::option::Option<Fbanomoneae>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSimpleInfo {
    #[prost(int64, tag = "8")]
    pub logout_time: i64,
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub kpiphlhfiib: u32,
    #[prost(string, tag = "14")]
    pub aionaipakjc: ::prost::alloc::string::String,
    #[prost(enumeration = "FriendOnlineStatus", tag = "10")]
    pub online_status: i32,
    #[prost(message, repeated, tag = "15")]
    pub assist_simple_info_list: ::prost::alloc::vec::Vec<AssistSimpleInfo>,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    #[prost(bool, tag = "6")]
    pub is_banned: bool,
    #[prost(string, tag = "2")]
    pub ejknhjgaibm: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub head_icon: u32,
    #[prost(enumeration = "PlatformType", tag = "9")]
    pub platform: i32,
    #[prost(string, tag = "3")]
    pub ldcholahmei: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub nickname: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgfkeefclbk {
    #[prost(uint32, tag = "10")]
    pub exp: u32,
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    #[prost(uint32, tag = "11")]
    pub tid: u32,
    #[prost(uint32, tag = "4")]
    pub promotion: u32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcenlpbmiph {
    #[prost(uint32, tag = "4")]
    pub exp: u32,
    #[prost(uint32, tag = "12")]
    pub main_affix_id: u32,
    #[prost(message, repeated, tag = "9")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "8")]
    pub tid: u32,
    #[prost(uint32, tag = "11")]
    pub r#type: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatarDetailInfo {
    #[prost(uint32, tag = "12")]
    pub pos: u32,
    #[prost(message, repeated, tag = "10")]
    pub relic_list: ::prost::alloc::vec::Vec<Jcenlpbmiph>,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    #[prost(uint32, tag = "15")]
    pub promotion: u32,
    #[prost(message, repeated, tag = "14")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, optional, tag = "3")]
    pub equipment: ::core::option::Option<Kgfkeefclbk>,
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "6")]
    pub dressed_skin_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njokffdbeem {
    #[prost(uint32, tag = "10")]
    pub apbmgebohpk: u32,
    #[prost(uint32, tag = "6")]
    pub opkipbkchhk: u32,
    #[prost(uint32, tag = "15")]
    pub jbadnddcgfk: u32,
    #[prost(uint32, tag = "12")]
    pub folohmfjflm: u32,
    #[prost(uint32, tag = "9")]
    pub hfmnhpogann: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnmjjccnfbb {
    #[prost(uint32, tag = "5")]
    pub dkdindmgejh: u32,
    #[prost(uint32, tag = "6")]
    pub bfgdpmkbhnb: u32,
    #[prost(uint32, tag = "13")]
    pub pniamoinnjf: u32,
    #[prost(uint32, tag = "1")]
    pub laaoicjfopi: u32,
    #[prost(uint32, tag = "11")]
    pub jjohcdledmo: u32,
    #[prost(uint32, tag = "12")]
    pub eejccfcigdf: u32,
    #[prost(uint32, tag = "2")]
    pub pdhafoaompb: u32,
    #[prost(message, optional, tag = "7")]
    pub chilecolgae: ::core::option::Option<Njokffdbeem>,
    #[prost(uint32, tag = "14")]
    pub ipoclbejiaf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbfenhoeolk {
    #[prost(bool, tag = "3")]
    pub amgbjcgchle: bool,
    #[prost(enumeration = "Kmmiecegekn", tag = "10")]
    pub gljhhoclnfc: i32,
    #[prost(bool, tag = "13")]
    pub aokkoooodcn: bool,
    #[prost(bool, tag = "1")]
    pub ljeelnkpifj: bool,
    #[prost(bool, tag = "8")]
    pub idflcnjjldo: bool,
    #[prost(bool, tag = "12")]
    pub feeelleaepc: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npnocpakfpf {
    #[prost(message, optional, tag = "4")]
    pub enenknligij: ::core::option::Option<Fbanomoneae>,
    #[prost(message, repeated, tag = "14")]
    pub elfejgoegcj: ::prost::alloc::vec::Vec<Hgbelfjpcla>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pplihjclmmk {
    #[prost(message, optional, tag = "1964")]
    pub odhjhjdaeao: ::core::option::Option<Kbfenhoeolk>,
    #[prost(string, tag = "2")]
    pub ldcholahmei: ::prost::alloc::string::String,
    #[prost(string, tag = "1")]
    pub ejknhjgaibm: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub aionaipakjc: ::prost::alloc::string::String,
    #[prost(bool, tag = "10")]
    pub is_banned: bool,
    #[prost(message, repeated, tag = "7")]
    pub dkjoffbkonc: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub gddndionkde: u32,
    #[prost(string, tag = "15")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(uint32, tag = "5")]
    pub world_level: u32,
    #[prost(message, optional, tag = "14")]
    pub lblbpnnnkhg: ::core::option::Option<Hnmjjccnfbb>,
    #[prost(message, optional, tag = "1677")]
    pub imhcelnmonf: ::core::option::Option<Npnocpakfpf>,
    #[prost(message, repeated, tag = "373")]
    pub eglililpgho: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    #[prost(enumeration = "PlatformType", tag = "9")]
    pub platform: i32,
    #[prost(bool, tag = "8")]
    pub hkbddialajk: bool,
    #[prost(uint32, tag = "12")]
    pub head_icon: u32,
    #[prost(uint32, tag = "13")]
    pub cjlfipacgpa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendInfo {
    #[prost(bool, tag = "7")]
    pub niekopdjolm: bool,
    #[prost(message, optional, tag = "2")]
    pub player_simple_info: ::core::option::Option<PlayerSimpleInfo>,
    #[prost(string, tag = "13")]
    pub ddnklblgmaa: ::prost::alloc::string::String,
    #[prost(enumeration = "PlayingState", tag = "9")]
    pub friend_playing_state: i32,
    #[prost(message, optional, tag = "4")]
    pub eejlmfccjnm: ::core::option::Option<Bhkoekppbaf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cekcdgnnckb {
    #[prost(int64, tag = "9")]
    pub jcpgohmfekk: i64,
    #[prost(message, optional, tag = "12")]
    pub player_simple_info: ::core::option::Option<PlayerSimpleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnkhgibodgo {
    #[prost(message, optional, tag = "3")]
    pub player_simple_info: ::core::option::Option<PlayerSimpleInfo>,
    #[prost(bool, tag = "4")]
    pub maoajkjhcdp: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eicmempidic {
    #[prost(message, optional, tag = "8")]
    pub player_simple_info: ::core::option::Option<PlayerSimpleInfo>,
    #[prost(message, optional, tag = "12")]
    pub okfigleaide: ::core::option::Option<DisplayAvatarDetailInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngkjndfaemj {
    #[prost(string, tag = "14")]
    pub ddnklblgmaa: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(string, tag = "6")]
    pub ejknhjgaibm: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(uint32, tag = "12")]
    pub head_icon: u32,
    #[prost(enumeration = "PlatformType", tag = "3")]
    pub platform: i32,
    #[prost(uint32, tag = "7")]
    pub chefliddccj: u32,
    #[prost(string, tag = "9")]
    pub nickname: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hghmkmceakh {
    #[prost(uint32, tag = "6")]
    pub nlmhmojlifm: u32,
    #[prost(uint32, tag = "12")]
    pub cljlifmfbke: u32,
    #[prost(uint32, tag = "14")]
    pub nnllcnegbgn: u32,
    #[prost(message, repeated, tag = "2")]
    pub lineup_list: ::prost::alloc::vec::Vec<Lihcdmopjfn>,
    #[prost(string, tag = "1")]
    pub ddnklblgmaa: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub oggklhikobo: u32,
    #[prost(message, optional, tag = "5")]
    pub player_simple_info: ::core::option::Option<PlayerSimpleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clenlgmhigc {
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    #[prost(uint32, tag = "6")]
    pub hcbompdonln: u32,
    #[prost(message, optional, tag = "2026")]
    pub ffpclkceebe: ::core::option::Option<Ihcmpieknfb>,
    #[prost(message, optional, tag = "1644")]
    pub ifdhlndahhk: ::core::option::Option<Jocgpnelobk>,
    #[prost(message, optional, tag = "826")]
    pub bhacmobjpne: ::core::option::Option<Ceiikiifbbb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kenhbbhjbdk {
    #[prost(message, optional, tag = "12")]
    pub mcnnkhmbakb: ::core::option::Option<Blcmlpgdefi>,
    #[prost(uint32, tag = "4")]
    pub aiaajmnhigl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgkkiacmhfe {
    #[prost(message, optional, tag = "6")]
    pub dcenbjohkme: ::core::option::Option<Aafhgghcnlo>,
    #[prost(uint32, tag = "10")]
    pub ohafnlclkhc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfamgdgfpob {
    #[prost(message, optional, tag = "803")]
    pub cabcjppfikf: ::core::option::Option<Kenhbbhjbdk>,
    #[prost(message, optional, tag = "1332")]
    pub gogdiakjdld: ::core::option::Option<Jgkkiacmhfe>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbmijhadefm {
    #[prost(uint32, tag = "12")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkagkkheocf {
    #[prost(uint32, tag = "13")]
    pub eaennjebhni: u32,
    #[prost(uint32, tag = "6")]
    pub gikfoefkpeb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cibkfcpmfbo {
    #[prost(uint32, tag = "1")]
    pub odbjkadmlpk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdjjgdnnmbg {
    #[prost(enumeration = "DevelopmentType", tag = "4")]
    pub hnhkjbhijkd: i32,
    #[prost(int64, tag = "6")]
    pub time: i64,
    #[prost(message, optional, tag = "475")]
    pub ngkljgonmga: ::core::option::Option<Jbmijhadefm>,
    #[prost(message, optional, tag = "1728")]
    pub oacmcdaphaf: ::core::option::Option<Cibkfcpmfbo>,
    #[prost(uint32, tag = "1490")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "1302")]
    pub meojdpfceoi: u32,
    #[prost(uint32, tag = "1664")]
    pub emidnfoljdj: u32,
    #[prost(message, optional, tag = "321")]
    pub gibjamhfmgl: ::core::option::Option<Kkagkkheocf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoScRsp {
    #[prost(message, repeated, tag = "8")]
    pub hgloaipjiob: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub friend_info_list: ::prost::alloc::vec::Vec<FriendInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amojccdbcfa {
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jlfjneleoan {
    #[prost(message, optional, tag = "8")]
    pub knmbdmpogkc: ::core::option::Option<Pplihjclmmk>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgdkciaekob {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nehanecleip {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub agkhcjfcfmb: ::prost::alloc::vec::Vec<Cekcdgnnckb>,
    #[prost(uint32, repeated, tag = "9")]
    pub khnfpohanid: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhhdfgfmdae {
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    #[prost(enumeration = "Jdbefnkahme", tag = "14")]
    pub source: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bemoggogloi {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpdamcllohd {
    #[prost(message, optional, tag = "4")]
    pub dgjcbnojmga: ::core::option::Option<Cekcdgnnckb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iondeoncfnb {
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    #[prost(bool, tag = "12")]
    pub ffchkmgpfig: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kakegfmajch {
    #[prost(message, optional, tag = "10")]
    pub hngpllpmgld: ::core::option::Option<FriendInfo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(bool, tag = "2")]
    pub ffchkmgpfig: bool,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbnbbkilpic {
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    #[prost(bool, tag = "6")]
    pub ffchkmgpfig: bool,
    #[prost(message, optional, tag = "1")]
    pub hngpllpmgld: ::core::option::Option<FriendInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apbkmnlcknn {
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    #[prost(uint32, tag = "3")]
    pub kjpnhekkpnf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgkhpbkaanm {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnfhedkpdgg {
    #[prost(uint32, tag = "4")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnlnpdpofjc {
    #[prost(uint32, tag = "7")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgomadfnjfk {
    #[prost(message, optional, tag = "14")]
    pub black_info: ::core::option::Option<PlayerSimpleInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmcccmenfhk {
    #[prost(uint32, tag = "14")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcfnffffpdm {
    #[prost(bool, tag = "3")]
    pub fnjaghfgban: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eaegcijmgda {
    #[prost(message, repeated, tag = "15")]
    pub niciipbbime: ::prost::alloc::vec::Vec<Pnkhgibodgo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Koipjmnlcdp {
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(string, tag = "2")]
    pub ddnklblgmaa: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmplgehelih {
    #[prost(string, tag = "5")]
    pub ddnklblgmaa: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anbbenmikfo {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(string, tag = "3")]
    pub bpahgacanmo: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub golbbbndfhm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifpclebonhn {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahjnfgcmnkl {
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acpnplbkhng {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eolackigamn {
    #[prost(uint32, repeated, tag = "6")]
    pub flfkkbbiaan: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "9")]
    pub fnjaghfgban: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knbccjihhph {
    #[prost(message, repeated, tag = "9")]
    pub jdhjejcgbmc: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub aopbnaamlbd: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phihflmngbm {
    #[prost(bool, tag = "2")]
    pub flaegldljod: bool,
    #[prost(bool, tag = "11")]
    pub fnjaghfgban: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apjimedipoi {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub eheaepnegjf: ::prost::alloc::vec::Vec<Eicmempidic>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjfncnaboao {
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    #[prost(uint32, tag = "15")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kclimemlnkk {
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    #[prost(uint32, tag = "14")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldaiihfmofa {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aplffkjfjbm {
    #[prost(message, optional, tag = "5")]
    pub eenmkhcfmam: ::core::option::Option<Eicmempidic>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpnjobmdefa {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdflegclhke {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub apdgcjbjbeh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub hopgjicflla: u32,
    #[prost(uint32, tag = "13")]
    pub pglgekhampa: u32,
    #[prost(uint32, tag = "8")]
    pub nhefodnbopj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odafebmkoie {
    #[prost(uint32, tag = "4")]
    pub nhefodnbopj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbeffnibghl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fggogdjijei {
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "3")]
    pub innlnihphmg: ::prost::alloc::vec::Vec<Ngkjndfaemj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fecolnnfhjm {
    #[prost(message, optional, tag = "13")]
    pub eenmkhcfmam: ::core::option::Option<Eicmempidic>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nghdbkijjcg {
    #[prost(enumeration = "PlatformType", tag = "11")]
    pub platform: i32,
    #[prost(string, repeated, tag = "9")]
    pub kfdkilbfcbf: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmoglcgmmbg {
    #[prost(message, repeated, tag = "4")]
    pub niciipbbime: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgbeopoiefp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eiefpljcckb {
    #[prost(bool, tag = "6")]
    pub gddgfedmkch: bool,
    #[prost(bool, tag = "11")]
    pub pcoccjdlhap: bool,
    #[prost(uint32, repeated, tag = "5")]
    pub bannmihabpk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub iaijiinnbdi: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jikbeflfcek {
    #[prost(bool, tag = "6")]
    pub mfiabipgona: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fglhcdlepkd {
    #[prost(bool, tag = "5")]
    pub mfiabipgona: bool,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blkkadengbd {
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(bool, tag = "11")]
    pub khebcpipadb: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmlfcagfngn {
    #[prost(bool, tag = "14")]
    pub khebcpipadb: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecpcocljmok {
    #[prost(uint32, repeated, tag = "6")]
    pub fnhlkknalkn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub ienomggikon: u32,
    #[prost(bool, tag = "4")]
    pub fnjaghfgban: bool,
    #[prost(enumeration = "AssistAvatarType", tag = "14")]
    pub hhpdedolmcm: i32,
    #[prost(uint32, repeated, tag = "7")]
    pub ihaoedbmofm: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Neflejnkdli {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub ienomggikon: u32,
    #[prost(message, repeated, tag = "3")]
    pub eheaepnegjf: ::prost::alloc::vec::Vec<Eicmempidic>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knbcegogagb {
    #[prost(uint32, tag = "8")]
    pub odbjkadmlpk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmabknghmnf {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(bool, tag = "11")]
    pub cheahmjbmjp: bool,
    #[prost(message, repeated, tag = "1")]
    pub macigcdonoc: ::prost::alloc::vec::Vec<Hghmkmceakh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gepjehgkkde {
    #[prost(uint32, tag = "14")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, tag = "7")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajjcbnchelk {
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub odbjkadmlpk: u32,
    #[prost(message, repeated, tag = "7")]
    pub dcdlbaijgjo: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hppfdhogopi {
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    #[prost(enumeration = "Kmmiecegekn", tag = "12")]
    pub r#type: i32,
    #[prost(uint32, tag = "3")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbalbjdofaa {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    #[prost(message, optional, tag = "773")]
    pub onaeepichmm: ::core::option::Option<Clenlgmhigc>,
    #[prost(message, optional, tag = "93")]
    pub hbnhmpchebe: ::core::option::Option<Lfamgdgfpob>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bahfjkbcglj {
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdpmmlffckj {
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(message, repeated, tag = "10")]
    pub ncbjpkdmdcf: ::prost::alloc::vec::Vec<Hdjjgdnnmbg>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epcdknhldgl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaCeilingAvatar {
    #[prost(uint32, tag = "14")]
    pub repeated_cnt: u32,
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldhikjljmdc {
    #[prost(uint32, tag = "14")]
    pub pdfinfdanea: u32,
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<GachaCeilingAvatar>,
    #[prost(bool, tag = "9")]
    pub opfncplflcc: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkddhjennfp {
    #[prost(int64, tag = "3")]
    pub end_time: i64,
    #[prost(uint32, tag = "15")]
    pub giopaifpinl: u32,
    #[prost(message, optional, tag = "1")]
    pub eegijjhombi: ::core::option::Option<Ldhikjljmdc>,
    #[prost(uint32, repeated, tag = "4")]
    pub hjefpibalip: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub dfdbmelhdpp: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub ibomhpajoji: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, tag = "7")]
    pub fcleoobmbfn: ::prost::alloc::string::String,
    #[prost(int64, tag = "5")]
    pub begin_time: i64,
    #[prost(string, tag = "2")]
    pub mnnlngjlecd: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub jmdimikbkpp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcmaooicbbb {
    #[prost(uint32, tag = "7")]
    pub ghihlfpaejp: u32,
    #[prost(uint32, tag = "12")]
    pub mbdhnchflhc: u32,
    #[prost(uint32, tag = "14")]
    pub jebihnblbbp: u32,
    #[prost(uint32, tag = "3")]
    pub mdklhncahie: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub bgigpbnbcme: ::prost::alloc::vec::Vec<Dkddhjennfp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akphefjekam {
    #[prost(uint32, tag = "7")]
    pub dfdbmelhdpp: u32,
    #[prost(uint32, tag = "10")]
    pub dedelghmmje: u32,
    #[prost(uint32, tag = "13")]
    pub hfjddefdkfn: u32,
    #[prost(uint32, tag = "9")]
    pub ghihlfpaejp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afgjlphfbpn {
    #[prost(message, optional, tag = "13")]
    pub hjghnhljajl: ::core::option::Option<Item>,
    #[prost(message, optional, tag = "8")]
    pub fhfenbcnkei: ::core::option::Option<ItemList>,
    #[prost(bool, tag = "10")]
    pub cdhekghjjce: bool,
    #[prost(message, optional, tag = "15")]
    pub eginhhfhbbh: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfepbnpgejl {
    #[prost(uint32, tag = "13")]
    pub giopaifpinl: u32,
    #[prost(uint32, tag = "10")]
    pub dfdbmelhdpp: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub jmdimikbkpp: u32,
    #[prost(uint32, tag = "6")]
    pub elfckbclpje: u32,
    #[prost(uint32, tag = "4")]
    pub pdfinfdanea: u32,
    #[prost(message, repeated, tag = "1")]
    pub gcejognjecl: ::prost::alloc::vec::Vec<Afgjlphfbpn>,
    #[prost(uint32, tag = "12")]
    pub dedelghmmje: u32,
    #[prost(uint32, tag = "7")]
    pub mbdhnchflhc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jobkcbohhee {
    #[prost(uint32, tag = "7")]
    pub ibhjpdmhedd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnkogepopdi {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub eegijjhombi: ::core::option::Option<Ldhikjljmdc>,
    #[prost(uint32, tag = "9")]
    pub ibhjpdmhedd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfolepefdkj {
    #[prost(uint32, tag = "15")]
    pub ibhjpdmhedd: u32,
    #[prost(uint32, tag = "9")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nglpjmdidpf {
    #[prost(message, optional, tag = "6")]
    pub eginhhfhbbh: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub eegijjhombi: ::core::option::Option<Ldhikjljmdc>,
    #[prost(uint32, tag = "15")]
    pub ibhjpdmhedd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkeolmipgla {
    #[prost(uint32, tag = "11")]
    pub npnaoppmhki: u32,
    #[prost(bool, tag = "3")]
    pub jjllcfbfcpc: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mldgolgchei {
    #[prost(bool, tag = "1")]
    pub bgeolbfcckh: bool,
    #[prost(bool, tag = "6")]
    pub pekhhfmnpmc: bool,
    #[prost(enumeration = "Kabchpbejkk", tag = "12")]
    pub step: i32,
    #[prost(uint32, tag = "4")]
    pub maibejpfdbl: u32,
    #[prost(enumeration = "Anklkgpfoeo", tag = "14")]
    pub hpjfpofaidf: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccooeoedcfn {
    #[prost(uint32, tag = "10")]
    pub cmciflbhfgh: u32,
    #[prost(uint32, tag = "3")]
    pub maibejpfdbl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emdcogmjdgl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcgbnifkaod {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub fnjoacebnbj: ::prost::alloc::vec::Vec<Nkeolmipgla>,
    #[prost(message, repeated, tag = "9")]
    pub mihjnmkjnha: ::prost::alloc::vec::Vec<Mldgolgchei>,
    #[prost(message, repeated, tag = "2")]
    pub egbpdlbaakh: ::prost::alloc::vec::Vec<Ccooeoedcfn>,
    #[prost(enumeration = "Bpafcepnoai", tag = "8")]
    pub pacalnncbke: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kffbhakdhhn {
    #[prost(uint32, tag = "1")]
    pub maibejpfdbl: u32,
    #[prost(enumeration = "Anklkgpfoeo", tag = "5")]
    pub ikkobndobaj: i32,
    #[prost(uint32, tag = "2")]
    pub dondfhaojko: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahagifoddkh {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(enumeration = "Anklkgpfoeo", tag = "9")]
    pub dfbdlfomaij: i32,
    #[prost(uint32, tag = "4")]
    pub maibejpfdbl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmfmhmmapka {
    #[prost(uint32, tag = "11")]
    pub maibejpfdbl: u32,
    #[prost(uint32, tag = "15")]
    pub dondfhaojko: u32,
    #[prost(message, optional, tag = "13")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Keefgllcgnf {
    #[prost(uint32, tag = "9")]
    pub maibejpfdbl: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcniemcmjkf {
    #[prost(uint32, tag = "15")]
    pub maibejpfdbl: u32,
    #[prost(uint32, tag = "1")]
    pub npnaoppmhki: u32,
    #[prost(uint32, tag = "4")]
    pub dondfhaojko: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phnmibhkohd {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub npnaoppmhki: u32,
    #[prost(message, optional, tag = "7")]
    pub iineebblofp: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "4")]
    pub maibejpfdbl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnmlmoenjpc {
    #[prost(message, repeated, tag = "7")]
    pub egkdbekblib: ::prost::alloc::vec::Vec<Mldgolgchei>,
    #[prost(message, repeated, tag = "8")]
    pub egbpdlbaakh: ::prost::alloc::vec::Vec<Ccooeoedcfn>,
    #[prost(enumeration = "Bpafcepnoai", tag = "12")]
    pub pacalnncbke: i32,
    #[prost(message, repeated, tag = "6")]
    pub jcbamendhpb: ::prost::alloc::vec::Vec<Nkeolmipgla>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmhmaomnmif {
    #[prost(message, optional, tag = "12")]
    pub oipopcgkcgo: ::core::option::Option<Ccooeoedcfn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Biggghlnhpn {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub oipopcgkcgo: ::core::option::Option<Ccooeoedcfn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjppoaimelj {
    #[prost(uint32, repeated, tag = "6")]
    pub geocagjdeed: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub agplikiknah: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngjekndcdgf {
    #[prost(bool, tag = "15")]
    pub jieociklnka: bool,
    #[prost(uint32, tag = "12")]
    pub odbjkadmlpk: u32,
    #[prost(uint32, tag = "4")]
    pub ijjfhfincfd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusChallengeLineup {
    #[prost(uint32, tag = "12")]
    pub skill_id: u32,
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmgiaigjooc {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cailloopgkn {
    #[prost(uint32, tag = "3")]
    pub pcepkhpnadk: u32,
    #[prost(message, repeated, tag = "4")]
    pub aclhodmdgpc: ::prost::alloc::vec::Vec<HeliobusChallengeLineup>,
    #[prost(message, optional, tag = "13")]
    pub fnamllelmao: ::core::option::Option<Bjppoaimelj>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub aodhcljdhin: ::prost::alloc::vec::Vec<Ifoknndeeco>,
    #[prost(message, repeated, tag = "10")]
    pub elfejgoegcj: ::prost::alloc::vec::Vec<Ngjekndcdgf>,
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub npcedkpppdp: u32,
    #[prost(uint32, tag = "8")]
    pub phase: u32,
    #[prost(uint32, tag = "14")]
    pub agcapbjnpgc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bidfplciodp {
    #[prost(uint32, tag = "3")]
    pub dlcnejcemgj: u32,
    #[prost(message, repeated, tag = "9")]
    pub mjioddlghkm: ::prost::alloc::vec::Vec<Bidfplciodp>,
    #[prost(uint32, tag = "10")]
    pub fcigeljbmig: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifoknndeeco {
    #[prost(uint32, tag = "6")]
    pub dpnohhgidom: u32,
    #[prost(bool, tag = "14")]
    pub iejhnjifdnj: bool,
    #[prost(uint32, tag = "1")]
    pub olmhmjgmnib: u32,
    #[prost(uint32, tag = "8")]
    pub fdojfkifodo: u32,
    #[prost(uint32, tag = "15")]
    pub empimkfainp: u32,
    #[prost(bool, tag = "3")]
    pub icaegienhnc: bool,
    #[prost(message, repeated, tag = "9")]
    pub dlcamkeihif: ::prost::alloc::vec::Vec<Bidfplciodp>,
    #[prost(uint32, tag = "5")]
    pub ghlamgfiimb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekpangcjemc {
    #[prost(uint32, tag = "15")]
    pub empimkfainp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Halodiipcai {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub empimkfainp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmphldoaemb {
    #[prost(uint32, tag = "15")]
    pub olmhmjgmnib: u32,
    #[prost(uint32, tag = "7")]
    pub empimkfainp: u32,
    #[prost(uint32, tag = "13")]
    pub fdojfkifodo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcjdfcaobfl {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub koanomiijlj: ::core::option::Option<Ifoknndeeco>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjbmnlfnjgj {
    #[prost(uint32, tag = "2")]
    pub empimkfainp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iaeejmmcglf {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub empimkfainp: u32,
    #[prost(bool, tag = "7")]
    pub iejhnjifdnj: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Penffkhfiim {
    #[prost(uint32, tag = "2")]
    pub npnbgpflonn: u32,
    #[prost(uint32, tag = "5")]
    pub empimkfainp: u32,
    #[prost(uint32, tag = "6")]
    pub dlcnejcemgj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aijgkieoggi {
    #[prost(message, optional, tag = "13")]
    pub koanomiijlj: ::core::option::Option<Ifoknndeeco>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbgbmmnbdfo {
    #[prost(message, repeated, tag = "3")]
    pub kgcbnhamndm: ::prost::alloc::vec::Vec<Ifoknndeeco>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckjpdkcljfi {
    #[prost(uint32, tag = "11")]
    pub phase: u32,
    #[prost(message, repeated, tag = "6")]
    pub kgcbnhamndm: ::prost::alloc::vec::Vec<Ifoknndeeco>,
    #[prost(uint32, tag = "3")]
    pub pcepkhpnadk: u32,
    #[prost(uint32, tag = "5")]
    pub agcapbjnpgc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmnjcepdknc {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfihjfmagmp {
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okmdfkfghdf {
    #[prost(uint32, tag = "8")]
    pub cekhcgeegkk: u32,
    #[prost(uint32, tag = "14")]
    pub agplikiknah: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmceejghcbp {
    #[prost(uint32, tag = "12")]
    pub cekhcgeegkk: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adlaclchjkg {
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
    #[prost(message, optional, tag = "7")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ooligehepjm {
    #[prost(uint32, tag = "12")]
    pub cekhcgeegkk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkjefbpkgik {
    #[prost(uint32, tag = "2")]
    pub cekhcgeegkk: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bddehgkhjen {
    #[prost(message, optional, tag = "9")]
    pub bdklapbaoff: ::core::option::Option<Ngjekndcdgf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbndkgolnhb {
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<HeliobusChallengeLineup>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eecifjfckkl {
    #[prost(uint32, tag = "11")]
    pub cekhcgeegkk: u32,
    #[prost(uint32, tag = "1")]
    pub pdgkchlgoha: u32,
    #[prost(bool, tag = "12")]
    pub afgklafkhhg: bool,
    #[prost(uint32, tag = "3")]
    pub eapmdecaenf: u32,
    #[prost(uint32, tag = "2")]
    pub prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkbcldknhlc {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBagCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Equipment {
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(uint32, tag = "10")]
    pub promotion: u32,
    #[prost(uint32, tag = "12")]
    pub tid: u32,
    #[prost(uint32, tag = "5")]
    pub rank: u32,
    #[prost(uint32, tag = "13")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "7")]
    pub exp: u32,
    #[prost(uint32, tag = "2")]
    pub base_avatar_id: u32,
    #[prost(bool, tag = "14")]
    pub is_protected: bool,
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Relic {
    #[prost(uint32, tag = "1")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "15")]
    pub equip_avatar_id: u32,
    #[prost(message, repeated, tag = "14")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    #[prost(bool, tag = "5")]
    pub ongojjkjopd: bool,
    #[prost(bool, tag = "11")]
    pub is_protected: bool,
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub base_avatar_id: u32,
    #[prost(uint32, tag = "6")]
    pub tid: u32,
    #[prost(uint32, tag = "2")]
    pub exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Material {
    #[prost(uint64, tag = "1")]
    pub pihjhfebhom: u64,
    #[prost(uint32, tag = "8")]
    pub num: u32,
    #[prost(uint32, tag = "6")]
    pub tid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aahedljhoeb {
    #[prost(uint32, tag = "5")]
    pub tid: u32,
    #[prost(uint32, tag = "3")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgadhpfbnlj {
    #[prost(uint32, tag = "6")]
    pub tid: u32,
    #[prost(uint64, tag = "12")]
    pub pihjhfebhom: u64,
    #[prost(uint32, tag = "2")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBagScRsp {
    #[prost(message, repeated, tag = "14")]
    pub kkdobdmaipc: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(message, repeated, tag = "3")]
    pub fllcfpejibd: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, repeated, tag = "13")]
    pub lgjeabihdpn: ::prost::alloc::vec::Vec<Aahedljhoeb>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    #[prost(uint32, tag = "7")]
    pub mbedbdbmekj: u32,
    #[prost(message, repeated, tag = "15")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    #[prost(enumeration = "TurnFoodSwitchType", repeated, tag = "8")]
    pub odeefdlejgg: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "9")]
    pub niemagjlpdl: ::prost::alloc::vec::Vec<Hgadhpfbnlj>,
    #[prost(uint32, repeated, tag = "4")]
    pub gddpphikjae: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "2")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    #[prost(uint32, repeated, tag = "6")]
    pub clkjaanbfpp: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "11")]
    pub biahmcppikj: ::prost::alloc::vec::Vec<Hgadhpfbnlj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlbbnjgdpmb {
    #[prost(uint32, tag = "10")]
    pub equipment_unique_id: u32,
    #[prost(message, optional, tag = "12")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oejbdjgccnn {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlmjbhhgplb {
    #[prost(uint32, repeated, tag = "3")]
    pub boigoolhfhg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "6")]
    pub dbnabobjooj: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enobjdfhceg {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnahflfngln {
    #[prost(bool, tag = "9")]
    pub jgapgfhdjjj: bool,
    #[prost(uint32, tag = "13")]
    pub onnkbfefeok: u32,
    #[prost(uint32, tag = "10")]
    pub base_avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub odioghcdmeh: i32,
    #[prost(uint32, tag = "7")]
    pub cankcdddjgc: u32,
    #[prost(uint32, tag = "4")]
    pub mdcfgcppaof: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofiljjocjak {
    #[prost(uint32, tag = "6")]
    pub cankcdddjgc: u32,
    #[prost(message, optional, tag = "4")]
    pub fghjlkadkpp: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint64, tag = "14")]
    pub jhfchkecgec: u64,
    #[prost(uint32, tag = "13")]
    pub onnkbfefeok: u32,
    #[prost(uint32, tag = "15")]
    pub hjcbkpakaja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgncbehekhc {
    #[prost(message, optional, tag = "9")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "2")]
    pub equipment_unique_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pamigdifggm {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fohclmckmfc {
    #[prost(uint32, tag = "6")]
    pub equipment_unique_id: u32,
    #[prost(message, optional, tag = "8")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbhpbafmbhg {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibhabinelmd {
    #[prost(uint32, tag = "10")]
    pub count: u32,
    #[prost(message, optional, tag = "8")]
    pub dfncpdlkaeb: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "7")]
    pub dknfhognnpb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkcjfbafhmf {
    #[prost(uint32, tag = "6")]
    pub count: u32,
    #[prost(uint32, tag = "15")]
    pub dknfhognnpb: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub return_item_list: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcjncnocfmk {
    #[prost(uint32, tag = "15")]
    pub dknfhognnpb: u32,
    #[prost(message, optional, tag = "1")]
    pub dfncpdlkaeb: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "4")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "8")]
    pub count: u32,
    #[prost(uint32, tag = "11")]
    pub afjalkmlpnn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffkmlbhgicd {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub return_item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub dknfhognnpb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbbnlgfdjhb {
    #[prost(message, optional, tag = "1")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "11")]
    pub relic_unique_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghoggkbiahb {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmkgijjjaof {
    #[prost(bool, tag = "7")]
    pub dbnabobjooj: bool,
    #[prost(uint32, tag = "9")]
    pub relic_unique_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppomaoggpek {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub relic_unique_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkmncakofkf {
    #[prost(uint32, tag = "3")]
    pub relic_unique_id: u32,
    #[prost(bool, tag = "5")]
    pub edajhocpkjg: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jeaoilegncg {
    #[prost(bool, tag = "15")]
    pub edajhocpkjg: bool,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clihmfgjiac {
    #[prost(bool, tag = "5")]
    pub anookalgihi: bool,
    #[prost(message, optional, tag = "15")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inpcehjmiih {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub return_item_list: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RechargeSuccNotify {
    #[prost(string, tag = "2")]
    pub channel_order_no: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub product_id: ::prost::alloc::string::String,
    #[prost(uint64, tag = "10")]
    pub month_card_outdate_time: u64,
    #[prost(message, optional, tag = "6")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pknfpedjhkm {
    #[prost(uint32, tag = "11")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeHcoinScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pblbpbngdic {
    #[prost(uint32, tag = "11")]
    pub meojdpfceoi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggegibbokfl {
    #[prost(uint32, repeated, tag = "4")]
    pub amhcggpkhhb: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cinnbeodlna {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "12")]
    pub biahmcppikj: ::prost::alloc::vec::Vec<Hgadhpfbnlj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjinnpbdikh {
    #[prost(uint32, tag = "10")]
    pub cojfmpbjddh: u32,
    #[prost(uint32, tag = "1")]
    pub adoefeijlei: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gohobkakfln {
    #[prost(message, repeated, tag = "5")]
    pub mpdahgfaiil: ::prost::alloc::vec::Vec<Cjinnpbdikh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofdnhfdenli {
    #[prost(message, optional, tag = "15")]
    pub cbnekmnpllm: ::core::option::Option<Cjinnpbdikh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijgnacmdkmn {
    #[prost(uint32, tag = "12")]
    pub kgknhpdjmjg: u32,
    #[prost(uint32, tag = "11")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "2")]
    pub nakamomhjck: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Endikjcmjge {
    #[prost(uint32, tag = "13")]
    pub kgknhpdjmjg: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omidgmfnlpi {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjmdeaplagf {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub febfljeihdd: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jadgeopdcij {
    #[prost(uint32, tag = "13")]
    pub kongbcnifjk: u32,
    #[prost(bool, tag = "6")]
    pub encfkebflnd: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnmfebeojbe {
    #[prost(bool, tag = "11")]
    pub encfkebflnd: bool,
    #[prost(uint32, tag = "3")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipghpogmkkn {
    #[prost(uint32, tag = "15")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcoehakplpo {
    #[prost(enumeration = "TurnFoodSwitchType", repeated, tag = "4")]
    pub odeefdlejgg: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, repeated, tag = "6")]
    pub clkjaanbfpp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bijmeikaeek {
    #[prost(enumeration = "TurnFoodSwitchType", tag = "14")]
    pub cdglbgicdff: i32,
    #[prost(bool, tag = "3")]
    pub afhpnnlndhn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnbjnkhejij {
    #[prost(enumeration = "TurnFoodSwitchType", tag = "2")]
    pub cdglbgicdff: i32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(bool, tag = "11")]
    pub afhpnnlndhn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hlifcmgbblo {
    #[prost(bool, tag = "2")]
    pub ciookfidkdh: bool,
    #[prost(message, repeated, tag = "10")]
    pub necanoepigk: ::prost::alloc::vec::Vec<PileItem>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbdlddochof {
    #[prost(uint32, tag = "10")]
    pub kkooncadaie: u32,
    #[prost(uint32, tag = "15")]
    pub hpfchjlmafe: u32,
    #[prost(uint32, tag = "14")]
    pub ikmbmanmfle: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcgllhjicgm {
    #[prost(uint32, tag = "15")]
    pub laiaceilmlm: u32,
    #[prost(uint32, tag = "12")]
    pub ikmbmanmfle: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnpbdjmdfjg {
    #[prost(uint32, tag = "4")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jclcfbcbicb {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub ceoikpebjfo: ::prost::alloc::vec::Vec<Pcgllhjicgm>,
    #[prost(message, repeated, tag = "14")]
    pub gafefdndemn: ::prost::alloc::vec::Vec<Jbdlddochof>,
    #[prost(message, repeated, tag = "3")]
    pub jmdiebbkibb: ::prost::alloc::vec::Vec<Pcgllhjicgm>,
    #[prost(message, repeated, tag = "13")]
    pub kdcojemehbj: ::prost::alloc::vec::Vec<Jbdlddochof>,
    #[prost(message, repeated, tag = "10")]
    pub hfebmgocimf: ::prost::alloc::vec::Vec<Pcgllhjicgm>,
    #[prost(bool, tag = "1")]
    pub ohnikpmhflc: bool,
    #[prost(uint32, tag = "5")]
    pub edglnhhadgl: u32,
    #[prost(message, repeated, tag = "8")]
    pub ikcnnjdloeg: ::prost::alloc::vec::Vec<Pcgllhjicgm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hoechiompdl {
    #[prost(bool, tag = "13")]
    pub gnkbckejghb: bool,
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Daahomkccaj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmcbiefihgf {
    #[prost(message, repeated, tag = "2")]
    pub nlanglbdgpj: ::prost::alloc::vec::Vec<Hoechiompdl>,
    #[prost(uint32, tag = "12")]
    pub mecnaihkejf: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfgokccoamc {
    #[prost(uint32, tag = "14")]
    pub gneoomfncle: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccgalkjnhbh {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub mecnaihkejf: u32,
    #[prost(uint32, tag = "15")]
    pub gneoomfncle: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Giengjodplp {
    #[prost(uint32, repeated, tag = "5")]
    pub ibpoieflena: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjabnfancgf {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub maafemkldll: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub nlanglbdgpj: ::prost::alloc::vec::Vec<Hoechiompdl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcdoedbeedo {
    #[prost(uint32, tag = "12")]
    pub ndcnlopkgla: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gomomnmeajb {
    #[prost(uint32, tag = "3")]
    pub ndcnlopkgla: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStageLineupCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StageLineup {
    #[prost(uint32, tag = "15")]
    pub stage_type: u32,
    #[prost(uint32, tag = "1")]
    pub lineup_index: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStageLineupScRsp {
    #[prost(message, repeated, tag = "15")]
    pub stage_lineup_list: ::prost::alloc::vec::Vec<StageLineup>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupAvatar {
    #[prost(uint32, tag = "13")]
    pub slot: u32,
    #[prost(uint32, tag = "8")]
    pub satiety: u32,
    #[prost(uint32, tag = "5")]
    pub hp: u32,
    #[prost(message, optional, tag = "11")]
    pub sp: ::core::option::Option<AmountInfo>,
    #[prost(uint32, tag = "15")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "12")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupInfo {
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<LineupAvatar>,
    #[prost(uint32, tag = "11")]
    pub mp: u32,
    #[prost(bool, tag = "2")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "13")]
    pub index: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub acpjmbkckcl: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub plane_id: u32,
    #[prost(string, tag = "5")]
    pub name: ::prost::alloc::string::String,
    #[prost(enumeration = "ExtraLineupType", tag = "10")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "9")]
    pub mp_max: u32,
    #[prost(bool, tag = "6")]
    pub njhblmbfmac: bool,
    #[prost(uint32, tag = "12")]
    pub leader_slot: u32,
    #[prost(uint32, tag = "1")]
    pub bnocoahajkn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinLineupCsReq {
    #[prost(bool, tag = "1")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "7")]
    pub plane_id: u32,
    #[prost(uint32, tag = "15")]
    pub base_avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "2")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "5")]
    pub index: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "12")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "4")]
    pub slot: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinLineupScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitLineupCsReq {
    #[prost(uint32, tag = "5")]
    pub base_avatar_id: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "7")]
    pub extra_lineup_type: i32,
    #[prost(enumeration = "AvatarType", tag = "6")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "10")]
    pub index: u32,
    #[prost(bool, tag = "14")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "15")]
    pub plane_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitLineupScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub plane_id: u32,
    #[prost(uint32, tag = "11")]
    pub base_avatar_id: u32,
    #[prost(bool, tag = "4")]
    pub is_mainline: bool,
    #[prost(bool, tag = "14")]
    pub is_virtual: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwapLineupCsReq {
    #[prost(enumeration = "ExtraLineupType", tag = "12")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "8")]
    pub plane_id: u32,
    #[prost(uint32, tag = "4")]
    pub index: u32,
    #[prost(uint32, tag = "3")]
    pub src_slot: u32,
    #[prost(bool, tag = "10")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "9")]
    pub dst_slot: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwapLineupScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncLineupNotify {
    #[prost(enumeration = "SyncLineupReason", repeated, tag = "4")]
    pub reason_list: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupAvatarData {
    #[prost(uint32, tag = "5")]
    pub hp: u32,
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub magploplcoh: ::prost::alloc::vec::Vec<LineupAvatarData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeLineupLeaderCsReq {
    #[prost(uint32, tag = "6")]
    pub slot: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeLineupLeaderScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub slot: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchLineupIndexCsReq {
    #[prost(uint32, tag = "2")]
    pub index: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchLineupIndexScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub index: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupNameCsReq {
    #[prost(uint32, tag = "5")]
    pub index: u32,
    #[prost(string, tag = "13")]
    pub name: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupNameScRsp {
    #[prost(uint32, tag = "4")]
    pub index: u32,
    #[prost(string, tag = "10")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataScRsp {
    #[prost(message, repeated, tag = "5")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    #[prost(uint32, tag = "3")]
    pub cur_index: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VirtualLineupDestroyNotify {
    #[prost(uint32, tag = "14")]
    pub plane_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupSlotInfo {
    #[prost(enumeration = "AvatarType", tag = "12")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(uint32, tag = "14")]
    pub slot: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceLineupCsReq {
    #[prost(uint32, tag = "15")]
    pub index: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "9")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "7")]
    pub plane_id: u32,
    #[prost(uint32, tag = "6")]
    pub bnocoahajkn: u32,
    #[prost(uint32, tag = "12")]
    pub leader_slot: u32,
    #[prost(bool, tag = "8")]
    pub is_virtual: bool,
    #[prost(message, repeated, tag = "3")]
    pub replace_slot_list: ::prost::alloc::vec::Vec<LineupSlotInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceLineupScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okkoaabldfl {
    #[prost(enumeration = "ExtraLineupType", tag = "14")]
    pub extra_lineup_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbkaacilfef {
    #[prost(message, optional, tag = "13")]
    pub lddndlnleej: ::core::option::Option<Ndkcbdpolah>,
    #[prost(enumeration = "FightGameModeType", tag = "2")]
    pub pbddbplodlm: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aiandmglafb {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub dbgnkfjcemc: ::prost::alloc::vec::Vec<Neghnnkjcih>,
    #[prost(enumeration = "FightGameModeType", tag = "9")]
    pub pbddbplodlm: i32,
    #[prost(uint64, tag = "4")]
    pub kggiencobnl: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkokkgignjm {
    #[prost(uint32, repeated, tag = "14")]
    pub flfkkbbiaan: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gplnkgcahlp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub flfkkbbiaan: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oggpemgdkjf {
    #[prost(uint64, tag = "13")]
    pub kggiencobnl: u64,
    #[prost(message, optional, tag = "11")]
    pub lddndlnleej: ::core::option::Option<Ndkcbdpolah>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjkhdhphdce {
    #[prost(uint64, tag = "7")]
    pub kggiencobnl: u64,
    #[prost(enumeration = "FightGameModeType", tag = "4")]
    pub pbddbplodlm: i32,
    #[prost(message, repeated, tag = "3")]
    pub dbgnkfjcemc: ::prost::alloc::vec::Vec<Neghnnkjcih>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knlijjajolb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pglgapkefih {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aljhmlllkdm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iaackhkdjka {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub dbgnkfjcemc: ::prost::alloc::vec::Vec<Neghnnkjcih>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehagheedidl {
    #[prost(enumeration = "LobbyModifyType", tag = "8")]
    pub r#type: i32,
    #[prost(uint32, tag = "4")]
    pub mjelgighefm: u32,
    #[prost(message, optional, tag = "1")]
    pub lddndlnleej: ::core::option::Option<Ndkcbdpolah>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blbljaejfhh {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilibcjnbamg {
    #[prost(uint32, tag = "2")]
    pub uid: u32,
    #[prost(enumeration = "LobbyModifyType", tag = "4")]
    pub r#type: i32,
    #[prost(message, repeated, tag = "10")]
    pub dbgnkfjcemc: ::prost::alloc::vec::Vec<Neghnnkjcih>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmdefdpmoef {
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhjflpcklff {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgijnaommep {
    #[prost(uint32, tag = "6")]
    pub kggiencobnl: u32,
    #[prost(enumeration = "FightGameModeType", tag = "14")]
    pub pbddbplodlm: i32,
    #[prost(uint32, tag = "4")]
    pub sender_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbdoanjcocb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcggoemldfb {
    #[prost(message, repeated, tag = "10")]
    pub dbgnkfjcemc: ::prost::alloc::vec::Vec<Neghnnkjcih>,
    #[prost(enumeration = "FightGameModeType", tag = "3")]
    pub pbddbplodlm: i32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint64, tag = "1")]
    pub kggiencobnl: u64,
    #[prost(uint64, tag = "2")]
    pub elkhkmoccbc: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Meojjjopnaj {
    #[prost(uint32, tag = "4")]
    pub ddfoljicomi: u32,
    #[prost(uint32, tag = "3")]
    pub offogpbefih: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMail {
    #[prost(string, tag = "6")]
    pub sender: ::prost::alloc::string::String,
    #[prost(int64, tag = "8")]
    pub expire_time: i64,
    #[prost(enumeration = "MailType", tag = "15")]
    pub mail_type: i32,
    #[prost(bool, tag = "1")]
    pub is_read: bool,
    #[prost(uint32, tag = "7")]
    pub id: u32,
    #[prost(uint32, tag = "5")]
    pub template_id: u32,
    #[prost(message, optional, tag = "12")]
    pub attachment: ::core::option::Option<ItemList>,
    #[prost(string, repeated, tag = "9")]
    pub para_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, tag = "11")]
    pub content: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub title: ::prost::alloc::string::String,
    #[prost(int64, tag = "14")]
    pub time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMailScRsp {
    #[prost(message, repeated, tag = "2")]
    pub mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    #[prost(bool, tag = "1")]
    pub is_end: bool,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub start: u32,
    #[prost(uint32, tag = "14")]
    pub total_num: u32,
    #[prost(message, repeated, tag = "5")]
    pub notice_mail_list: ::prost::alloc::vec::Vec<ClientMail>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkReadMailCsReq {
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkReadMailScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelMailCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelMailScRsp {
    #[prost(uint32, repeated, tag = "12")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentCsReq {
    #[prost(uint32, tag = "7")]
    pub mdcfgcppaof: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMailAttachmentItem {
    #[prost(uint32, tag = "12")]
    pub kpjkofoacgp: u32,
    #[prost(uint32, tag = "11")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentScRsp {
    #[prost(message, repeated, tag = "3")]
    pub fail_mail_list: ::prost::alloc::vec::Vec<ClientMailAttachmentItem>,
    #[prost(uint32, repeated, tag = "11")]
    pub succ_mail_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub attachment: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewMailScNotify {
    #[prost(uint32, repeated, tag = "2")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbppapbcodd {
    #[prost(message, repeated, tag = "14")]
    pub nmllmmaknaa: ::prost::alloc::vec::Vec<Fjlegpafbjc>,
    #[prost(uint32, tag = "7")]
    pub abedbjhgkdm: u32,
    #[prost(message, repeated, tag = "9")]
    pub oobimhigndl: ::prost::alloc::vec::Vec<Lhaplanllnl>,
    #[prost(bool, tag = "1")]
    pub kdcigmhpihm: bool,
    #[prost(message, optional, tag = "13")]
    pub lonlfnidbjn: ::core::option::Option<Bcknodjhhde>,
    #[prost(message, optional, tag = "15")]
    pub ookhlecbckf: ::core::option::Option<Ijjhkdnfkmd>,
    #[prost(int32, tag = "11")]
    pub pdldamioaja: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcknodjhhde {
    #[prost(uint32, tag = "6")]
    pub hahkfdheaci: u32,
    #[prost(uint32, tag = "7")]
    pub cajenadlkne: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijjhkdnfkmd {
    #[prost(message, optional, tag = "15")]
    pub ggjlnhghdeg: ::core::option::Option<Vector>,
    #[prost(message, optional, tag = "8")]
    pub gnhjbgfembm: ::core::option::Option<Aeklimbakcl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aphlakcflog {
    #[prost(uint32, tag = "7")]
    pub abedbjhgkdm: u32,
    #[prost(message, optional, tag = "5")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "14")]
    pub pdldamioaja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cailcgihcnm {
    #[prost(message, optional, tag = "9")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "6")]
    pub abedbjhgkdm: u32,
    #[prost(uint32, tag = "5")]
    pub pdldamioaja: u32,
    #[prost(uint32, tag = "14")]
    pub lgflfajffjl: u32,
    #[prost(message, optional, tag = "7")]
    pub lonlfnidbjn: ::core::option::Option<Bcknodjhhde>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhaplanllnl {
    #[prost(uint32, tag = "7")]
    pub onambfcpgol: u32,
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klofemcjjmf {
    #[prost(message, optional, tag = "2")]
    pub mffnflimain: ::core::option::Option<Lhaplanllnl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oopmnlcnbfi {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub mffnflimain: ::core::option::Option<Lhaplanllnl>,
    #[prost(message, optional, tag = "12")]
    pub lonlfnidbjn: ::core::option::Option<Bcknodjhhde>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjlegpafbjc {
    #[prost(uint32, tag = "13")]
    pub onambfcpgol: u32,
    #[prost(float, tag = "1")]
    pub ggafhkplkgl: f32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfmcjhkahlg {
    #[prost(message, optional, tag = "2")]
    pub bihfpalnakm: ::core::option::Option<Fjlegpafbjc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hceajjndgel {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub lonlfnidbjn: ::core::option::Option<Bcknodjhhde>,
    #[prost(message, optional, tag = "6")]
    pub bihfpalnakm: ::core::option::Option<Fjlegpafbjc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmhheamgpjc {
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    #[prost(message, optional, tag = "12")]
    pub ookhlecbckf: ::core::option::Option<Ijjhkdnfkmd>,
    #[prost(message, optional, tag = "15")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "5")]
    pub onambfcpgol: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mokkldalbmb {
    #[prost(uint32, tag = "11")]
    pub lgflfajffjl: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub motion: ::core::option::Option<MotionInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpjgmjnokgm {
    #[prost(message, optional, tag = "11")]
    pub motion: ::core::option::Option<MotionInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckfeeboabio {
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub lgflfajffjl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fipbkhfjnnf {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggecgogpedh {
    #[prost(int32, tag = "14")]
    pub pdldamioaja: i32,
    #[prost(uint32, tag = "10")]
    pub abedbjhgkdm: u32,
    #[prost(message, repeated, tag = "15")]
    pub nmllmmaknaa: ::prost::alloc::vec::Vec<Fjlegpafbjc>,
    #[prost(bool, tag = "7")]
    pub ghdompeikmn: bool,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub lonlfnidbjn: ::core::option::Option<Bcknodjhhde>,
    #[prost(message, repeated, tag = "11")]
    pub oobimhigndl: ::prost::alloc::vec::Vec<Lhaplanllnl>,
    #[prost(message, optional, tag = "4")]
    pub ookhlecbckf: ::core::option::Option<Ijjhkdnfkmd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnldpmnodkk {
    #[prost(message, optional, tag = "4")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(message, optional, tag = "14")]
    pub ookhlecbckf: ::core::option::Option<Ijjhkdnfkmd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhpoidhjknp {
    #[prost(uint32, tag = "9")]
    pub lgflfajffjl: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plkdpidilfb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnhcbllmhnc {
    #[prost(message, optional, tag = "12")]
    pub lonlfnidbjn: ::core::option::Option<Bcknodjhhde>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egcchepgmhp {
    #[prost(message, repeated, tag = "1")]
    pub nmllmmaknaa: ::prost::alloc::vec::Vec<Fjlegpafbjc>,
    #[prost(int32, tag = "10")]
    pub pdldamioaja: i32,
    #[prost(message, repeated, tag = "7")]
    pub oobimhigndl: ::prost::alloc::vec::Vec<Lhaplanllnl>,
    #[prost(bool, tag = "4")]
    pub ghdompeikmn: bool,
    #[prost(message, optional, tag = "6")]
    pub lonlfnidbjn: ::core::option::Option<Bcknodjhhde>,
    #[prost(message, optional, tag = "3")]
    pub ookhlecbckf: ::core::option::Option<Ijjhkdnfkmd>,
    #[prost(uint32, tag = "15")]
    pub abedbjhgkdm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knpddpjlkpl {
    #[prost(message, optional, tag = "6")]
    pub bihfpalnakm: ::core::option::Option<Fjlegpafbjc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpjlgmafmip {
    #[prost(message, optional, tag = "13")]
    pub bihfpalnakm: ::core::option::Option<Fjlegpafbjc>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub lonlfnidbjn: ::core::option::Option<Bcknodjhhde>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agfjlghnebj {
    #[prost(message, repeated, tag = "15")]
    pub nmllmmaknaa: ::prost::alloc::vec::Vec<Fjlegpafbjc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjhbjbbhbag {
    #[prost(message, optional, tag = "2")]
    pub lddndlnleej: ::core::option::Option<Ndkcbdpolah>,
    #[prost(enumeration = "FightGameModeType", tag = "1")]
    pub pbddbplodlm: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbkkcboghno {
    #[prost(message, optional, tag = "4")]
    pub lddndlnleej: ::core::option::Option<Ndkcbdpolah>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Laephjaailf {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfggahoogjg {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhgjkobeflo {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub dbgnkfjcemc: ::prost::alloc::vec::Vec<Neghnnkjcih>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjaodjihknn {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkflllnogbb {
    #[prost(enumeration = "FightGameModeType", tag = "15")]
    pub pbddbplodlm: i32,
    #[prost(uint64, tag = "13")]
    pub kggiencobnl: u64,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint64, tag = "9")]
    pub elkhkmoccbc: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkggjlbojlg {
    #[prost(message, optional, tag = "3")]
    pub jnfkjdnmbin: ::core::option::Option<Hpbnofgfhdb>,
    #[prost(uint32, tag = "5")]
    pub mjhdnkinikj: u32,
    #[prost(uint32, tag = "9")]
    pub eobipjnmcbm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdhafhlnnia {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjnbmmoonpe {
    #[prost(uint32, tag = "4")]
    pub llbejfjganl: u32,
    #[prost(uint32, tag = "3")]
    pub gagdneodein: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njfhfhojfia {
    #[prost(uint32, tag = "9")]
    pub pos: u32,
    #[prost(uint32, tag = "6")]
    pub hehnljdaikb: u32,
    #[prost(uint32, tag = "3")]
    pub dkgkfmgobco: u32,
    #[prost(uint32, tag = "15")]
    pub count: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkanlhfleoo {
    #[prost(message, repeated, tag = "3")]
    pub kimibodpfao: ::prost::alloc::vec::Vec<Njfhfhojfia>,
    #[prost(message, repeated, tag = "5")]
    pub kfkijpmapbj: ::prost::alloc::vec::Vec<Fjnbmmoonpe>,
    #[prost(map = "uint32, uint32", tag = "10")]
    pub foaankeadeh: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, uint32", tag = "14")]
    pub oojpocdjmkg: ::std::collections::HashMap<u32, u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pilmolcncke {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub modbhdbhcog: ::core::option::Option<Hkanlhfleoo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opodmgfhihc {
    #[prost(uint32, tag = "11")]
    pub hehnljdaikb: u32,
    #[prost(uint32, tag = "15")]
    pub dkgkfmgobco: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub ipfkgjhelic: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub llbejfjganl: u32,
    #[prost(map = "uint32, uint32", tag = "7")]
    pub foaankeadeh: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "10")]
    pub gagdneodein: u32,
    #[prost(string, tag = "9")]
    pub npgnkdnhkna: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdpfhghpgki {
    #[prost(uint32, tag = "12")]
    pub gagdneodein: u32,
    #[prost(uint32, tag = "6")]
    pub llbejfjganl: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pklheinmeef {
    #[prost(message, optional, tag = "3")]
    pub modbhdbhcog: ::core::option::Option<Hkanlhfleoo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnhbefgbijg {
    #[prost(uint32, tag = "10")]
    pub pos: u32,
    #[prost(uint32, tag = "13")]
    pub dkgkfmgobco: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddckmoglbfe {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub pos: u32,
    #[prost(uint32, tag = "12")]
    pub dkgkfmgobco: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knlcegdbmcc {
    #[prost(uint32, repeated, tag = "5")]
    pub jlhbkjncege: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eefpegmkfnf {
    #[prost(uint32, tag = "1")]
    pub objnkjnnnfk: u32,
    #[prost(uint32, tag = "8")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efcbphcnojo {
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(message, repeated, tag = "6")]
    pub item_list: ::prost::alloc::vec::Vec<Eefpegmkfnf>,
    #[prost(enumeration = "Cpfadidefce", tag = "7")]
    pub status: i32,
    #[prost(uint32, tag = "13")]
    pub hfpahcfdcam: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub alflnhjddho: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bohdkjenakj {
    #[prost(int64, tag = "4")]
    pub ppaahclfled: i64,
    #[prost(uint32, tag = "13")]
    pub ickfaaooiai: u32,
    #[prost(message, repeated, tag = "12")]
    pub fbfldmnngdi: ::prost::alloc::vec::Vec<Efcbphcnojo>,
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(enumeration = "Jeiomeagmoj", tag = "11")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maehlcokfle {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub ddambcjdlin: ::prost::alloc::vec::Vec<Bohdkjenakj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnbhlimklbp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilmdbehiekn {
    #[prost(uint32, tag = "6")]
    pub npc_id: u32,
    #[prost(bool, tag = "7")]
    pub kgfaomaabkm: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mggjbkmling {
    #[prost(enumeration = "Jeiomeagmoj", tag = "13")]
    pub loagocnildj: i32,
    #[prost(int64, tag = "14")]
    pub ppaahclfled: i64,
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nglngbhcacb {
    #[prost(enumeration = "Cpfadidefce", tag = "10")]
    pub aheblhdlkke: i32,
    #[prost(uint32, tag = "14")]
    pub section_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhmobhdfpcf {
    #[prost(message, repeated, tag = "11")]
    pub cmilnollbfg: ::prost::alloc::vec::Vec<Ilmdbehiekn>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfiekefimpm {
    #[prost(uint32, tag = "5")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "10")]
    pub objnkjnnnfk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iccekjfbmgh {
    #[prost(uint32, tag = "13")]
    pub objnkjnnnfk: u32,
    #[prost(uint32, tag = "3")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gedpekeacnn {
    #[prost(uint32, tag = "14")]
    pub section_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agnabkolmkb {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub section_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bolebhdhpjd {
    #[prost(message, repeated, tag = "10")]
    pub item_list: ::prost::alloc::vec::Vec<Eefpegmkfnf>,
    #[prost(uint32, tag = "1")]
    pub section_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjldcgpgagk {
    #[prost(message, repeated, tag = "7")]
    pub item_list: ::prost::alloc::vec::Vec<Eefpegmkfnf>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub section_id: u32,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dminilnjcfo {
    #[prost(uint32, tag = "11")]
    pub pkbaakbjgdl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phogfeglegc {
    #[prost(uint32, tag = "14")]
    pub pkbaakbjgdl: u32,
    #[prost(uint32, tag = "12")]
    pub hdjienmmjhm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llpepginlpl {
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "10")]
    pub bcmggbcemlb: ::core::option::Option<Phogfeglegc>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emmcophakel {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iiljoaffapg {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub gldhbjpofie: ::prost::alloc::vec::Vec<Phogfeglegc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgjlcndinjk {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdkejeeefee {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmmdlaicama {
    #[prost(uint32, repeated, tag = "14")]
    pub agacienilgb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub hhegdklhcfn: u32,
    #[prost(uint32, tag = "8")]
    pub r#type: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hammfngllco {
    #[prost(message, repeated, tag = "14")]
    pub ailmeibgohc: ::prost::alloc::vec::Vec<Jmmdlaicama>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbimiknkjml {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edbkplopalc {
    #[prost(enumeration = "Nechakflhkl", tag = "15")]
    pub r#type: i32,
    #[prost(string, repeated, tag = "5")]
    pub cjlceanojck: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(uint32, repeated, tag = "10")]
    pub agnanjmkbib: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Objjmjmpedf {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apenjoiedpp {
    #[prost(string, tag = "1")]
    pub hjbfdkkcpfo: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aephfioobki {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpggdjcjcef {
    #[prost(uint32, tag = "15")]
    pub njinbccpkme: u32,
    #[prost(enumeration = "Doipbglcoog", tag = "10")]
    pub r#type: i32,
    #[prost(uint32, tag = "12")]
    pub lbonpinpbch: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjoamnnhlnb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lepnladjina {
    #[prost(message, repeated, tag = "5")]
    pub fngediccffe: ::prost::alloc::vec::Vec<Mpggdjcjcef>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfdcanneaim {
    #[prost(message, optional, tag = "13")]
    pub hcffkfpnecc: ::core::option::Option<Mpggdjcjcef>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eggbgimdnid {
    #[prost(message, optional, tag = "15")]
    pub hcffkfpnecc: ::core::option::Option<Mpggdjcjcef>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hplgiddciha {
    #[prost(uint32, tag = "5")]
    pub hmfmcbhmcka: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcipikclkgg {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub hmfmcbhmcka: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djkkjhioban {
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(bool, tag = "8")]
    pub penakmhegkf: bool,
    #[prost(uint32, tag = "10")]
    pub lbonpinpbch: u32,
    #[prost(uint32, tag = "11")]
    pub imhmjklmgko: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elgcdkndfln {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekfnmipkdgj {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub fdjoojenekj: ::prost::alloc::vec::Vec<Djkkjhioban>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fohanhffjfp {
    #[prost(uint64, tag = "6")]
    pub npgnkdnhkna: u64,
    #[prost(uint32, tag = "15")]
    pub nngbdjdnkaf: u32,
    #[prost(message, optional, tag = "4")]
    pub eddcppjchfh: ::core::option::Option<Djkkjhioban>,
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alliepehklm {
    #[prost(message, optional, tag = "12")]
    pub eddcppjchfh: ::core::option::Option<Djkkjhioban>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmkmajkkbgn {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aafagkccael {
    #[prost(enumeration = "Bkefjbidjmj", tag = "11")]
    pub r#type: i32,
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "7")]
    pub nmhpkmdmmpa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mission {
    #[prost(enumeration = "MissionStatus", tag = "6")]
    pub status: i32,
    #[prost(uint32, tag = "11")]
    pub progress: u32,
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flnonojipob {
    #[prost(uint32, tag = "10")]
    pub lmfadlckloe: u32,
    #[prost(uint32, tag = "8")]
    pub index: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcmppahldim {
    #[prost(message, repeated, tag = "7")]
    pub cknnpogkead: ::prost::alloc::vec::Vec<Flnonojipob>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bchgdinkogn {
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(message, repeated, tag = "2")]
    pub cknnpogkead: ::prost::alloc::vec::Vec<Flnonojipob>,
    #[prost(enumeration = "MissionStatus", tag = "10")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idanaepffnp {
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(message, optional, tag = "662")]
    pub cknnpogkead: ::core::option::Option<Pcmppahldim>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionCustomValue {
    #[prost(uint32, tag = "14")]
    pub apkmcgkeofa: u32,
    #[prost(message, optional, tag = "1")]
    pub cknnpogkead: ::core::option::Option<Pcmppahldim>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnpplnbhcoc {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(bool, tag = "10")]
    pub amibmjoandk: bool,
    #[prost(message, repeated, tag = "8")]
    pub pgincebgbij: ::prost::alloc::vec::Vec<Bchgdinkogn>,
    #[prost(message, repeated, tag = "7")]
    pub ljgjeelffdd: ::prost::alloc::vec::Vec<Mission>,
    #[prost(uint32, tag = "1")]
    pub lkagmnmopnb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldgckmkbeoa {
    #[prost(uint32, tag = "1")]
    pub apkmcgkeofa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hakdgogckmp {
    #[prost(uint32, tag = "14")]
    pub apkmcgkeofa: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bogjghfphae {
    #[prost(string, tag = "2")]
    pub foaeacjbdcc: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "5")]
    pub cknnpogkead: ::prost::alloc::vec::Vec<Flnonojipob>,
    #[prost(uint32, tag = "11")]
    pub pjocnjdaigc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahkipalejcm {
    #[prost(uint32, tag = "3")]
    pub pjocnjdaigc: u32,
    #[prost(string, tag = "9")]
    pub foaeacjbdcc: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub cknnpogkead: ::prost::alloc::vec::Vec<Flnonojipob>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpaeihadnad {
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub apkmcgkeofa: u32,
    #[prost(uint32, tag = "13")]
    pub pjocnjdaigc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgejcjhiinh {
    #[prost(uint32, tag = "10")]
    pub pjocnjdaigc: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTaskCsReq {
    #[prost(string, tag = "5")]
    pub key: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTaskScRsp {
    #[prost(string, tag = "14")]
    pub key: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kffgflopdkl {
    #[prost(uint32, tag = "10")]
    pub apkmcgkeofa: u32,
    #[prost(bool, tag = "5")]
    pub meiaeckgfpe: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbbcgdkihom {
    #[prost(uint32, tag = "8")]
    pub meoahnbbnkg: u32,
    #[prost(message, repeated, tag = "12")]
    pub nfpmanhbdhm: ::prost::alloc::vec::Vec<Kffgflopdkl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncgdoogoald {
    #[prost(uint32, repeated, tag = "1")]
    pub okdlnenglcb: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epagndbbjfa {
    #[prost(message, optional, tag = "8")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub pjocnjdaigc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nldkcfnnlnf {
    #[prost(uint32, tag = "12")]
    pub pjocnjdaigc: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkmlkladnal {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnkdmigocmb {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub lakdcghjpaa: ::prost::alloc::vec::Vec<Mission>,
    #[prost(uint32, tag = "4")]
    pub kpbihgcpnco: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfhealnjhch {
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub mission_event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMissionEventCsReq {
    #[prost(uint32, tag = "14")]
    pub mission_event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMissionEventScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub mission_event: ::core::option::Option<Mission>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusCsReq {
    #[prost(uint32, repeated, tag = "3")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub mission_event_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub unfinished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub disabled_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub sub_mission_status_list: ::prost::alloc::vec::Vec<Mission>,
    #[prost(message, repeated, tag = "6")]
    pub main_mission_mcv_list: ::prost::alloc::vec::Vec<MissionCustomValue>,
    #[prost(message, repeated, tag = "12")]
    pub mission_event_status_list: ::prost::alloc::vec::Vec<Mission>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkdkdkjbbgn {
    #[prost(uint32, tag = "8")]
    pub mission_event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nihjbnnnenj {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub mission_event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jebggelddhe {
    #[prost(uint32, tag = "9")]
    pub progress: u32,
    #[prost(uint32, tag = "12")]
    pub mission_event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfbehiepbpj {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfdghdcjjdp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbnfkfibila {
    #[prost(uint32, tag = "14")]
    pub lgflfajffjl: u32,
    #[prost(message, optional, tag = "2")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enllopigcoc {
    #[prost(uint32, tag = "2")]
    pub pjocnjdaigc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akfjjncdkaj {
    #[prost(uint32, tag = "4")]
    pub apkmcgkeofa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jlnnbgpmedg {
    #[prost(uint32, repeated, tag = "5")]
    pub mission_event_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Himcjpidbkk {
    #[prost(message, repeated, tag = "12")]
    pub pgincebgbij: ::prost::alloc::vec::Vec<Bchgdinkogn>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogdaeffkhoc {
    #[prost(uint32, repeated, tag = "10")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgchaflkmim {
    #[prost(uint32, tag = "10")]
    pub jkgloofohpi: u32,
    #[prost(enumeration = "Lmjigjpjlip", tag = "2")]
    pub lgmenkjndej: i32,
    #[prost(uint32, tag = "4")]
    pub lkagmnmopnb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkfgkhjimep {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub pbjfiidelam: u32,
    #[prost(uint32, tag = "2")]
    pub lkagmnmopnb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljephjgbfhk {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccamipdcopk {
    #[prost(uint32, tag = "2")]
    pub nlkilgelkjl: u32,
    #[prost(uint32, tag = "9")]
    pub niphnkaagkk: u32,
    #[prost(uint32, tag = "1")]
    pub imgndjolbmg: u32,
    #[prost(uint32, tag = "12")]
    pub omfnhdfpajg: u32,
    #[prost(bool, tag = "4")]
    pub lbhgaokhpgk: bool,
    #[prost(bool, tag = "13")]
    pub nkgahmgeeim: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eglahpkodhl {
    #[prost(uint32, repeated, tag = "14")]
    pub cmjcjamgfka: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Agkfccmalgg", tag = "8")]
    pub gnoieideojn: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Illcajagiof {
    #[prost(uint32, tag = "8")]
    pub progress: u32,
    #[prost(uint32, tag = "6")]
    pub olfdnkddoja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alkajkfoicn {
    #[prost(uint64, tag = "2")]
    pub icogneiooja: u64,
    #[prost(bool, tag = "3")]
    pub fccaekbfagd: bool,
    #[prost(bool, tag = "12")]
    pub bhhgdckmnik: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljfmaopakkm {
    #[prost(string, tag = "1262")]
    pub pegieifdeme: ::prost::alloc::string::String,
    #[prost(uint64, tag = "13")]
    pub ldnidhhjaef: u64,
    #[prost(string, tag = "2022")]
    pub ombkpbalhci: ::prost::alloc::string::String,
    #[prost(uint64, tag = "15")]
    pub emahlfmommb: u64,
    #[prost(message, repeated, tag = "6")]
    pub jndegkhbmmc: ::prost::alloc::vec::Vec<Alkajkfoicn>,
    #[prost(string, tag = "237")]
    pub lmkjkcgkjfb: ::prost::alloc::string::String,
    #[prost(uint64, tag = "1")]
    pub ibdhkdjfjkn: u64,
    #[prost(uint32, tag = "9")]
    pub cfmcmogidgd: u32,
    #[prost(message, repeated, tag = "11")]
    pub bhcpgjmkmhp: ::prost::alloc::vec::Vec<Illcajagiof>,
    #[prost(uint32, tag = "8")]
    pub kbpjeomhdpm: u32,
    #[prost(uint32, tag = "3")]
    pub bhagbifgplh: u32,
    #[prost(bool, tag = "10")]
    pub ideaickbbjd: bool,
    #[prost(message, repeated, tag = "2")]
    pub nibcblbnlan: ::prost::alloc::vec::Vec<Illcajagiof>,
    #[prost(message, repeated, tag = "7")]
    pub ffejldalnlb: ::prost::alloc::vec::Vec<Illcajagiof>,
    #[prost(uint32, tag = "4")]
    pub gemolkmkbhp: u32,
    #[prost(uint32, tag = "5")]
    pub dmnoipneagc: u32,
    #[prost(uint32, tag = "14")]
    pub gnkgihkpikh: u32,
    #[prost(message, repeated, tag = "12")]
    pub mbgjolllaoo: ::prost::alloc::vec::Vec<Illcajagiof>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngcnolinghe {
    #[prost(message, repeated, tag = "15")]
    pub aagpelmbgkg: ::prost::alloc::vec::Vec<Ljfmaopakkm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbiieacbhmg {
    #[prost(message, optional, tag = "10")]
    pub bheifkaahag: ::core::option::Option<Ngcnolinghe>,
    #[prost(message, optional, tag = "5")]
    pub eabhnjgmlpo: ::core::option::Option<Ihnfheecbfd>,
    #[prost(message, optional, tag = "3")]
    pub mgfhicnpepl: ::core::option::Option<Gmiibmahjel>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub dolgaplnklc: ::core::option::Option<Eglahpkodhl>,
    #[prost(message, optional, tag = "6")]
    pub ookhlecbckf: ::core::option::Option<Incnkafjdia>,
    #[prost(message, optional, tag = "13")]
    pub stt: ::core::option::Option<Dfppioobefm>,
    #[prost(message, optional, tag = "1")]
    pub jieonfbnpno: ::core::option::Option<Fmnkoiamelc>,
    #[prost(message, optional, tag = "11")]
    pub afdjaolnllb: ::core::option::Option<Ccamipdcopk>,
    #[prost(message, optional, tag = "8")]
    pub dekhjhmefca: ::core::option::Option<Odeeolpocja>,
    #[prost(uint32, repeated, tag = "14")]
    pub pllaokdbfpf: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "9")]
    pub hkdildnkelb: ::core::option::Option<Jilnijnfmlg>,
    #[prost(message, optional, tag = "2")]
    pub eodeachafpb: ::core::option::Option<Bfgcddkaiin>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihnfheecbfd {
    #[prost(uint32, repeated, tag = "8")]
    pub bdpdomaihjc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iagfojnnlcm {
    #[prost(message, optional, tag = "13")]
    pub eabhnjgmlpo: ::core::option::Option<Ihnfheecbfd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfppioobefm {
    #[prost(uint32, repeated, tag = "5")]
    pub lkhhaohbipe: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub dmcofimhjfa: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbjaddgkgpb {
    #[prost(message, optional, tag = "12")]
    pub stt: ::core::option::Option<Dfppioobefm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocmdedekihf {
    #[prost(uint32, tag = "2")]
    pub aiaajmnhigl: u32,
    #[prost(uint32, tag = "6")]
    pub kgjdelhgfgb: u32,
    #[prost(enumeration = "Jkpddlchlhe", tag = "3")]
    pub ddjcmkgcjgd: i32,
    #[prost(bool, tag = "8")]
    pub bbfiacplbpo: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Incnkafjdia {
    #[prost(message, optional, tag = "6")]
    pub klomfkobeel: ::core::option::Option<Ocmdedekihf>,
    #[prost(message, repeated, tag = "8")]
    pub mojbhmonijj: ::prost::alloc::vec::Vec<Ocmdedekihf>,
    #[prost(uint32, tag = "5")]
    pub amkdekoccph: u32,
    #[prost(uint32, tag = "1")]
    pub kcmebbdpfcd: u32,
    #[prost(message, repeated, tag = "12")]
    pub fhmfhmpallk: ::prost::alloc::vec::Vec<Ocmdedekihf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhhophddbmh {
    #[prost(message, repeated, tag = "5")]
    pub mojbhmonijj: ::prost::alloc::vec::Vec<Ocmdedekihf>,
    #[prost(message, repeated, tag = "9")]
    pub fhmfhmpallk: ::prost::alloc::vec::Vec<Ocmdedekihf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehbffgnelgh {
    #[prost(uint32, tag = "13")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmkdklhhbfa {
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oefblhfakph {
    #[prost(uint32, tag = "15")]
    pub ioekbipblda: u32,
    #[prost(uint32, tag = "7")]
    pub mabnfbojodg: u32,
    #[prost(uint32, tag = "13")]
    pub event_id: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub bkoagkcpklc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Negiahemfik {
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    #[prost(uint32, tag = "12")]
    pub dhljbmgighn: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub bkoagkcpklc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub ioekbipblda: u32,
    #[prost(uint32, tag = "3")]
    pub fdkopaehlmh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odlejagchng {
    #[prost(uint32, tag = "7")]
    pub nlalocnbgop: u32,
    #[prost(message, repeated, tag = "13")]
    pub igiboenedgj: ::prost::alloc::vec::Vec<Mfdbmfcijid>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Infekcgkcoc {
    #[prost(uint32, tag = "1")]
    pub lahjjpoimkg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjcpndcibnn {
    #[prost(uint32, tag = "10")]
    pub hioldiglggj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmiipaieeab {
    #[prost(uint32, tag = "4")]
    pub hohkanmnmbd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahkeakbnkjp {
    #[prost(uint32, tag = "11")]
    pub jmfjfhlkano: u32,
    #[prost(uint32, tag = "6")]
    pub nfkbnjjpnih: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfdbmfcijid {
    #[prost(uint32, tag = "12")]
    pub bjfekapngpo: u32,
    #[prost(message, optional, tag = "2")]
    pub bpjnbbchodn: ::core::option::Option<Ehbffgnelgh>,
    #[prost(message, optional, tag = "10")]
    pub fhmobfckppj: ::core::option::Option<Jmkdklhhbfa>,
    #[prost(message, optional, tag = "11")]
    pub llfocnhhjdg: ::core::option::Option<Oefblhfakph>,
    #[prost(message, optional, tag = "3")]
    pub pjfndpbnkmm: ::core::option::Option<Infekcgkcoc>,
    #[prost(message, optional, tag = "7")]
    pub akelhmigmcl: ::core::option::Option<Cjcpndcibnn>,
    #[prost(message, optional, tag = "9")]
    pub obmjckmgkaj: ::core::option::Option<Hmiipaieeab>,
    #[prost(message, optional, tag = "4")]
    pub iapmgjoihbp: ::core::option::Option<Ahkeakbnkjp>,
    #[prost(message, optional, tag = "1")]
    pub dmmanbndjja: ::core::option::Option<Negiahemfik>,
    #[prost(message, optional, tag = "15")]
    pub lampidafmlc: ::core::option::Option<Odlejagchng>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfgcddkaiin {
    #[prost(message, optional, tag = "12")]
    pub nmlpbnffnop: ::core::option::Option<Mfdbmfcijid>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdjclkjfknm {
    #[prost(message, optional, tag = "8")]
    pub nmlpbnffnop: ::core::option::Option<Mfdbmfcijid>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdpnjdcplca {
    #[prost(message, optional, tag = "13")]
    pub klomfkobeel: ::core::option::Option<Ocmdedekihf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okjpghkkghp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmdmgphndma {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub kfcbfnpcgim: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clbjpgbdiph {
    #[prost(uint32, tag = "6")]
    pub ocaalcfeoid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fompadofcoc {
    #[prost(uint32, tag = "13")]
    pub ocaalcfeoid: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mnhnlnoibah {
    #[prost(uint32, tag = "10")]
    pub mmklkmeomnp: u32,
    #[prost(uint32, tag = "4")]
    pub clmfennooff: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgljoilkjpp {
    #[prost(message, optional, tag = "2")]
    pub ookhlecbckf: ::core::option::Option<Incnkafjdia>,
    #[prost(message, repeated, tag = "9")]
    pub dgmdodomceg: ::prost::alloc::vec::Vec<Ocmdedekihf>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiheabnehab {
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
    #[prost(uint32, tag = "2")]
    pub mabnfbojodg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifgonandbmh {
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
    #[prost(uint32, tag = "1")]
    pub kpifpjpdfki: u32,
    #[prost(uint32, tag = "8")]
    pub mabnfbojodg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgonoliiaim {
    #[prost(message, optional, tag = "10")]
    pub eodeachafpb: ::core::option::Option<Mfdbmfcijid>,
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    #[prost(message, repeated, tag = "12")]
    pub mgoojmfdofe: ::prost::alloc::vec::Vec<Ifgonandbmh>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub mabnfbojodg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aealgiibnlc {
    #[prost(uint32, tag = "13")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dccpepjogmk {
    #[prost(message, optional, tag = "15")]
    pub eodeachafpb: ::core::option::Option<Mfdbmfcijid>,
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hlceiigjole {
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igiaihjfjak {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
    #[prost(message, optional, tag = "2")]
    pub eodeachafpb: ::core::option::Option<Mfdbmfcijid>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjapkjpcdfa {
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Milkjggfdnf {
    #[prost(message, optional, tag = "1")]
    pub eodeachafpb: ::core::option::Option<Mfdbmfcijid>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gepophghkna {
    #[prost(uint32, tag = "4")]
    pub olbbmfeknhj: u32,
    #[prost(uint32, tag = "12")]
    pub hioldiglggj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnachgbfglc {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub hioldiglggj: u32,
    #[prost(uint32, tag = "13")]
    pub olbbmfeknhj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nccnkjcgieg {
    #[prost(uint32, tag = "10")]
    pub lahjjpoimkg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flhmlmmngib {
    #[prost(uint32, tag = "2")]
    pub lahjjpoimkg: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajgakkgncge {
    #[prost(uint32, tag = "9")]
    pub jkbgighlakf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfmnghccgik {
    #[prost(uint32, tag = "10")]
    pub jkbgighlakf: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyActionResult {
    #[prost(uint32, tag = "2")]
    pub trigger_cell_id: u32,
    #[prost(uint32, tag = "4")]
    pub trigger_map_id: u32,
    #[prost(uint32, tag = "5")]
    pub click_cell_id: u32,
    #[prost(uint32, tag = "13")]
    pub effect_type: u32,
    #[prost(enumeration = "Mlhbahadoid", tag = "11")]
    pub source_type: i32,
    #[prost(uint32, tag = "15")]
    pub click_map_id: u32,
    #[prost(message, optional, tag = "6")]
    pub detail: ::core::option::Option<Elkhjambndp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbofneafkag {
    #[prost(message, repeated, tag = "5")]
    pub dnccnbodikn: ::prost::alloc::vec::Vec<MonopolyActionResult>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gedjokpjnnk {
    #[prost(uint32, tag = "1")]
    pub checphljclj: u32,
    #[prost(bool, tag = "9")]
    pub iheohbobpoe: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elkhjambndp {
    #[prost(message, optional, tag = "15")]
    pub hdmgjajfbkh: ::core::option::Option<Bhehbnlneob>,
    #[prost(message, optional, tag = "14")]
    pub pmlmhpmceme: ::core::option::Option<Bhehbnlneob>,
    #[prost(message, optional, tag = "7")]
    pub ikdbgncgapn: ::core::option::Option<Oijomkoembn>,
    #[prost(message, optional, tag = "11")]
    pub cpopflphfef: ::core::option::Option<Oijomkoembn>,
    #[prost(message, optional, tag = "4")]
    pub jbejdedbnnp: ::core::option::Option<Nffihjemgdo>,
    #[prost(message, optional, tag = "12")]
    pub egegeemifca: ::core::option::Option<Nffihjemgdo>,
    #[prost(message, optional, tag = "5")]
    pub adbomfjcdcf: ::core::option::Option<Jpoceedgpcg>,
    #[prost(message, optional, tag = "6")]
    pub cifodncknjb: ::core::option::Option<Jpoceedgpcg>,
    #[prost(message, optional, tag = "8")]
    pub jnlpodcdjkm: ::core::option::Option<Gedjokpjnnk>,
    #[prost(message, optional, tag = "13")]
    pub njcdfkcbehf: ::core::option::Option<Fklknjeebdi>,
    #[prost(message, optional, tag = "9")]
    pub djdnkadhjia: ::core::option::Option<Nffihjemgdo>,
    #[prost(message, optional, tag = "10")]
    pub pngalaigdnk: ::core::option::Option<Jpoceedgpcg>,
    #[prost(message, optional, tag = "3")]
    pub lenmbfjclol: ::core::option::Option<Iggpbihddie>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iggpbihddie {
    #[prost(uint32, tag = "15")]
    pub cpipnapgeik: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhehbnlneob {
    #[prost(uint32, tag = "9")]
    pub omkpiaknjjp: u32,
    #[prost(uint32, tag = "6")]
    pub bacpfhicemj: u32,
    #[prost(uint32, tag = "8")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpoceedgpcg {
    #[prost(uint32, tag = "10")]
    pub aeabeappdfn: u32,
    #[prost(uint32, tag = "8")]
    pub fiianfmjcja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fklknjeebdi {
    #[prost(uint32, tag = "15")]
    pub iminmfafakn: u32,
    #[prost(uint32, tag = "11")]
    pub paobnpjmoaa: u32,
    #[prost(uint32, tag = "7")]
    pub gjpjbdckgjm: u32,
    #[prost(uint32, tag = "13")]
    pub jogfoppgaoc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkfjpbapioe {
    #[prost(uint32, tag = "9")]
    pub config_id: u32,
    #[prost(uint32, tag = "13")]
    pub jlomeiapnie: u32,
    #[prost(uint32, tag = "10")]
    pub fcpcopffibg: u32,
    #[prost(message, optional, tag = "15")]
    pub mdibaflogga: ::core::option::Option<Cifpmepcdig>,
    #[prost(message, optional, tag = "7")]
    pub clfbmdojbfg: ::core::option::Option<Ibhmehnpbja>,
    #[prost(message, optional, tag = "14")]
    pub jkjnkpkkiki: ::core::option::Option<Edknkhnhjla>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odeeolpocja {
    #[prost(message, optional, tag = "8")]
    pub gcmfagdmplj: ::core::option::Option<Bkfjpbapioe>,
    #[prost(message, repeated, tag = "14")]
    pub ebkakfclknn: ::prost::alloc::vec::Vec<Bkfjpbapioe>,
    #[prost(message, optional, tag = "13")]
    pub cmnigggjbnh: ::core::option::Option<Gedjokpjnnk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdelllihipg {
    #[prost(message, optional, tag = "13")]
    pub obmjckmgkaj: ::core::option::Option<Bkfjpbapioe>,
    #[prost(message, optional, tag = "5")]
    pub gnpbngfhglo: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "14")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbkhdbcdfcj {
    #[prost(message, optional, tag = "6")]
    pub cmnigggjbnh: ::core::option::Option<Gedjokpjnnk>,
    #[prost(message, optional, tag = "2")]
    pub obmjckmgkaj: ::core::option::Option<Bkfjpbapioe>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Meaongmeoko {
    #[prost(uint32, tag = "9")]
    pub fcpcopffibg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameRaiseRatioScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub ratio: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdooijebgoo {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egdofcnffkd {
    #[prost(int64, tag = "8")]
    pub nccpghdhfma: i64,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(bool, tag = "6")]
    pub melcmmlagjo: bool,
    #[prost(uint32, tag = "4")]
    pub ffniaacdakb: u32,
    #[prost(message, optional, tag = "13")]
    pub hkdildnkelb: ::core::option::Option<Jilnijnfmlg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldkcjcfjnog {
    #[prost(bool, tag = "10")]
    pub eijciikmaoj: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhmbnkkbncl {
    #[prost(uint32, tag = "12")]
    pub mbkcjmkllij: u32,
    #[prost(uint32, tag = "14")]
    pub fchdbdjfeik: u32,
    #[prost(uint32, tag = "10")]
    pub pplaejokkda: u32,
    #[prost(int64, tag = "3")]
    pub nccpghdhfma: i64,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub ppbmilcdmdd: u32,
    #[prost(uint32, tag = "4")]
    pub lajjghjoahk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cifpmepcdig {
    #[prost(uint32, repeated, tag = "10")]
    pub lieeabbbnhg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "5")]
    pub nfemmoocljk: bool,
    #[prost(uint32, repeated, tag = "2")]
    pub iaaijnemadk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub fojnhclobmh: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub fjbamjhnhjb: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjjoongphhg {
    #[prost(uint32, tag = "8")]
    pub ahbkglmcpbm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egdieeolaii {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub lieeabbbnhg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "7")]
    pub nfemmoocljk: bool,
    #[prost(uint32, tag = "4")]
    pub hgldgojegkc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhbhghfecmo {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameGachaScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub result_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbjfkfapdio {
    #[prost(uint32, tag = "3")]
    pub mmajnhbdpnb: u32,
    #[prost(uint32, tag = "2")]
    pub jjbncdbfkja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibhmehnpbja {
    #[prost(uint32, tag = "5")]
    pub ankjabkphjl: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub cdehonlcelf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub aimlocedgll: u32,
    #[prost(message, repeated, tag = "10")]
    pub lbljaeplpph: ::prost::alloc::vec::Vec<Kbjfkfapdio>,
    #[prost(uint32, tag = "4")]
    pub kemldkkfmgh: u32,
    #[prost(uint32, tag = "2")]
    pub cjomhpkfnlb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgiijmmnbij {
    #[prost(message, repeated, tag = "11")]
    pub lbljaeplpph: ::prost::alloc::vec::Vec<Kbjfkfapdio>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khdamnnahlk {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub clfbmdojbfg: ::core::option::Option<Ibhmehnpbja>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpmhgndlbhp {
    #[prost(uint32, tag = "8")]
    pub bppedmimemi: u32,
    #[prost(uint32, tag = "7")]
    pub jfednnecbpk: u32,
    #[prost(uint32, tag = "12")]
    pub ankjabkphjl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jlfnfgoeemg {
    #[prost(message, repeated, tag = "8")]
    pub ljahadjgpmh: ::prost::alloc::vec::Vec<Cpmhgndlbhp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edknkhnhjla {
    #[prost(bool, tag = "14")]
    pub gnoajpgpigb: bool,
    #[prost(uint32, tag = "8")]
    pub nenljpblhle: u32,
    #[prost(uint32, tag = "11")]
    pub iehkhnemfnh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhnkngbbkol {
    #[prost(uint32, tag = "13")]
    pub iehkhnemfnh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjhpfolpfdh {
    #[prost(uint32, tag = "9")]
    pub iehkhnemfnh: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngggacjjbgh {
    #[prost(uint32, tag = "9")]
    pub pmnjfpldldk: u32,
    #[prost(message, optional, tag = "6")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub nenljpblhle: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hobmccnknna {
    #[prost(message, repeated, tag = "3")]
    pub jopbhfffhaj: ::prost::alloc::vec::Vec<Ngggacjjbgh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hcefdfbgjap {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjhhobflbeb {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oijomkoembn {
    #[prost(uint32, tag = "8")]
    pub cnpdaohedkk: u32,
    #[prost(uint32, tag = "11")]
    pub lahjjpoimkg: u32,
    #[prost(uint32, tag = "6")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmiibmahjel {
    #[prost(message, repeated, tag = "14")]
    pub pmedhladeco: ::prost::alloc::vec::Vec<Oijomkoembn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jilnijnfmlg {
    #[prost(uint32, tag = "9")]
    pub ickaacfnmmi: u32,
    #[prost(uint32, tag = "4")]
    pub okapfgpebjg: u32,
    #[prost(uint32, tag = "13")]
    pub nlgcinbpkno: u32,
    #[prost(bool, tag = "6")]
    pub megmkcbcmki: bool,
    #[prost(uint32, tag = "7")]
    pub jodkdoikpdm: u32,
    #[prost(uint32, tag = "1")]
    pub ndjkhkeajnk: u32,
    #[prost(uint32, tag = "3")]
    pub epcegideiae: u32,
    #[prost(uint32, tag = "8")]
    pub kcpgloakcll: u32,
    #[prost(uint32, tag = "5")]
    pub gkokjjhfcpg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Caiccehbdpo {
    #[prost(message, optional, tag = "2")]
    pub hkdildnkelb: ::core::option::Option<Jilnijnfmlg>,
    #[prost(uint32, tag = "6")]
    pub ffniaacdakb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nffihjemgdo {
    #[prost(uint32, tag = "7")]
    pub lfcmlngbfhn: u32,
    #[prost(uint32, tag = "15")]
    pub daimooemhjf: u32,
    #[prost(uint32, tag = "9")]
    pub bjfekapngpo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmnkoiamelc {
    #[prost(message, repeated, tag = "9")]
    pub buff_list: ::prost::alloc::vec::Vec<Nffihjemgdo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plgkiogmlcn {
    #[prost(uint32, tag = "8")]
    pub epcegideiae: u32,
    #[prost(uint32, tag = "9")]
    pub ccoipepkaag: u32,
    #[prost(uint32, tag = "11")]
    pub cedkoikeakd: u32,
    #[prost(uint32, tag = "13")]
    pub ndjkhkeajnk: u32,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Neifijohpdn {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojljomffnkn {
    #[prost(message, repeated, tag = "11")]
    pub epnjofohcdm: ::prost::alloc::vec::Vec<Plgkiogmlcn>,
    #[prost(message, optional, tag = "5")]
    pub elndpfgbjpl: ::core::option::Option<Plgkiogmlcn>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Loemlheeeoc {
    #[prost(uint32, tag = "8")]
    pub kflocjlhfac: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfcpjccioai {
    #[prost(uint32, tag = "7")]
    pub kflocjlhfac: u32,
    #[prost(message, optional, tag = "6")]
    pub iineebblofp: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihckokicnnd {
    #[prost(uint32, repeated, tag = "12")]
    pub cmjcjamgfka: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub ccoipepkaag: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogocadkffcn {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdmjkgpdngi {
    #[prost(uint32, tag = "8")]
    pub cnt: u32,
    #[prost(uint32, tag = "7")]
    pub jkdmnihdehn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkiojilnkcn {
    #[prost(bool, tag = "11")]
    pub bhhgdckmnik: bool,
    #[prost(uint32, tag = "8")]
    pub progress: u32,
    #[prost(message, repeated, tag = "9")]
    pub mgoojmfdofe: ::prost::alloc::vec::Vec<Ifgonandbmh>,
    #[prost(bool, tag = "6")]
    pub hlknbidfbdm: bool,
    #[prost(int32, tag = "2")]
    pub deidamehpap: i32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub okffpadgdkl: ::prost::alloc::vec::Vec<Cdmjkgpdngi>,
    #[prost(int32, tag = "14")]
    pub adjbmaheipp: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aoddbobngcd {
    #[prost(bool, tag = "7")]
    pub jdgodlpjbcd: bool,
    #[prost(uint32, tag = "12")]
    pub cgjaiicjjmk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbifoempoap {
    #[prost(uint32, tag = "15")]
    pub nfkbnjjpnih: u32,
    #[prost(uint32, tag = "9")]
    pub jmfjfhlkano: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub klomfkobeel: ::core::option::Option<Ocmdedekihf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SocialEventServerCache {
    #[prost(uint32, tag = "13")]
    pub add_coin: u32,
    #[prost(uint32, tag = "3")]
    pub src_uid: u32,
    #[prost(uint32, tag = "9")]
    pub sub_coin: u32,
    #[prost(uint32, tag = "12")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjchkoaopmj {
    #[prost(message, repeated, tag = "9")]
    pub bbneledljgg: ::prost::alloc::vec::Vec<SocialEventServerCache>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llbdaadjpec {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aeiajaecjnj {
    #[prost(message, repeated, tag = "14")]
    pub bbneledljgg: ::prost::alloc::vec::Vec<SocialEventServerCache>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aamdkhbnnfh {
    #[prost(uint32, repeated, tag = "8")]
    pub kbaajflicia: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfkbjabmbfl {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub gfocbcogpaa: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmgegfgphjj {
    #[prost(uint32, tag = "10")]
    pub bhagbifgplh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idhkhkfblnh {
    #[prost(message, repeated, tag = "8")]
    pub kdiopkcmlcg: ::prost::alloc::vec::Vec<Alkajkfoicn>,
    #[prost(uint32, tag = "11")]
    pub bhagbifgplh: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chpmknijdin {
    #[prost(uint32, tag = "2")]
    pub bhagbifgplh: u32,
    #[prost(uint64, tag = "6")]
    pub meglbbmjipc: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpcdpoedhnk {
    #[prost(message, optional, tag = "6")]
    pub iineebblofp: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub bhagbifgplh: u32,
    #[prost(uint32, tag = "8")]
    pub meglbbmjipc: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpalaingibm {
    #[prost(uint64, tag = "6")]
    pub meglbbmjipc: u64,
    #[prost(uint32, tag = "9")]
    pub bhagbifgplh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnapbbajmif {
    #[prost(uint64, tag = "14")]
    pub meglbbmjipc: u64,
    #[prost(uint32, tag = "10")]
    pub bhagbifgplh: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmfljcfdoho {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbfgpgpdcjk {
    #[prost(uint32, tag = "6")]
    pub flaepmonenb: u32,
    #[prost(uint32, tag = "11")]
    pub cedkoikeakd: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkephleeoec {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kepkbfncoch {
    #[prost(message, optional, tag = "9")]
    pub bheifkaahag: ::core::option::Option<Ngcnolinghe>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmigkfffkgl {
    #[prost(uint32, repeated, tag = "14")]
    pub ofgllddhpab: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dniffnjdboe {
    #[prost(uint32, repeated, tag = "12")]
    pub ofgllddhpab: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub iineebblofp: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjjmilfjlkk {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hllcbjegbnf {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub iineebblofp: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohoopjopaol {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncgjomhcfgh {
    #[prost(message, optional, tag = "8")]
    pub hkdildnkelb: ::core::option::Option<Jilnijnfmlg>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjiejjdcbhc {
    #[prost(uint32, tag = "14")]
    pub kgjdelhgfgb: u32,
    #[prost(uint32, tag = "5")]
    pub aiaajmnhigl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjmckgolkko {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub aiaajmnhigl: u32,
    #[prost(uint32, tag = "11")]
    pub kgjdelhgfgb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lahkcabojii {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aikbdhadbpd {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkihpnaihbp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmpligfndja {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub dfbiffjhbfk: ::core::option::Option<Gelkmmkbmlc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnakclfedng {
    #[prost(uint32, tag = "7")]
    pub cccpcheengm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eifomanljif {
    #[prost(uint64, tag = "4")]
    pub elkhkmoccbc: u64,
    #[prost(string, tag = "1")]
    pub ip: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(string, tag = "3")]
    pub jfppdgmlhog: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub port: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bnedfnpenog {
    #[prost(uint64, tag = "13")]
    pub elkhkmoccbc: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmnbhednehf {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Albedahenff {
    #[prost(message, repeated, tag = "9")]
    pub dbgnkfjcemc: ::prost::alloc::vec::Vec<Neghnnkjcih>,
    #[prost(message, optional, tag = "5")]
    pub dfbiffjhbfk: ::core::option::Option<Gelkmmkbmlc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngnhhdhcdjd {
    #[prost(message, optional, tag = "5")]
    pub dfbiffjhbfk: ::core::option::Option<Gelkmmkbmlc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnflaeoccph {
    #[prost(message, optional, tag = "11")]
    pub jnfkjdnmbin: ::core::option::Option<Hpbnofgfhdb>,
    #[prost(enumeration = "Match3FinishReason", tag = "14")]
    pub reason: i32,
    #[prost(uint32, tag = "1")]
    pub mjhdnkinikj: u32,
    #[prost(uint32, tag = "9")]
    pub eobipjnmcbm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgicoigfidc {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljgjagjecgh {
    #[prost(uint32, tag = "13")]
    pub lblefkhkgho: u32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmopipaehcj {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub edphcfhocim: ::prost::alloc::vec::Vec<Ljgjagjecgh>,
    #[prost(message, repeated, tag = "1")]
    pub holfopblhmc: ::prost::alloc::vec::Vec<Ckijidlllhn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cobbknfmfdn {
    #[prost(message, repeated, tag = "3")]
    pub edphcfhocim: ::prost::alloc::vec::Vec<Ljgjagjecgh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jehhopmjfgh {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nclgbbiiemn {
    #[prost(uint32, tag = "10")]
    pub dnallopkkfi: u32,
    #[prost(uint32, tag = "6")]
    pub nidjgbgkdom: u32,
    #[prost(uint32, tag = "3")]
    pub ndjocffboip: u32,
    #[prost(uint32, tag = "13")]
    pub lahhmfbgkgk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckijidlllhn {
    #[prost(uint32, tag = "14")]
    pub bggpmafbghn: u32,
    #[prost(uint32, tag = "10")]
    pub efmggallohe: u32,
    #[prost(uint32, tag = "3")]
    pub dnallopkkfi: u32,
    #[prost(uint32, tag = "6")]
    pub odfnogmkdoa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iliaagdpbkd {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub olphnfejond: ::core::option::Option<Nclgbbiiemn>,
    #[prost(message, repeated, tag = "2")]
    pub holfopblhmc: ::prost::alloc::vec::Vec<Ckijidlllhn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfieglmbedl {
    #[prost(message, repeated, tag = "11")]
    pub edphcfhocim: ::prost::alloc::vec::Vec<Ljgjagjecgh>,
    #[prost(message, repeated, tag = "6")]
    pub holfopblhmc: ::prost::alloc::vec::Vec<Ckijidlllhn>,
    #[prost(message, repeated, tag = "13")]
    pub akjccfiinil: ::prost::alloc::vec::Vec<Nclgbbiiemn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fennlifpbgp {
    #[prost(uint32, tag = "6")]
    pub aklibkbmiap: u32,
    #[prost(enumeration = "Bmepcgmafog", tag = "3")]
    pub pos: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bncbgbegcad {
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "10")]
    pub nonmnejohei: u32,
    #[prost(uint32, tag = "6")]
    pub hgiencifmgj: u32,
    #[prost(uint32, tag = "5")]
    pub gkljdknlobe: u32,
    #[prost(message, repeated, tag = "7")]
    pub bkjihkamlfe: ::prost::alloc::vec::Vec<Fennlifpbgp>,
    #[prost(uint32, tag = "1")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmmgdnljnec {
    #[prost(bool, tag = "1")]
    pub kgfaomaabkm: bool,
    #[prost(uint32, tag = "8")]
    pub ilpdlbmabgh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikajebhdhea {
    #[prost(uint32, tag = "8")]
    pub cdlcbngjapj: u32,
    #[prost(uint32, tag = "15")]
    pub gmknedgjbfb: u32,
    #[prost(message, repeated, tag = "7")]
    pub jcemlpcbnee: ::prost::alloc::vec::Vec<Jmmgdnljnec>,
    #[prost(uint32, tag = "1")]
    pub jlgddkomoma: u32,
    #[prost(uint32, tag = "14")]
    pub nnmlcoebogc: u32,
    #[prost(uint32, tag = "12")]
    pub igepohfekhi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kneoahbblgf {
    #[prost(uint32, tag = "2")]
    pub ipdlojmloff: u32,
    #[prost(uint32, tag = "12")]
    pub aklibkbmiap: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jiepcjoecdo {
    #[prost(uint32, tag = "6")]
    pub aeaienfcnej: u32,
    #[prost(uint32, tag = "14")]
    pub lgddfhehdpl: u32,
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
    #[prost(enumeration = "Cbhjehfgabi", tag = "15")]
    pub state: i32,
    #[prost(uint32, tag = "12")]
    pub pfmeakdgocj: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub lpifgciihfp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub kblohpjecph: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hblkbimkfik {
    #[prost(uint32, repeated, tag = "4")]
    pub cinnfjldkod: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "13")]
    pub ehdgklcejfa: ::prost::alloc::vec::Vec<Jiepcjoecdo>,
    #[prost(uint32, tag = "1")]
    pub miblfahjpdl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cilapaoodll {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Medcobfhphm {
    #[prost(uint32, tag = "8")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub llfocnhhjdg: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub fppdbkeoggo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub akaeeipicbg: u32,
    #[prost(uint32, tag = "12")]
    pub bbffhokhjei: u32,
    #[prost(uint32, tag = "4")]
    pub lkopdpjopae: u32,
    #[prost(uint32, tag = "13")]
    pub ekaehnfhkie: u32,
    #[prost(message, optional, tag = "5")]
    pub opkgiibhmdd: ::core::option::Option<Ikajebhdhea>,
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    #[prost(message, optional, tag = "11")]
    pub lpoahebnkbi: ::core::option::Option<Hblkbimkfik>,
    #[prost(message, repeated, tag = "6")]
    pub kmnfajbbdbi: ::prost::alloc::vec::Vec<Bncbgbegcad>,
    #[prost(uint32, repeated, tag = "7")]
    pub chdboblcgkc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "10")]
    pub bkjihkamlfe: ::prost::alloc::vec::Vec<Kneoahbblgf>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpinkkodmia {
    #[prost(uint32, tag = "3")]
    pub aklibkbmiap: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibibnhpnmcl {
    #[prost(uint32, tag = "5")]
    pub aklibkbmiap: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cefnpfhennc {
    #[prost(uint32, tag = "10")]
    pub aklibkbmiap: u32,
    #[prost(enumeration = "Bmepcgmafog", tag = "13")]
    pub pos: i32,
    #[prost(uint32, tag = "5")]
    pub ipdlojmloff: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idnenacaoda {
    #[prost(enumeration = "Bmepcgmafog", tag = "7")]
    pub pos: i32,
    #[prost(uint32, tag = "1")]
    pub aklibkbmiap: u32,
    #[prost(uint32, tag = "12")]
    pub ipdlojmloff: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmilgphnofp {
    #[prost(uint32, tag = "4")]
    pub aklibkbmiap: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdjbmhcjkpc {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub aklibkbmiap: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmjhbelfinh {
    #[prost(uint32, tag = "6")]
    pub aklibkbmiap: u32,
    #[prost(enumeration = "Koiikfnnppk", tag = "4")]
    pub gicglplhcbm: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhbkdciombh {
    #[prost(uint32, tag = "1")]
    pub jcaimbkbaoj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Binmbplocok {
    #[prost(uint32, tag = "2")]
    pub ejlabpbbmbp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdmfflneplb {
    #[prost(uint32, tag = "10")]
    pub cnpcbjmbhio: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aepamkfjhbb {
    #[prost(uint32, tag = "10")]
    pub level: u32,
    #[prost(uint32, tag = "6")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgpdfpfncga {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "13")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmepgaebodi {
    #[prost(enumeration = "Kobkkmanffe", tag = "5")]
    pub bifjmjcffho: i32,
    #[prost(uint32, tag = "10")]
    pub eaennjebhni: u32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdeknpaigbp {
    #[prost(enumeration = "Kobkkmanffe", tag = "12")]
    pub bifjmjcffho: i32,
    #[prost(uint32, tag = "1")]
    pub eaennjebhni: u32,
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghiahinjhmn {
    #[prost(uint32, tag = "9")]
    pub akaeeipicbg: u32,
    #[prost(uint32, tag = "2")]
    pub llfocnhhjdg: u32,
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub bbffhokhjei: u32,
    #[prost(message, repeated, tag = "6")]
    pub kmnfajbbdbi: ::prost::alloc::vec::Vec<Bncbgbegcad>,
    #[prost(message, repeated, tag = "7")]
    pub bkjihkamlfe: ::prost::alloc::vec::Vec<Kneoahbblgf>,
    #[prost(message, optional, tag = "4")]
    pub opkgiibhmdd: ::core::option::Option<Ikajebhdhea>,
    #[prost(uint32, repeated, tag = "15")]
    pub fppdbkeoggo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub lkopdpjopae: u32,
    #[prost(uint32, tag = "14")]
    pub exp: u32,
    #[prost(message, optional, tag = "5")]
    pub lpoahebnkbi: ::core::option::Option<Hblkbimkfik>,
    #[prost(uint32, repeated, tag = "8")]
    pub chdboblcgkc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub ekaehnfhkie: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mphidblhbfb {
    #[prost(message, optional, tag = "7")]
    pub bledhccfcnh: ::core::option::Option<Jiepcjoecdo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcfemkbiemp {
    #[prost(int32, tag = "14")]
    pub dhccloagadh: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klaebldmbcn {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub bledhccfcnh: ::core::option::Option<Hblkbimkfik>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfilelpagdh {
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    #[prost(uint32, tag = "14")]
    pub kblohpjecph: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehkofijkmmj {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub kblohpjecph: u32,
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfadkgkffje {
    #[prost(uint32, tag = "9")]
    pub ekaehnfhkie: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmidhocadel {
    #[prost(uint32, tag = "6")]
    pub jmpfmcngdlp: u32,
    #[prost(uint32, tag = "10")]
    pub hgekalhbjad: u32,
    #[prost(uint32, tag = "14")]
    pub ekaehnfhkie: u32,
    #[prost(uint32, tag = "5")]
    pub aklibkbmiap: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akmcgjfcpcg {
    #[prost(uint32, tag = "13")]
    pub gmknedgjbfb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbkahibhifg {
    #[prost(uint32, repeated, tag = "12")]
    pub ilpdlbmabgh: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "2")]
    pub ihfeckjomlf: bool,
    #[prost(uint32, tag = "9")]
    pub gmknedgjbfb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdclafikaog {
    #[prost(uint32, tag = "13")]
    pub gmknedgjbfb: u32,
    #[prost(uint32, tag = "1")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "2")]
    pub nakamomhjck: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Galgphacilc {
    #[prost(uint32, tag = "11")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbncchgccfb {
    #[prost(uint32, tag = "6")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdogpeanadp {
    #[prost(uint32, tag = "15")]
    pub jbkbjablfpa: u32,
    #[prost(uint32, tag = "12")]
    pub jfmikapfmnd: u32,
    #[prost(uint32, tag = "13")]
    pub oefjaokilbh: u32,
    #[prost(uint32, tag = "2")]
    pub pcddobdggca: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub ialmppmccfn: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Ecpkmbkdhdi", tag = "10")]
    pub fpbhjilodhn: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjkllnbkbca {
    #[prost(uint32, repeated, tag = "11")]
    pub hkjdicnmlcf: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbkhclcpfmi {
    #[prost(message, repeated, tag = "15")]
    pub nppoijbmkea: ::prost::alloc::vec::Vec<Kdogpeanadp>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mincjoojoac {
    #[prost(uint32, tag = "3")]
    pub edahdalkobk: u32,
    #[prost(uint32, tag = "2")]
    pub oefjaokilbh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcciaoijmgn {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub aaancjanafp: ::core::option::Option<Kdogpeanadp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lffhhjcbmik {
    #[prost(uint32, tag = "15")]
    pub edahdalkobk: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub fohiomjmmmc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub oefjaokilbh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnhnkicikal {
    #[prost(message, optional, tag = "15")]
    pub aaancjanafp: ::core::option::Option<Kdogpeanadp>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egpammalmmm {
    #[prost(message, optional, tag = "9")]
    pub aaancjanafp: ::core::option::Option<Kdogpeanadp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgdlkdfafho {
    #[prost(uint32, tag = "1")]
    pub apkmcgkeofa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdiffdlngej {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub apkmcgkeofa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aipgdgoiknj {
    #[prost(uint32, tag = "8")]
    pub apkmcgkeofa: u32,
    #[prost(uint64, tag = "12")]
    pub pcloinflcpa: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbcoooaailj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkaggpkfgba {
    #[prost(uint32, repeated, tag = "5")]
    pub mnclhkknffn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub danocgnclik: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub mpgkclipima: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub fipccimjcgb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfpfangcfap {
    #[prost(uint32, tag = "10")]
    pub bfeleinblee: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djdendkleem {
    #[prost(uint32, tag = "7")]
    pub cjcfcdccane: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub danocgnclik: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjdikondemg {
    #[prost(uint32, tag = "12")]
    pub bfeleinblee: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdimjhlfapm {
    #[prost(uint32, tag = "1")]
    pub ihefcgoomem: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Diflkogchgp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub fipccimjcgb: u32,
    #[prost(uint32, tag = "11")]
    pub njieglbjpmn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epdeojllhnb {
    #[prost(uint32, tag = "8")]
    pub ihefcgoomem: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginCsReq {
    #[prost(enumeration = "LanguageType", tag = "14")]
    pub language: i32,
    #[prost(string, tag = "1032")]
    pub aionaipakjc: ::prost::alloc::string::String,
    #[prost(string, tag = "1133")]
    pub ejknhjgaibm: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1208")]
    pub naenfolednm: u32,
    #[prost(string, tag = "5")]
    pub ldcholahmei: ::prost::alloc::string::String,
    #[prost(string, tag = "8")]
    pub fkocpnhajgf: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub ambigoadlof: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub pipecigolah: ::prost::alloc::string::String,
    #[prost(string, tag = "13")]
    pub lndldonnanc: ::prost::alloc::string::String,
    #[prost(string, tag = "10")]
    pub apfchjmjcck: ::prost::alloc::string::String,
    #[prost(uint32, tag = "794")]
    pub elbhikahdpb: u32,
    #[prost(message, optional, tag = "387")]
    pub pgmlkbgpaol: ::core::option::Option<Mkdghomddnm>,
    #[prost(string, tag = "2")]
    pub lbecbecgmnj: ::prost::alloc::string::String,
    #[prost(enumeration = "PlatformType", tag = "7")]
    pub platform: i32,
    #[prost(string, tag = "1928")]
    pub ckpooficbml: ::prost::alloc::string::String,
    #[prost(string, tag = "1")]
    pub ofdpbnpcepo: ::prost::alloc::string::String,
    #[prost(string, tag = "904")]
    pub cokkpencfmp: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub res_version: u32,
    #[prost(bool, tag = "1104")]
    pub ekmbnfcbkmi: bool,
    #[prost(string, tag = "3")]
    pub nkdlhmbmdmd: ::prost::alloc::string::String,
    #[prost(string, tag = "12")]
    pub dkjffocifod: ::prost::alloc::string::String,
    #[prost(string, tag = "1458")]
    pub ghpapnfeeca: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub foioeeecjjh: u32,
    #[prost(uint64, tag = "4")]
    pub login_random: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginScRsp {
    #[prost(bool, tag = "13")]
    pub hjloaoholon: bool,
    #[prost(uint32, tag = "1")]
    pub stamina: u32,
    #[prost(uint64, tag = "15")]
    pub login_random: u64,
    #[prost(string, tag = "8")]
    pub hkogaffieoa: ::prost::alloc::string::String,
    #[prost(int32, tag = "12")]
    pub cur_timezone: i32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    #[prost(uint64, tag = "7")]
    pub server_timestamp_ms: u64,
    #[prost(string, tag = "4")]
    pub pmgnbfihfck: ::prost::alloc::string::String,
    #[prost(bool, tag = "11")]
    pub jehoalehieg: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLogoutCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetTokenCsReq {
    #[prost(uint32, tag = "1")]
    pub platform: u32,
    #[prost(string, tag = "9")]
    pub token: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    #[prost(uint32, tag = "5")]
    pub abhkmaljpgf: u32,
    #[prost(uint32, tag = "6")]
    pub naenfolednm: u32,
    #[prost(string, tag = "10")]
    pub bbholiobemb: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub cbnagmjahag: u32,
    #[prost(string, tag = "13")]
    pub account_uid: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetTokenScRsp {
    #[prost(string, tag = "8")]
    pub msg: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub black_info: ::core::option::Option<BlackInfo>,
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(uint64, tag = "15")]
    pub secret_key_seed: u64,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfgndchfoff {
    #[prost(string, tag = "7")]
    pub msg: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kabphhjpfnh {
    #[prost(message, optional, tag = "12")]
    pub black_info: ::core::option::Option<BlackInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkCsReq {
    #[prost(string, tag = "9")]
    pub msg: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(string, tag = "8")]
    pub retmsg: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBasicInfoCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSettingInfo {
    #[prost(bool, tag = "10")]
    pub amgbjcgchle: bool,
    #[prost(bool, tag = "4")]
    pub bffeaeaemig: bool,
    #[prost(bool, tag = "12")]
    pub ljeelnkpifj: bool,
    #[prost(bool, tag = "8")]
    pub ggcdkfmmccd: bool,
    #[prost(bool, tag = "9")]
    pub feeelleaepc: bool,
    #[prost(enumeration = "Kmmiecegekn", tag = "15")]
    pub gljhhoclnfc: i32,
    #[prost(bool, tag = "14")]
    pub dbpgaepgcaa: bool,
    #[prost(bool, tag = "3")]
    pub aokkoooodcn: bool,
    #[prost(bool, tag = "7")]
    pub idflcnjjldo: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBasicInfoScRsp {
    #[prost(uint32, tag = "13")]
    pub gameplay_birthday: u32,
    #[prost(uint32, tag = "1")]
    pub week_cocoon_finished_count: u32,
    #[prost(int64, tag = "14")]
    pub last_set_nickname_time: i64,
    #[prost(uint32, tag = "15")]
    pub cur_day: u32,
    #[prost(message, optional, tag = "11")]
    pub player_setting_info: ::core::option::Option<PlayerSettingInfo>,
    #[prost(uint32, tag = "2")]
    pub exchange_times: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(int64, tag = "4")]
    pub next_recover_time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub item_cost_list: ::prost::alloc::vec::Vec<ItemCost>,
    #[prost(uint32, tag = "11")]
    pub stamina_add: u32,
    #[prost(int64, tag = "1")]
    pub last_recover_time: i64,
    #[prost(uint32, tag = "8")]
    pub exchange_times: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbhlfjjjbhp {
    #[prost(uint32, tag = "12")]
    pub sign_type: u32,
    #[prost(string, tag = "5")]
    pub jglllhanjcj: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub dlfeeojkepa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jihdaapcopj {
    #[prost(string, tag = "5")]
    pub gaeoohgjabe: ::prost::alloc::string::String,
    #[prost(uint32, tag = "10")]
    pub sign_type: u32,
    #[prost(string, tag = "11")]
    pub jglllhanjcj: ::prost::alloc::string::String,
    #[prost(uint32, tag = "8")]
    pub dlfeeojkepa: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkjmmmfnpof {
    #[prost(int64, tag = "3")]
    pub bbobkppbkmc: i64,
    #[prost(int64, tag = "10")]
    pub hpmcdnkkbed: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AntiAddictScNotify {
    #[prost(uint32, tag = "8")]
    pub msg_type: u32,
    #[prost(string, tag = "10")]
    pub msg: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub level: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetNicknameCsReq {
    #[prost(string, tag = "12")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(bool, tag = "2")]
    pub is_modify: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetNicknameScRsp {
    #[prost(int64, tag = "9")]
    pub ghhnodmgemk: i64,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(bool, tag = "2")]
    pub is_modify: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardTakenListCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardTakenListScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub taken_level_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehgmhnehoil {
    #[prost(uint32, tag = "4")]
    pub edahdalkobk: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odndjjmkaeh {
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhdondgmnge {
    #[prost(enumeration = "LanguageType", tag = "15")]
    pub language: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkhpafagklj {
    #[prost(enumeration = "LanguageType", tag = "9")]
    pub language: i32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlmlgpgaojp {
    #[prost(int64, tag = "9")]
    pub end_time: i64,
    #[prost(uint32, tag = "11")]
    pub config_id: u32,
    #[prost(uint32, tag = "10")]
    pub ilkolkbcpfm: u32,
    #[prost(string, tag = "1")]
    pub oejbakandhh: ::prost::alloc::string::String,
    #[prost(string, tag = "13")]
    pub agofnmckpgb: ::prost::alloc::string::String,
    #[prost(int64, tag = "15")]
    pub begin_time: i64,
    #[prost(string, tag = "4")]
    pub elcflljcbdo: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub ajncaloomad: u32,
    #[prost(bool, tag = "6")]
    pub enmcbehbdjo: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Loalohddcbh {
    #[prost(message, repeated, tag = "6")]
    pub locmfhbpakd: ::prost::alloc::vec::Vec<Dlmlgpgaojp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gateserver {
    #[prost(string, tag = "890")]
    pub emdcigmmgfl: ::prost::alloc::string::String,
    #[prost(bool, tag = "1020")]
    pub hecpclndaac: bool,
    #[prost(bool, tag = "1925")]
    pub phhehnekhea: bool,
    #[prost(bool, tag = "407")]
    pub lkigenplfbl: bool,
    #[prost(uint32, tag = "11")]
    pub port: u32,
    #[prost(bool, tag = "1181")]
    pub bigaafjloja: bool,
    #[prost(string, tag = "1917")]
    pub gedpifdofol: ::prost::alloc::string::String,
    #[prost(string, tag = "812")]
    pub njadnfcnpdp: ::prost::alloc::string::String,
    #[prost(string, tag = "1064")]
    pub bjcgocccljl: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub msg: ::prost::alloc::string::String,
    #[prost(bool, tag = "12")]
    pub bipcmeeljhj: bool,
    #[prost(string, tag = "15")]
    pub afhmmcnddma: ::prost::alloc::string::String,
    #[prost(string, tag = "1104")]
    pub kgfncbdodgo: ::prost::alloc::string::String,
    #[prost(string, tag = "780")]
    pub gnfjnjfgcce: ::prost::alloc::string::String,
    #[prost(bool, tag = "1353")]
    pub nlfkefmfige: bool,
    #[prost(string, tag = "2016")]
    pub fldhanacamb: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub ex_resource_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "1433")]
    pub cpecmcjeanf: bool,
    #[prost(string, tag = "1630")]
    pub albiabnaind: ::prost::alloc::string::String,
    #[prost(int64, tag = "14")]
    pub bbobkppbkmc: i64,
    #[prost(string, tag = "1205")]
    pub aclneebekke: ::prost::alloc::string::String,
    #[prost(string, tag = "1316")]
    pub akfgnehjing: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "1054")]
    pub icdhildnpik: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "1887")]
    pub use_tcp: bool,
    #[prost(string, tag = "7")]
    pub asset_bundle_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "1826")]
    pub pnnionnkbnn: bool,
    #[prost(string, tag = "623")]
    pub hmhalhhodfj: ::prost::alloc::string::String,
    #[prost(string, tag = "1420")]
    pub lfgaoipmnpi: ::prost::alloc::string::String,
    #[prost(string, tag = "570")]
    pub ifix_version: ::prost::alloc::string::String,
    #[prost(bool, tag = "837")]
    pub jfofphddjdc: bool,
    #[prost(int64, tag = "13")]
    pub hpmcdnkkbed: i64,
    #[prost(uint32, tag = "4")]
    pub nkbklmkihib: u32,
    #[prost(string, tag = "1680")]
    pub pcpkkffcojn: ::prost::alloc::string::String,
    #[prost(bool, tag = "504")]
    pub agfbpepeipk: bool,
    #[prost(string, tag = "1300")]
    pub ipocplamnce: ::prost::alloc::string::String,
    #[prost(string, tag = "1979")]
    pub bagjmgbclbb: ::prost::alloc::string::String,
    #[prost(bool, tag = "1402")]
    pub elboklkdaha: bool,
    #[prost(string, tag = "1923")]
    pub iigjjinpmap: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub lua_url: ::prost::alloc::string::String,
    #[prost(string, tag = "950")]
    pub gpdafjolbmc: ::prost::alloc::string::String,
    #[prost(string, tag = "707")]
    pub lua_version: ::prost::alloc::string::String,
    #[prost(string, tag = "459")]
    pub bmjaokaifbj: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub ip: ::prost::alloc::string::String,
    #[prost(string, tag = "1443")]
    pub ompmgoefbmc: ::prost::alloc::string::String,
    #[prost(string, tag = "581")]
    pub japlhicklfl: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub nkafacdmhfj: u32,
    #[prost(string, tag = "10")]
    pub cfiemapegba: ::prost::alloc::string::String,
    #[prost(string, tag = "1686")]
    pub laoaofbpoja: ::prost::alloc::string::String,
    #[prost(string, tag = "434")]
    pub ockellmfeeo: ::prost::alloc::string::String,
    #[prost(bool, tag = "9")]
    pub pdpbjhfgnjk: bool,
    #[prost(bool, tag = "1739")]
    pub oigmgpfnloj: bool,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(string, tag = "715")]
    pub gcccecfbcjf: ::prost::alloc::string::String,
    #[prost(string, tag = "142")]
    pub edaodcfbddo: ::prost::alloc::string::String,
    #[prost(string, tag = "870")]
    pub moikfmlmdfj: ::prost::alloc::string::String,
    #[prost(string, tag = "88")]
    pub ehdkjgnlobi: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpdmekegeck {
    #[prost(string, tag = "7")]
    pub packginecnj: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhbcfoiccmm {
    #[prost(enumeration = "HeroBasicType", tag = "3")]
    pub basic_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhoalggihpi {
    #[prost(enumeration = "HeroBasicType", tag = "13")]
    pub basic_type: i32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHeroBasicTypeInfoCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeroBasicTypeInfo {
    #[prost(uint32, tag = "14")]
    pub rank: u32,
    #[prost(message, repeated, tag = "6")]
    pub skill_tree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(enumeration = "HeroBasicType", tag = "4")]
    pub basic_type: i32,
    #[prost(message, repeated, tag = "7")]
    pub equip_relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    #[prost(uint32, tag = "5")]
    pub beldbmpokkn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHeroBasicTypeInfoScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub basic_type_info_list: ::prost::alloc::vec::Vec<HeroBasicTypeInfo>,
    #[prost(bool, tag = "10")]
    pub oncahldofel: bool,
    #[prost(enumeration = "HeroBasicType", tag = "3")]
    pub cur_basic_type: i32,
    #[prost(enumeration = "Gender", tag = "11")]
    pub gender: i32,
    #[prost(bool, tag = "5")]
    pub ojfdpkajcbn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Manjilcckhg {
    #[prost(enumeration = "Gender", tag = "2")]
    pub gender: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbhobfmlhaj {
    #[prost(enumeration = "HeroBasicType", tag = "9")]
    pub cur_basic_type: i32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eppbnnhfmkm {
    #[prost(string, tag = "15")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(enumeration = "Gender", tag = "9")]
    pub gender: i32,
    #[prost(bool, tag = "7")]
    pub is_modify: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpcglcbpgfm {
    #[prost(enumeration = "HeroBasicType", tag = "12")]
    pub cur_basic_type: i32,
    #[prost(bool, tag = "15")]
    pub is_modify: bool,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(int64, tag = "11")]
    pub ghhnodmgemk: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeroBasicTypeChangedNotify {
    #[prost(enumeration = "HeroBasicType", tag = "12")]
    pub cur_basic_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aicocgkhlgm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfigahojpil {
    #[prost(enumeration = "ProductGiftType", tag = "15")]
    pub jlpmnampjln: i32,
    #[prost(bool, tag = "12")]
    pub eedjjgifpef: bool,
    #[prost(uint32, tag = "13")]
    pub dfmcaeiflnc: u32,
    #[prost(string, tag = "8")]
    pub kmjkdilodmh: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub hehmcbjljgg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub cgfkbccffcm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oknodnhdmcm {
    #[prost(uint64, tag = "4")]
    pub jhfchkecgec: u64,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub ljpmnhkhceh: u32,
    #[prost(message, repeated, tag = "11")]
    pub cnbaabkgkei: ::prost::alloc::vec::Vec<Gfigahojpil>,
    #[prost(uint32, tag = "9")]
    pub dcnjfiiaeei: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jlejpipgfgb {
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientDownloadDataScNotify {
    #[prost(message, optional, tag = "7")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadDataScNotify {
    #[prost(message, optional, tag = "3")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFeatureSwitchScNotify {
    #[prost(message, repeated, tag = "11")]
    pub switch_info_list: ::prost::alloc::vec::Vec<FeatureSwitchInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kilgdpgmalo {
    #[prost(uint32, tag = "12")]
    pub epccbbbdgje: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpaemppnflj {
    #[prost(uint32, tag = "2")]
    pub digjkibgfpf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngbplkoclli {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub digjkibgfpf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iffmjolomjf {
    #[prost(string, tag = "1")]
    pub hjbfdkkcpfo: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub pobcekgckjn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ienfhncgdak {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdkbokgbibb {
    #[prost(uint32, repeated, tag = "6")]
    pub ffcdfilggmm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerHeartBeatCsReq {
    #[prost(message, optional, tag = "8")]
    pub upload_data: ::core::option::Option<ClientUploadData>,
    #[prost(uint32, tag = "4")]
    pub mibkhmfojlb: u32,
    #[prost(uint64, tag = "11")]
    pub client_time_ms: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerHeartBeatScRsp {
    #[prost(message, optional, tag = "4")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
    #[prost(uint64, tag = "3")]
    pub server_time_ms: u64,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint64, tag = "11")]
    pub client_time_ms: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpejjlpfoja {
    #[prost(enumeration = "FeatureSwitchType", tag = "10")]
    pub pgepkppffce: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oeplnhbjafo {
    #[prost(string, tag = "11")]
    pub cpilcmljfio: ::prost::alloc::string::String,
    #[prost(enumeration = "SecretKeyType", tag = "13")]
    pub r#type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkcfmonanhb {
    #[prost(bytes = "vec", tag = "10")]
    pub iljcjdnjjkk: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aolcenpbepj {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub oamkigajfbn: ::prost::alloc::vec::Vec<Oeplnhbjafo>,
    #[prost(bytes = "vec", tag = "4")]
    pub efchinpdmoo: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plecbjflamp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmabhbfjkid {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phpachbkjaj {
    #[prost(uint64, tag = "10")]
    pub lpgepofecdj: u64,
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekcelgpijpp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Peegmpnkend {
    #[prost(message, repeated, tag = "7")]
    pub ihdgecfmgff: ::prost::alloc::vec::Vec<Phpachbkjaj>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aaflinegnbj {
    #[prost(uint32, tag = "9")]
    pub jhcfdlonign: u32,
    #[prost(uint32, tag = "13")]
    pub necekhhmcji: u32,
    #[prost(uint32, tag = "14")]
    pub jkbgighlakf: u32,
    #[prost(uint32, tag = "12")]
    pub phlblockpml: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpcbbeplhma {
    #[prost(uint32, tag = "15")]
    pub phlblockpml: u32,
    #[prost(uint32, tag = "2")]
    pub jkbgighlakf: u32,
    #[prost(message, repeated, tag = "11")]
    pub loamdohipdb: ::prost::alloc::vec::Vec<Aaflinegnbj>,
    #[prost(uint32, tag = "9")]
    pub uid: u32,
    #[prost(uint32, tag = "13")]
    pub necekhhmcji: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iagdimihefo {
    #[prost(uint32, tag = "13")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReserveStaminaExchangeScRsp {
    #[prost(uint32, tag = "14")]
    pub num: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhlibpjejkk {
    #[prost(uint32, tag = "1")]
    pub stamina: u32,
    #[prost(int64, tag = "11")]
    pub onnmlhmnbbb: i64,
    #[prost(int64, tag = "15")]
    pub akildbckhgj: i64,
    #[prost(uint32, tag = "2")]
    pub gimjlllinid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Logcbegibgi {
    #[prost(bool, tag = "7")]
    pub ggcdkfmmccd: bool,
    #[prost(bool, tag = "15")]
    pub dbpgaepgcaa: bool,
    #[prost(bool, tag = "2")]
    pub bffeaeaemig: bool,
    #[prost(bool, tag = "12")]
    pub aokkoooodcn: bool,
    #[prost(bool, tag = "6")]
    pub feeelleaepc: bool,
    #[prost(bool, tag = "5")]
    pub amgbjcgchle: bool,
    #[prost(enumeration = "Kmmiecegekn", tag = "3")]
    pub gljhhoclnfc: i32,
    #[prost(bool, tag = "13")]
    pub ljeelnkpifj: bool,
    #[prost(bool, tag = "8")]
    pub idflcnjjldo: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnfdfphadig {
    #[prost(message, optional, tag = "5")]
    pub hogjfldjffe: ::core::option::Option<Logcbegibgi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgjfddlphki {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub hogjfldjffe: ::core::option::Option<Logcbegibgi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadCsReq {
    #[prost(uint32, tag = "4")]
    pub mibkhmfojlb: u32,
    #[prost(bytes = "vec", tag = "8")]
    pub upload_data: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadScRsp {
    #[prost(message, optional, tag = "5")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofoedliolpf {
    #[prost(string, repeated, tag = "9")]
    pub cjnhbepcmhi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hiidmcjelon {
    #[prost(bool, tag = "3")]
    pub ffmchnpellf: bool,
    #[prost(message, optional, tag = "14")]
    pub hgloaipjiob: ::core::option::Option<Ofoedliolpf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkobifogjla {
    #[prost(bool, tag = "1791")]
    pub ffmchnpellf: bool,
    #[prost(message, optional, tag = "1812")]
    pub pkkiapadail: ::core::option::Option<Ofoedliolpf>,
    #[prost(message, optional, tag = "888")]
    pub haaeolbkemh: ::core::option::Option<Ofoedliolpf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgeikhccdpl {
    #[prost(message, optional, tag = "890")]
    pub ancikmgckdb: ::core::option::Option<Hiidmcjelon>,
    #[prost(message, optional, tag = "1596")]
    pub igcfgaafpcc: ::core::option::Option<Gkobifogjla>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eldgknelpgm {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khpnemhhlol {
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgmicmggmcj {
    #[prost(uint32, tag = "14")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "7")]
    pub pos: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgjlofeaemc {
    #[prost(message, repeated, tag = "11")]
    pub polcoinjamo: ::prost::alloc::vec::Vec<Kgmicmggmcj>,
    #[prost(bool, tag = "12")]
    pub bnbecoiglpf: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfjklbgcjje {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aljaiaiabgj {
    #[prost(message, repeated, tag = "11")]
    pub ggnjaoeegkn: ::prost::alloc::vec::Vec<Khpnemhhlol>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub phijnicfnjk: u32,
    #[prost(message, optional, tag = "15")]
    pub mfaioacpojf: ::core::option::Option<Hgjlofeaemc>,
    #[prost(string, tag = "1")]
    pub ldcholahmei: ::prost::alloc::string::String,
    #[prost(uint32, repeated, tag = "13")]
    pub jnkadmajeff: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Liaoidnokcj {
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehblloncdnb {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub phijnicfnjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epjkpmjjbih {
    #[prost(message, repeated, tag = "10")]
    pub polcoinjamo: ::prost::alloc::vec::Vec<Kgmicmggmcj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Heoaghiaggn {
    #[prost(message, repeated, tag = "15")]
    pub polcoinjamo: ::prost::alloc::vec::Vec<Kgmicmggmcj>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjdfaechcaf {
    #[prost(bool, tag = "9")]
    pub bnbecoiglpf: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbpbleljgdg {
    #[prost(bool, tag = "9")]
    pub bnbecoiglpf: bool,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eldicomnogn {
    #[prost(string, tag = "11")]
    pub ldcholahmei: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phkmnkdmpjl {
    #[prost(string, tag = "4")]
    pub ldcholahmei: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onfmojppndd {
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hccalklpbhf {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub edglnhhadgl: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehicpkohgic {
    #[prost(uint32, tag = "12")]
    pub jidkcgjdkfj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mifnmbngigb {
    #[prost(uint32, repeated, tag = "8")]
    pub pjfboafddda: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub nkmaigihgcp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Koboakeejpb {
    #[prost(message, repeated, tag = "14")]
    pub blfcapedged: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(uint32, tag = "1")]
    pub nkmaigihgcp: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub pjfboafddda: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hokohjpmbif {
    #[prost(uint32, tag = "2")]
    pub ejmlfaapfai: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hegogoefmhj {
    #[prost(uint32, tag = "12")]
    pub kcichmjnkcl: u32,
    #[prost(uint32, tag = "1")]
    pub jhekbbpcfdi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkdoloeookd {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub jhekbbpcfdi: u32,
    #[prost(message, optional, tag = "8")]
    pub nejfiheepni: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub kcichmjnkcl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhhfieccbmb {
    #[prost(uint32, tag = "7")]
    pub dhccloagadh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfempkofbae {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbceknmedaa {
    #[prost(uint32, tag = "1")]
    pub dhccloagadh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmbicjhcpfk {
    #[prost(uint32, repeated, tag = "11")]
    pub pjfboafddda: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Icogimmdmbf", tag = "12")]
    pub status: i32,
    #[prost(uint32, repeated, tag = "4")]
    pub egimcbpdfba: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub dgfbipmgchc: u32,
    #[prost(int64, tag = "13")]
    pub cbbdfcbniln: i64,
    #[prost(int64, tag = "1")]
    pub ohiiefjkkni: i64,
    #[prost(uint32, tag = "8")]
    pub ldnmmccioho: u32,
    #[prost(bool, tag = "6")]
    pub bhhgdckmnik: bool,
    #[prost(uint32, tag = "10")]
    pub ejmlfaapfai: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eiooghchpoi {
    #[prost(uint32, tag = "11")]
    pub ieebebfjbfl: u32,
    #[prost(message, optional, tag = "1")]
    pub emcjphlifkd: ::core::option::Option<Kmbicjhcpfk>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oaemclblljb {
    #[prost(message, optional, tag = "8")]
    pub emcjphlifkd: ::core::option::Option<Kmbicjhcpfk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbmpflalgdb {
    #[prost(uint32, tag = "6")]
    pub idjbbblmklj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgonjlcdjdg {
    #[prost(uint32, tag = "6")]
    pub idjbbblmklj: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcplafkmcph {
    #[prost(enumeration = "PunkLordAttackerStatus", tag = "9")]
    pub pkifaifgdcm: i32,
    #[prost(uint32, tag = "2")]
    pub nkmgjhchmcm: u32,
    #[prost(message, optional, tag = "14")]
    pub pnkcblfpghl: ::core::option::Option<Nkfoadejpkb>,
    #[prost(message, optional, tag = "10")]
    pub basic_info: ::core::option::Option<Iijaajcjnji>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eonadihjgoo {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enkmkelpomk {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub fmldkhkhiac: ::prost::alloc::vec::Vec<Dcplafkmcph>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbdccbjielb {
    #[prost(bool, tag = "6")]
    pub peddlmoecnl: bool,
    #[prost(uint32, tag = "11")]
    pub monster_id: u32,
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpokjafmdji {
    #[prost(uint32, repeated, tag = "7")]
    pub lelfgljeimg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(int64, tag = "5")]
    pub nkapobocbbg: i64,
    #[prost(bool, tag = "6")]
    pub peddlmoecnl: bool,
    #[prost(message, optional, tag = "1")]
    pub fbbbmjaankf: ::core::option::Option<Dcplafkmcph>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfaopilnjag {
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    #[prost(enumeration = "PunkLordShareType", tag = "6")]
    pub ojcgohmmkkf: i32,
    #[prost(uint32, tag = "15")]
    pub monster_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofmmpggmpjl {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub monster_id: u32,
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    #[prost(enumeration = "PunkLordShareType", tag = "15")]
    pub ojcgohmmkkf: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgpbibhddco {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmkalnaohbd {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub fbbbmjaankf: ::core::option::Option<Dcplafkmcph>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmmpgmmpcgi {
    #[prost(bool, tag = "15")]
    pub egkelbblgjk: bool,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npfpabdcipl {
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(bool, tag = "1")]
    pub egkelbblgjk: bool,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npnhnilihgc {
    #[prost(enumeration = "PunkLordMonsterInfoNotifyReason", tag = "2")]
    pub reason: i32,
    #[prost(message, optional, tag = "3")]
    pub basic_info: ::core::option::Option<Iijaajcjnji>,
    #[prost(uint32, repeated, tag = "5")]
    pub lelfgljeimg: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "1")]
    pub pnkcblfpghl: ::core::option::Option<PunkLordBattleRecord>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmgkdibobnb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fikjjnidogc {
    #[prost(uint32, tag = "4")]
    pub gabpkabgnmj: u32,
    #[prost(uint32, tag = "7")]
    pub ailbooccpdf: u32,
    #[prost(uint32, tag = "3")]
    pub dnkfmahbgfl: u32,
    #[prost(int64, tag = "12")]
    pub hmhalomjnpa: i64,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub gfjkfmfnhbe: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub eoccdocoomm: u32,
    #[prost(uint32, tag = "13")]
    pub bejpgcokiml: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncecmbnnkch {
    #[prost(message, optional, tag = "9")]
    pub fbbbmjaankf: ::core::option::Option<Iijaajcjnji>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckkmmijibkc {
    #[prost(message, optional, tag = "2")]
    pub fbbbmjaankf: ::core::option::Option<Iijaajcjnji>,
    #[prost(message, optional, tag = "15")]
    pub pnkcblfpghl: ::core::option::Option<PunkLordBattleRecord>,
    #[prost(uint32, tag = "14")]
    pub bpoadhbcpje: u32,
    #[prost(uint32, tag = "12")]
    pub dabmgjjikdo: u32,
    #[prost(uint32, tag = "1")]
    pub hfeidbhhgbj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjhicpdafpm {
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    #[prost(uint32, tag = "15")]
    pub monster_id: u32,
    #[prost(int64, tag = "3")]
    pub timestamp: i64,
    #[prost(uint32, tag = "6")]
    pub config_id: u32,
    #[prost(uint32, tag = "2")]
    pub imfdhallfnk: u32,
    #[prost(bool, tag = "14")]
    pub ppmkogphjdn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkgnmhmjnka {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clfpkldnkkf {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub kiibbpkaice: ::prost::alloc::vec::Vec<Kjhicpdafpm>,
    #[prost(message, repeated, tag = "7")]
    pub gfkohomcokk: ::prost::alloc::vec::Vec<Ibjhgnngjcd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecjjfakidge {
    #[prost(message, optional, tag = "11")]
    pub ppidgjgdifl: ::core::option::Option<Kjhicpdafpm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bljcpcghcdc {
    #[prost(message, optional, tag = "13")]
    pub ppgafhbkpan: ::core::option::Option<Ibjhgnngjcd>,
    #[prost(bool, tag = "15")]
    pub jmkkglfkhno: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Noknmocnbfn {
    #[prost(bool, tag = "14")]
    pub jmkkglfkhno: bool,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub oggklhikobo: u32,
    #[prost(message, repeated, tag = "13")]
    pub dkjplmaalhn: ::prost::alloc::vec::Vec<Ibjhgnngjcd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkifajnpmjd {
    #[prost(uint32, tag = "5")]
    pub eoccdocoomm: u32,
    #[prost(uint32, tag = "12")]
    pub dnkfmahbgfl: u32,
    #[prost(uint32, tag = "2")]
    pub bejpgcokiml: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcbiikfmmim {
    #[prost(message, optional, tag = "15")]
    pub ppgafhbkpan: ::core::option::Option<Ibjhgnngjcd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opgdokfipin {
    #[prost(message, repeated, tag = "8")]
    pub hjganmchchn: ::prost::alloc::vec::Vec<PunkLordBattleReplay>,
    #[prost(message, repeated, tag = "14")]
    pub nffopijllgd: ::prost::alloc::vec::Vec<PunkLordBattleRecord>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub ppgafhbkpan: ::core::option::Option<Ibjhgnngjcd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iifkdhanhml {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcminmfongb {
    #[prost(int64, tag = "3")]
    pub cbbdfcbniln: i64,
    #[prost(uint32, repeated, tag = "4")]
    pub ihmkpnpaipd: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(enumeration = "Ibcjefpmhhn", tag = "13")]
    pub status: i32,
    #[prost(uint32, tag = "9")]
    pub progress: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nahgobmjpld {
    #[prost(message, repeated, tag = "2")]
    pub gbpfmlkagek: ::prost::alloc::vec::Vec<Pcminmfongb>,
    #[prost(uint32, tag = "10")]
    pub ppajjpccnkd: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Linadeacmgn {
    #[prost(uint32, repeated, tag = "11")]
    pub mcbdkknjncj: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestRewardScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "2")]
    pub succ_quest_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bacmjakokeg {
    #[prost(uint32, tag = "13")]
    pub hbacpolpnhm: u32,
    #[prost(uint32, tag = "8")]
    pub mdcfgcppaof: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjmkahlpohh {
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub hbacpolpnhm: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmkcenkepoj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cggpehnhmlk {
    #[prost(uint32, tag = "8")]
    pub ffilgimnaob: u32,
    #[prost(uint32, tag = "3")]
    pub progress: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcacjeddgoe {
    #[prost(message, repeated, tag = "7")]
    pub fioblekgahe: ::prost::alloc::vec::Vec<Cggpehnhmlk>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbojefmdcno {
    #[prost(message, optional, tag = "10")]
    pub fienbgjmnec: ::core::option::Option<Cggpehnhmlk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ophfdfhkajm {
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "5")]
    pub hbacpolpnhm: u32,
    #[prost(uint32, tag = "13")]
    pub prop_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmhdmopgfbc {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Almaeaofmkf {
    #[prost(uint32, repeated, tag = "1")]
    pub gbpfmlkagek: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmoaeiakdkn {
    #[prost(message, repeated, tag = "6")]
    pub gbpfmlkagek: ::prost::alloc::vec::Vec<Pcminmfongb>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhfcbbifban {
    #[prost(uint32, tag = "5")]
    pub prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub afgklafkhhg: u32,
    #[prost(uint32, tag = "10")]
    pub pdgkchlgoha: u32,
    #[prost(uint32, tag = "14")]
    pub world_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhofhklnkgl {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkikhlajlcm {
    #[prost(uint32, tag = "6")]
    pub pdgkchlgoha: u32,
    #[prost(bool, tag = "5")]
    pub afgklafkhhg: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Babhfhdiadh {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdiohfoidlm {
    #[prost(enumeration = "Ljngpkengml", tag = "11")]
    pub oaeaihgpfep: i32,
    #[prost(uint32, tag = "13")]
    pub hiplchmjcjg: u32,
    #[prost(uint32, tag = "5")]
    pub doeokaogehe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gekihmahnfk {
    #[prost(message, optional, tag = "3")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub pdgkchlgoha: u32,
    #[prost(enumeration = "Egdlnkpokac", tag = "4")]
    pub status: i32,
    #[prost(uint64, tag = "9")]
    pub ahmclabpddn: u64,
    #[prost(uint32, tag = "10")]
    pub world_level: u32,
    #[prost(message, repeated, tag = "13")]
    pub iinokbklmpg: ::prost::alloc::vec::Vec<Cdiohfoidlm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jphjamabaal {
    #[prost(uint32, tag = "10")]
    pub kljpbaagnfn: u32,
    #[prost(uint32, tag = "15")]
    pub pdgkchlgoha: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbadnahmdbg {
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
    #[prost(uint32, tag = "1")]
    pub pdgkchlgoha: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub cmejeojljck: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obgaomifaao {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRaidInfoScRsp {
    #[prost(uint32, repeated, tag = "6")]
    pub challenge_taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "10")]
    pub challenge_raid_list: ::prost::alloc::vec::Vec<Jphjamabaal>,
    #[prost(message, repeated, tag = "13")]
    pub finished_raid_info_list: ::prost::alloc::vec::Vec<Lbadnahmdbg>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llionfdclcl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpigmpocppm {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub ahijdajadka: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub hleipkkahkd: ::prost::alloc::vec::Vec<Jphjamabaal>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Algmlakpomg {
    #[prost(uint32, tag = "14")]
    pub cnefmplmbig: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njfokbiommc {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub cnefmplmbig: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmkpfggidfc {
    #[prost(message, optional, tag = "15")]
    pub ghohceifkka: ::core::option::Option<Jphjamabaal>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjhccokcjnk {
    #[prost(uint32, tag = "5")]
    pub progress: u32,
    #[prost(uint32, tag = "15")]
    pub epcchbmfbag: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghgjodpfcaa {
    #[prost(uint32, tag = "13")]
    pub epcchbmfbag: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub progress: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kidcgbjfnpd {
    #[prost(uint32, tag = "9")]
    pub pdgkchlgoha: u32,
    #[prost(uint32, tag = "15")]
    pub world_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imifjjkgico {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub pdgkchlgoha: u32,
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    #[prost(bool, tag = "10")]
    pub afgklafkhhg: bool,
    #[prost(message, repeated, tag = "8")]
    pub iinokbklmpg: ::prost::alloc::vec::Vec<Cdiohfoidlm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfggiebamfg {
    #[prost(uint32, tag = "15")]
    pub pdgkchlgoha: u32,
    #[prost(uint32, tag = "14")]
    pub world_level: u32,
    #[prost(message, repeated, tag = "3")]
    pub iinokbklmpg: ::prost::alloc::vec::Vec<Cdiohfoidlm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghhmbpjegjk {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfbopchoban {
    #[prost(message, repeated, tag = "6")]
    pub liijapgeikb: ::prost::alloc::vec::Vec<Mfggiebamfg>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbpldpocnjn {
    #[prost(uint32, tag = "2")]
    pub pdgkchlgoha: u32,
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jakpdnaadbc {
    #[prost(enumeration = "Nmmgmhildmo", tag = "4")]
    pub reason: i32,
    #[prost(uint32, tag = "8")]
    pub pdgkchlgoha: u32,
    #[prost(message, optional, tag = "6")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "15")]
    pub world_level: u32,
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cedfjjjkhbm {
    #[prost(uint32, tag = "10")]
    pub lhgkieloebi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggaldmheepa {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbpadphcbng {
    #[prost(message, repeated, tag = "3")]
    pub elfejgoegcj: ::prost::alloc::vec::Vec<Cedfjjjkhbm>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ioiphmhmekm {
    #[prost(message, optional, tag = "9")]
    pub chilecolgae: ::core::option::Option<Cedfjjjkhbm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kojocgflbha {
    #[prost(uint32, repeated, tag = "13")]
    pub jmkkofkbfkc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eicnjndldfd {
    #[prost(uint32, tag = "12")]
    pub ebcggfglden: u32,
    #[prost(uint32, tag = "3")]
    pub dnallopkkfi: u32,
    #[prost(map = "uint32, message", tag = "5")]
    pub fpjedblimli: ::std::collections::HashMap<u32, Kojocgflbha>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ooicjjnkmbj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eipbibgdfpl {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub bdmcmcfhhge: ::prost::alloc::vec::Vec<Eicnjndldfd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfofbboijig {
    #[prost(uint32, tag = "6")]
    pub ebcggfglden: u32,
    #[prost(uint32, tag = "15")]
    pub dnallopkkfi: u32,
    #[prost(enumeration = "Lffobchjjlo", tag = "1")]
    pub ioikfcejhmk: i32,
    #[prost(uint32, repeated, tag = "5")]
    pub param_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hibmkmobaln {
    #[prost(uint32, tag = "10")]
    pub ebcggfglden: u32,
    #[prost(uint32, tag = "14")]
    pub dnallopkkfi: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdjedlclhgc {
    #[prost(uint32, tag = "3")]
    pub ebcggfglden: u32,
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    #[prost(uint32, tag = "12")]
    pub dnallopkkfi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afofipapdfk {
    #[prost(message, optional, tag = "9")]
    pub cdbdooeanhh: ::core::option::Option<Kojocgflbha>,
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    #[prost(uint32, tag = "6")]
    pub ebcggfglden: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub dnallopkkfi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbekdkobaad {
    #[prost(enumeration = "ReplayType", tag = "13")]
    pub jpcjcljkjmp: i32,
    #[prost(string, tag = "15")]
    pub dejdbiacanf: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub glefcfoohbh: u32,
    #[prost(string, tag = "11")]
    pub nfkhacgajfj: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub jahpiaegojl: u32,
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcpcpfdmkca {
    #[prost(enumeration = "ReplayType", tag = "3")]
    pub jpcjcljkjmp: i32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(string, tag = "9")]
    pub token: ::prost::alloc::string::String,
    #[prost(string, tag = "14")]
    pub dejdbiacanf: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbidefbmjka {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgmknkmpbkl {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub jcdminkpkji: ::prost::alloc::vec::Vec<Kkbalnjmdcm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpjfcklcpnn {
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bghndklnigk {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub amfijimnndo: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bodlfnogpeh {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aklbndnpida {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Himlmikaljk {
    #[prost(uint32, tag = "8")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub daimooemhjf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jejdhjdkibf {
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Himlmikaljk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Heaoeflhnnh {
    #[prost(uint32, tag = "5")]
    pub hhagaoeefea: u32,
    #[prost(uint32, tag = "15")]
    pub kggiencobnl: u32,
    #[prost(enumeration = "Gaijflkjche", tag = "6")]
    pub fjheocijogk: i32,
    #[prost(enumeration = "Gaijflkjche", tag = "10")]
    pub oabfmkcflgc: i32,
    #[prost(uint32, tag = "3")]
    pub edkabffadpl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjmahelpfdh {
    #[prost(uint32, tag = "8")]
    pub eaennjebhni: u32,
    #[prost(uint32, tag = "1")]
    pub klnncbjbeek: u32,
    #[prost(message, repeated, tag = "15")]
    pub dckbocfcnel: ::prost::alloc::vec::Vec<Heaoeflhnnh>,
    #[prost(uint32, tag = "13")]
    pub kbgjcpijbie: u32,
    #[prost(uint32, tag = "4")]
    pub aiaajmnhigl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgbblgiioel {
    #[prost(enumeration = "Chajahmclhj", tag = "1")]
    pub pdbaogcagol: i32,
    #[prost(enumeration = "Emehihdnemp", tag = "8")]
    pub bgholncbope: i32,
    #[prost(bool, tag = "14")]
    pub dpclmpedppc: bool,
    #[prost(uint32, tag = "5")]
    pub aiaajmnhigl: u32,
    #[prost(uint32, tag = "6")]
    pub kcfbjmhjolf: u32,
    #[prost(uint32, tag = "9")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnkoihodeff {
    #[prost(uint32, tag = "5")]
    pub fdlbcjdlkbc: u32,
    #[prost(uint32, tag = "3")]
    pub fdjlicgpjib: u32,
    #[prost(uint32, tag = "10")]
    pub gahhjiaecon: u32,
    #[prost(message, optional, tag = "14")]
    pub kbhlkpgmipd: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "2")]
    pub cjpiafhgmjm: u32,
    #[prost(bool, tag = "12")]
    pub domdjhdjihe: bool,
    #[prost(uint32, tag = "1")]
    pub bbcfihlplne: u32,
    #[prost(enumeration = "Jkjklbpopin", tag = "13")]
    pub aflobhhfokj: i32,
    #[prost(uint32, repeated, tag = "9")]
    pub pbpgkmeemhn: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "7")]
    pub fecmkacimjc: ::prost::alloc::vec::Vec<Himlmikaljk>,
    #[prost(uint32, tag = "15")]
    pub ankbbjoclok: u32,
    #[prost(uint32, tag = "8")]
    pub agfnfnenomd: u32,
    #[prost(uint32, tag = "11")]
    pub kfcngidhfcl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aljijmpnglc {
    #[prost(message, repeated, tag = "9")]
    pub cmnegcdkfei: ::prost::alloc::vec::Vec<Himlmikaljk>,
    #[prost(message, optional, tag = "15")]
    pub jbejdedbnnp: ::core::option::Option<Himlmikaljk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emdfdcbbghe {
    #[prost(message, repeated, tag = "6")]
    pub lakcdpidgpj: ::prost::alloc::vec::Vec<Himlmikaljk>,
    #[prost(uint32, tag = "3")]
    pub mdpkkllccfe: u32,
    #[prost(message, repeated, tag = "15")]
    pub idcicoekcie: ::prost::alloc::vec::Vec<Himlmikaljk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpgoffdcaen {
    #[prost(float, tag = "4")]
    pub ejiiaeeodag: f32,
    #[prost(uint32, tag = "14")]
    pub daimooemhjf: u32,
    #[prost(message, optional, tag = "1")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehbgmjcmkep {
    #[prost(message, repeated, tag = "6")]
    pub lpbjlpmccfi: ::prost::alloc::vec::Vec<Bpgoffdcaen>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbjmgjdpkhn {
    #[prost(uint32, tag = "12")]
    pub ddacahgdnfl: u32,
    #[prost(uint32, tag = "9")]
    pub odfnogmkdoa: u32,
    #[prost(map = "uint32, uint32", tag = "14")]
    pub dfkpibclgop: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "6")]
    pub ikplekflpff: u32,
    #[prost(uint32, tag = "1")]
    pub jfipnoajnjm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lniphicfdme {
    #[prost(message, repeated, tag = "10")]
    pub bfpkijmifkj: ::prost::alloc::vec::Vec<Cbjmgjdpkhn>,
    #[prost(uint32, tag = "2")]
    pub lmkjfchgnmh: u32,
    #[prost(uint32, tag = "1")]
    pub cpkhbiogmbj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhidgmiplla {
    #[prost(uint32, repeated, tag = "10")]
    pub ihnmpaapfmi: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "8")]
    pub poooicgcned: ::core::option::Option<Lniphicfdme>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgeejfdkpmb {
    #[prost(uint32, repeated, tag = "13")]
    pub kpejadpaikg: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofigpdgeeoh {
    #[prost(uint32, repeated, tag = "6")]
    pub olkefebefie: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfhnogkaahn {
    #[prost(uint32, tag = "2")]
    pub oigjknhoife: u32,
    #[prost(message, optional, tag = "8")]
    pub acjdlheiiim: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "11")]
    pub kmjpgffnebi: ::core::option::Option<Jejdhjdkibf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihoejbhjhpn {
    #[prost(message, optional, tag = "7")]
    pub kdiacjecjjp: ::core::option::Option<ItemCostData>,
    #[prost(uint32, repeated, tag = "12")]
    pub edbjamdkane: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub hpmbddkndae: u32,
    #[prost(uint32, tag = "1")]
    pub nondkbojijd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgmhkhckgkd {
    #[prost(uint32, tag = "8")]
    pub pancgimhkpo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifllocbklen {
    #[prost(uint32, tag = "6")]
    pub haicmdiliff: u32,
    #[prost(uint32, tag = "8")]
    pub agfnfnenomd: u32,
    #[prost(uint32, tag = "4")]
    pub gpdhpimpdeg: u32,
    #[prost(uint32, tag = "12")]
    pub hdglmefhahe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdigamloonl {
    #[prost(message, optional, tag = "363")]
    pub jffongfiijk: ::core::option::Option<Cckohpohkie>,
    #[prost(message, optional, tag = "470")]
    pub apfchjmjcck: ::core::option::Option<Epgabdljjpf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epgabdljjpf {
    #[prost(message, optional, tag = "7")]
    pub omiljfkigfk: ::core::option::Option<Cknbkfokflf>,
    #[prost(message, optional, tag = "9")]
    pub bllebndkhpl: ::core::option::Option<Hkfcaapfneg>,
    #[prost(message, optional, tag = "10")]
    pub onapnphcgda: ::core::option::Option<Mnekikbgiei>,
    #[prost(message, optional, tag = "5")]
    pub ddiimpamoep: ::core::option::Option<Laemndjdkdh>,
    #[prost(message, optional, tag = "11")]
    pub hgpjehkkhlk: ::core::option::Option<Gnpbjbfopig>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cckohpohkie {
    #[prost(bool, tag = "9")]
    pub jenoellpnkh: bool,
    #[prost(message, optional, tag = "5")]
    pub jieonfbnpno: ::core::option::Option<Jddlgjabcnl>,
    #[prost(message, optional, tag = "6")]
    pub mofjagcikik: ::core::option::Option<Ldcjmibngel>,
    #[prost(enumeration = "Emehihdnemp", tag = "13")]
    pub status: i32,
    #[prost(message, optional, tag = "11")]
    pub likgfhflbdo: ::core::option::Option<Fclcijmlnnf>,
    #[prost(message, optional, tag = "4")]
    pub ookhlecbckf: ::core::option::Option<Pjmahelpfdh>,
    #[prost(message, optional, tag = "15")]
    pub hgpjehkkhlk: ::core::option::Option<Galnhmbnlce>,
    #[prost(message, optional, tag = "10")]
    pub bkhbkonlfcc: ::core::option::Option<Cffmpmdcmij>,
    #[prost(message, optional, tag = "2")]
    pub fcjliecehnd: ::core::option::Option<Injiiaodnjm>,
    #[prost(message, optional, tag = "8")]
    pub poooicgcned: ::core::option::Option<Gbejfmhphik>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cknbkfokflf {
    #[prost(uint32, tag = "5")]
    pub nhoeicdjmed: u32,
    #[prost(int64, tag = "15")]
    pub end_time: i64,
    #[prost(int64, tag = "8")]
    pub begin_time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Laemndjdkdh {
    #[prost(message, repeated, tag = "2")]
    pub giflmglmobd: ::prost::alloc::vec::Vec<Hgbblgiioel>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnpbjbfopig {
    #[prost(bool, tag = "6")]
    pub ijhpalfpmoj: bool,
    #[prost(uint32, tag = "10")]
    pub icfhjjgffgd: u32,
    #[prost(uint32, tag = "15")]
    pub dfdmhnbedld: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub genaiakaklp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mnekikbgiei {
    #[prost(uint32, tag = "4")]
    pub jkifbhanidk: u32,
    #[prost(uint32, tag = "12")]
    pub pjaccgahimp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jddlgjabcnl {
    #[prost(message, repeated, tag = "1")]
    pub fecmkacimjc: ::prost::alloc::vec::Vec<Himlmikaljk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbejfmhphik {
    #[prost(message, optional, tag = "8")]
    pub poooicgcned: ::core::option::Option<Lniphicfdme>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fclcijmlnnf {
    #[prost(uint32, repeated, tag = "14")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub pjojmoniann: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "1")]
    pub kodpnbnhaaj: ::core::option::Option<Ihoejbhjhpn>,
    #[prost(uint32, repeated, tag = "4")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdcbfdjkkah {
    #[prost(message, optional, tag = "14")]
    pub ooaghnaoipb: ::core::option::Option<Ofigpdgeeoh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Galnhmbnlce {
    #[prost(uint32, tag = "9")]
    pub icfhjjgffgd: u32,
    #[prost(bool, tag = "13")]
    pub ijhpalfpmoj: bool,
    #[prost(uint32, tag = "6")]
    pub ngeofippnjj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldcjmibngel {
    #[prost(uint32, repeated, tag = "15")]
    pub ofkfclfdefp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opbkeiiefcf {
    #[prost(bool, tag = "7")]
    pub ijhpalfpmoj: bool,
    #[prost(uint32, tag = "15")]
    pub dfdmhnbedld: u32,
    #[prost(uint32, tag = "4")]
    pub ngeofippnjj: u32,
    #[prost(uint32, tag = "8")]
    pub icfhjjgffgd: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub genaiakaklp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhlkiiloefj {
    #[prost(uint32, tag = "14")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "15")]
    pub ohbbncmnklp: u32,
    #[prost(uint32, tag = "5")]
    pub bpklplglenj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjekmmkhpjm {
    #[prost(message, repeated, tag = "12")]
    pub ebcippkkgpe: ::prost::alloc::vec::Vec<Fhlkiiloefj>,
    #[prost(float, tag = "9")]
    pub dmjlpigemoe: f32,
    #[prost(uint32, tag = "14")]
    pub hgldgojegkc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akkllfdbili {
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub slot: u32,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnhmcnaahic {
    #[prost(message, repeated, tag = "7")]
    pub buff_list: ::prost::alloc::vec::Vec<Himlmikaljk>,
    #[prost(uint32, repeated, tag = "8")]
    pub bfpkijmifkj: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub avatar_list: ::prost::alloc::vec::Vec<Akkllfdbili>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blcmlpgdefi {
    #[prost(uint32, tag = "1827")]
    pub jgidacchpmc: u32,
    #[prost(message, optional, tag = "13")]
    pub dbdcieojanl: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub bgpcigbibfo: u32,
    #[prost(uint32, tag = "10")]
    pub aebbboojkga: u32,
    #[prost(message, optional, tag = "4")]
    pub pepkiiomoki: ::core::option::Option<Hkfcaapfneg>,
    #[prost(message, optional, tag = "3")]
    pub ajelnagfnig: ::core::option::Option<Lpdcamfldnb>,
    #[prost(message, optional, tag = "5")]
    pub oobfbfpflii: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "14")]
    pub jmipehibbkd: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "8")]
    pub lblbpnnnkhg: ::core::option::Option<Lnhmcnaahic>,
    #[prost(bool, tag = "11")]
    pub ihfcfdckmnk: bool,
    #[prost(message, optional, tag = "1")]
    pub enbenfjhidl: ::core::option::Option<Bjekmmkhpjm>,
    #[prost(message, optional, tag = "6")]
    pub oklgefbipeh: ::core::option::Option<Hkfcaapfneg>,
    #[prost(bool, tag = "9")]
    pub bmikmflhmjd: bool,
    #[prost(uint32, tag = "1074")]
    pub eaennjebhni: u32,
    #[prost(uint32, tag = "2")]
    pub cfjbaekiinm: u32,
    #[prost(uint32, tag = "15")]
    pub pjaccgahimp: u32,
    #[prost(uint32, tag = "12")]
    pub oggklhikobo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkfcaapfneg {
    #[prost(uint32, repeated, tag = "5")]
    pub dcgbiogkdpa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub iigbipmlhpn: u32,
    #[prost(bool, tag = "6")]
    pub fnhdhmbglne: bool,
    #[prost(int64, tag = "12")]
    pub ookboiapope: i64,
    #[prost(bool, tag = "14")]
    pub epngngnjjce: bool,
    #[prost(uint32, tag = "11")]
    pub bhagbifgplh: u32,
    #[prost(int64, tag = "4")]
    pub nmbnjbdlnjf: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcpofeojjpb {
    #[prost(uint32, tag = "9")]
    pub ldodkngjekc: u32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub ikekhaoomcl: u32,
    #[prost(uint32, tag = "11")]
    pub exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDialogueEventParam {
    #[prost(uint32, tag = "4")]
    pub dialogue_event_id: u32,
    #[prost(bool, tag = "3")]
    pub is_valid: bool,
    #[prost(float, tag = "12")]
    pub ratio: f32,
    #[prost(int32, tag = "2")]
    pub int_value: i32,
    #[prost(uint32, tag = "14")]
    pub arg_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbdeomilmed {
    #[prost(uint32, tag = "8")]
    pub oeceedkkekm: u32,
    #[prost(message, repeated, tag = "2")]
    pub nmbdmfpkffm: ::prost::alloc::vec::Vec<RogueDialogueEventParam>,
    #[prost(uint32, tag = "3")]
    pub jlgboddadee: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub pgcmnafcahe: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub game_mode_type: u32,
    #[prost(uint32, tag = "1")]
    pub ojljokcgaad: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngeknikmnlm {
    #[prost(enumeration = "Keoijodpfjk", tag = "10")]
    pub jjjaobdhkdb: i32,
    #[prost(uint32, repeated, tag = "11")]
    pub lodgbigeann: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "1")]
    pub acjdlheiiim: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjnhnpjpioe {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjhfidmeipl {
    #[prost(message, optional, tag = "8")]
    pub fbhddfiopmo: ::core::option::Option<Bdigamloonl>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkaeelfiebl {
    #[prost(uint32, repeated, tag = "8")]
    pub jbcacjednho: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub ikekhaoomcl: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub eaennjebhni: u32,
    #[prost(uint32, tag = "14")]
    pub edahdalkobk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpmnmdkfgcg {
    #[prost(message, optional, tag = "2")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "5")]
    pub kjbljeficfg: ::core::option::Option<Lbppapbcodd>,
    #[prost(message, optional, tag = "14")]
    pub fbhddfiopmo: ::core::option::Option<Bdigamloonl>,
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dacpnpckdfh {
    #[prost(uint32, tag = "2")]
    pub edahdalkobk: u32,
    #[prost(uint32, tag = "7")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbmholcimhi {
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "3")]
    pub kjbljeficfg: ::core::option::Option<Lbppapbcodd>,
    #[prost(message, optional, tag = "14")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "7")]
    pub fbhddfiopmo: ::core::option::Option<Bdigamloonl>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdnjekdigfb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehkdcjljmad {
    #[prost(message, optional, tag = "13")]
    pub fbhddfiopmo: ::core::option::Option<Bdigamloonl>,
    #[prost(message, optional, tag = "11")]
    pub kjbljeficfg: ::core::option::Option<Lbppapbcodd>,
    #[prost(message, optional, tag = "6")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhjpfajfjpn {
    #[prost(message, optional, tag = "10")]
    pub mcnnkhmbakb: ::core::option::Option<Blcmlpgdefi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkpjabkbdpk {
    #[prost(uint32, tag = "5")]
    pub prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfhjoibbkjn {
    #[prost(uint32, repeated, tag = "2")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfmkhhoncbj {
    #[prost(uint32, tag = "11")]
    pub edahdalkobk: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub base_avatar_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipacjkijbip {
    #[prost(uint32, repeated, tag = "11")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "5")]
    pub kodpnbnhaaj: ::core::option::Option<Ihoejbhjhpn>,
    #[prost(uint32, repeated, tag = "12")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub kfepghgpago: u32,
    #[prost(uint32, tag = "7")]
    pub base_avatar_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogmnmphbinl {
    #[prost(message, optional, tag = "9")]
    pub kodpnbnhaaj: ::core::option::Option<Ihoejbhjhpn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfgkijgghfb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmhnnogkfei {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub miomknnldmj: ::core::option::Option<Ehbgmjcmkep>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nglcfjipejp {
    #[prost(uint32, tag = "5")]
    pub gdkpfajfjmc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oecdihblcgi {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(bool, tag = "13")]
    pub ajmaimfbcii: bool,
    #[prost(message, optional, tag = "11")]
    pub mebjnkehmad: ::core::option::Option<Himlmikaljk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggblcmciaja {
    #[prost(uint32, tag = "2")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmnnphmoimi {
    #[prost(message, optional, tag = "7")]
    pub mcnnkhmbakb: ::core::option::Option<Blcmlpgdefi>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub fbhddfiopmo: ::core::option::Option<Bdigamloonl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Echbfomldil {
    #[prost(bool, tag = "15")]
    pub jenoellpnkh: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hljobfblbeo {
    #[prost(message, optional, tag = "12")]
    pub bllebndkhpl: ::core::option::Option<Hkfcaapfneg>,
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "13")]
    pub mcnnkhmbakb: ::core::option::Option<Blcmlpgdefi>,
    #[prost(bool, tag = "2")]
    pub mnlpdbipiha: bool,
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkamgkaamfm {
    #[prost(uint32, tag = "14")]
    pub hhagaoeefea: u32,
    #[prost(uint32, tag = "11")]
    pub kggiencobnl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdkdfnkkpnk {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub kjbljeficfg: ::core::option::Option<Lbppapbcodd>,
    #[prost(uint32, tag = "3")]
    pub kbgjcpijbie: u32,
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Noepnhffefg {
    #[prost(message, optional, tag = "13")]
    pub mbjhoeibmbd: ::core::option::Option<Heaoeflhnnh>,
    #[prost(uint32, tag = "5")]
    pub aiaajmnhigl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofhnbjdpidm {
    #[prost(uint32, tag = "14")]
    pub edahdalkobk: u32,
    #[prost(bool, tag = "13")]
    pub hanjblckdie: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgbccngddjb {
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub pdcecpocknh: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikpgmcokplh {
    #[prost(uint32, tag = "13")]
    pub count: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeRogueRewardKeyScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub count: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcbgpkjhpji {
    #[prost(uint32, tag = "7")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gabdlpkghpn {
    #[prost(message, optional, tag = "2")]
    pub inpbbkjhegk: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "1")]
    pub omgdchefdgp: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdoinafilce {
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub ikekhaoomcl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clokdjkeped {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub ikekhaoomcl: u32,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obhbmcpcidc {
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, tag = "11")]
    pub ikekhaoomcl: u32,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olegheclnho {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnbhigkffmo {
    #[prost(message, optional, tag = "1")]
    pub bledhccfcnh: ::core::option::Option<Hkfcaapfneg>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pddlmodkclo {
    #[prost(uint32, tag = "9")]
    pub bhagbifgplh: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub difonklgonf: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njffniagpdi {
    #[prost(uint32, tag = "8")]
    pub bhagbifgplh: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub bllebndkhpl: ::core::option::Option<Hkfcaapfneg>,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikocaipldna {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olieogadbco {
    #[prost(message, optional, tag = "4")]
    pub bllebndkhpl: ::core::option::Option<Hkfcaapfneg>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpmlfapmgjh {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppobbffckon {
    #[prost(message, repeated, tag = "13")]
    pub eahbplnblap: ::prost::alloc::vec::Vec<Jcpofeojjpb>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpocggihmbg {
    #[prost(uint32, tag = "3")]
    pub ikekhaoomcl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjmalndbjha {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "13")]
    pub hgpjehkkhlk: ::core::option::Option<Jcpofeojjpb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afffoncmdbo {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfmbmnepbdd {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub jfidcbaaidg: ::core::option::Option<Hihnldemnbf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgkinfoibej {
    #[prost(uint32, tag = "9")]
    pub eogjkjiapah: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpmmmfjhjho {
    #[prost(message, optional, tag = "13")]
    pub jfidcbaaidg: ::core::option::Option<Hihnldemnbf>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gncanaegpln {
    #[prost(message, optional, tag = "13")]
    pub onapnphcgda: ::core::option::Option<Ifllocbklen>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpklfkficfh {
    #[prost(enumeration = "Emehihdnemp", tag = "10")]
    pub status: i32,
    #[prost(bool, tag = "7")]
    pub opajdaiijak: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbnmpnkigep {
    #[prost(message, optional, tag = "11")]
    pub bllebndkhpl: ::core::option::Option<Hkfcaapfneg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icbmdamdhga {
    #[prost(uint32, repeated, tag = "14")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amcdffjaepk {
    #[prost(message, optional, tag = "10")]
    pub jpfhflhcahp: ::core::option::Option<Opbkeiiefcf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnckdapiopi {
    #[prost(uint32, tag = "5")]
    pub pojebpchnpn: u32,
    #[prost(uint32, tag = "3")]
    pub daimooemhjf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flpoooaiomp {
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Nnckdapiopi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueCommonBuffSelectInfo {
    #[prost(message, repeated, tag = "5")]
    pub select_buff_list: ::prost::alloc::vec::Vec<Nnckdapiopi>,
    #[prost(uint32, repeated, tag = "10")]
    pub handbook_unlock_buff_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub roll_buff_max_count: u32,
    #[prost(uint32, tag = "9")]
    pub certain_select_buff_id: u32,
    #[prost(uint32, tag = "15")]
    pub source_hint_id: u32,
    #[prost(message, optional, tag = "4")]
    pub roll_buff_cost_data: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "7")]
    pub source_cur_count: u32,
    #[prost(uint32, tag = "1")]
    pub roll_buff_free_count: u32,
    #[prost(bool, tag = "14")]
    pub can_roll: bool,
    #[prost(uint32, tag = "3")]
    pub roll_buff_count: u32,
    #[prost(enumeration = "Jkjklbpopin", tag = "2")]
    pub source_type: i32,
    #[prost(uint32, repeated, tag = "13")]
    pub first_buff_type_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub source_total_count: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbckffdaadm {
    #[prost(uint32, tag = "15")]
    pub gldeednllmj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfodnkhblpg {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpoakobiegd {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edoaimpekpc {
    #[prost(message, optional, tag = "4")]
    pub jjhcncfkgjc: ::core::option::Option<RogueCommonBuffSelectInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emgofjpkeoc {
    #[prost(uint32, tag = "1")]
    pub daimooemhjf: u32,
    #[prost(message, optional, tag = "3")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhgfmljonka {
    #[prost(message, repeated, tag = "12")]
    pub lpbjlpmccfi: ::prost::alloc::vec::Vec<Emgofjpkeoc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfodomckpfn {
    #[prost(message, repeated, tag = "15")]
    pub idcicoekcie: ::prost::alloc::vec::Vec<Nnckdapiopi>,
    #[prost(uint32, tag = "5")]
    pub mdpkkllccfe: u32,
    #[prost(message, repeated, tag = "14")]
    pub lakcdpidgpj: ::prost::alloc::vec::Vec<Nnckdapiopi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Docgljmhmif {
    #[prost(message, repeated, tag = "14")]
    pub lakcdpidgpj: ::prost::alloc::vec::Vec<Nnckdapiopi>,
    #[prost(uint32, tag = "2")]
    pub mdpkkllccfe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alinkjelflj {
    #[prost(uint32, tag = "8")]
    pub pfkpfggdckp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnjehfcciab {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjfegmhpdpo {
    #[prost(uint32, tag = "12")]
    pub mdpkkllccfe: u32,
    #[prost(message, repeated, tag = "10")]
    pub ikblnnagkmo: ::prost::alloc::vec::Vec<Nnckdapiopi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnjbikkeblc {
    #[prost(uint32, tag = "3")]
    pub gldeednllmj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihbkineffao {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idceijbpdal {
    #[prost(uint32, tag = "5")]
    pub mdpkkllccfe: u32,
    #[prost(message, repeated, tag = "6")]
    pub gckdhmlccdl: ::prost::alloc::vec::Vec<Nnckdapiopi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icajdpmlpmm {
    #[prost(uint32, tag = "1")]
    pub gldeednllmj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffccleecgpp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lckmcadnhfb {
    #[prost(message, optional, tag = "5")]
    pub cinjgcphgdk: ::core::option::Option<Flpoooaiomp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hekloneohma {
    #[prost(uint32, tag = "15")]
    pub jfipnoajnjm: u32,
    #[prost(uint32, tag = "12")]
    pub ikplekflpff: u32,
    #[prost(map = "uint32, uint32", tag = "1")]
    pub dfkpibclgop: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "11")]
    pub odfnogmkdoa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmbjpidnokn {
    #[prost(bool, tag = "14")]
    pub pfhjeklkaph: bool,
    #[prost(message, optional, tag = "4")]
    pub ifaeaffdlce: ::core::option::Option<Hekloneohma>,
    #[prost(uint32, tag = "9")]
    pub jijnbcknalc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eefomanakgc {
    #[prost(message, optional, tag = "8")]
    pub bhenackohgm: ::core::option::Option<Hekloneohma>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihhglfkehnp {
    #[prost(uint32, tag = "4")]
    pub ikplekflpff: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eflonncobbg {
    #[prost(uint32, tag = "5")]
    pub dbckikphcff: u32,
    #[prost(message, optional, tag = "6")]
    pub bhenackohgm: ::core::option::Option<Hekloneohma>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mipjkepdmof {
    #[prost(message, optional, tag = "8")]
    pub bhenackohgm: ::core::option::Option<Hekloneohma>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkichkigfne {
    #[prost(uint32, tag = "15")]
    pub jijnbcknalc: u32,
    #[prost(message, optional, tag = "13")]
    pub ifaeaffdlce: ::core::option::Option<Hekloneohma>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcbjfjpbjcb {
    #[prost(message, optional, tag = "4")]
    pub bhenackohgm: ::core::option::Option<Hekloneohma>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmldcnalbpp {
    #[prost(message, repeated, tag = "12")]
    pub bfpkijmifkj: ::prost::alloc::vec::Vec<Hekloneohma>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmfjhclkmed {
    #[prost(uint32, tag = "4")]
    pub mdpkkllccfe: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub glomlapppno: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub ihnmpaapfmi: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhdnjlceakb {
    #[prost(uint32, tag = "4")]
    pub gdmjcjfmobi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pioddkcnknc {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnflodhekjj {
    #[prost(uint32, repeated, tag = "11")]
    pub kpejadpaikg: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mefjjennjdh {
    #[prost(uint32, repeated, tag = "9")]
    pub omjahenegkj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub mdpkkllccfe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egoeagdejhf {
    #[prost(uint32, tag = "1")]
    pub cmjncbhlphi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abffcpmijil {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbbdlcghlbp {
    #[prost(uint32, tag = "6")]
    pub mdpkkllccfe: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub pagbhippjca: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgnegnppjbn {
    #[prost(uint32, tag = "9")]
    pub jjkedfnpgle: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgmolihmeoj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bheioimncjj {
    #[prost(uint32, repeated, tag = "1")]
    pub hpdjgagcikm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub mdpkkllccfe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kamboppfppi {
    #[prost(uint32, tag = "11")]
    pub jhofjccnlih: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dokpjbjcmao {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hakklgailbn {
    #[prost(uint32, tag = "10")]
    pub mdpkkllccfe: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub pifdckandcn: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlfhkkalchf {
    #[prost(uint32, tag = "13")]
    pub mimbbldbdeo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Faodicljjkl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcafnpoedcf {
    #[prost(uint32, repeated, tag = "8")]
    pub lfmokojjgbp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub mdpkkllccfe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fckleekganf {
    #[prost(uint32, tag = "6")]
    pub gdmjcjfmobi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbcdlkbggdp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngfppdbiokj {
    #[prost(uint32, repeated, tag = "13")]
    pub lfmokojjgbp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub mdpkkllccfe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dngdglonapo {
    #[prost(uint32, tag = "15")]
    pub gdmjcjfmobi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oekiopkigem {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Malibjadgcp {
    #[prost(uint32, tag = "2")]
    pub hhhnklmaidl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fonifoahkfg {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghlpndipkbb {
    #[prost(message, optional, tag = "13")]
    pub beghfeldogj: ::core::option::Option<Lmldcnalbpp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebmnfnchdgm {
    #[prost(uint32, repeated, tag = "13")]
    pub olkefebefie: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cffmpmdcmij {
    #[prost(uint32, tag = "13")]
    pub pmnphimnehj: u32,
    #[prost(uint32, tag = "7")]
    pub jjbacoggfbb: u32,
    #[prost(uint32, tag = "8")]
    pub gpikgokbife: u32,
    #[prost(uint32, tag = "10")]
    pub nmkmcdinkgi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ambhaaofkic {
    #[prost(uint32, tag = "2")]
    pub odiogijpdkh: u32,
    #[prost(uint32, tag = "3")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mnbgamakdok {
    #[prost(uint32, tag = "15")]
    pub edglnhhadgl: u32,
    #[prost(enumeration = "AvatarType", tag = "4")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueSyncContextBoardEvent {
    #[prost(uint32, tag = "4")]
    pub board_event_id: u32,
    #[prost(uint32, tag = "6")]
    pub modifier_effect_type: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbbgghbgglo {
    #[prost(message, optional, tag = "5")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pohnidlflde {
    #[prost(message, optional, tag = "9")]
    pub mgdnionakde: ::core::option::Option<RogueSyncContextBoardEvent>,
    #[prost(message, optional, tag = "11")]
    pub kifbhdofpii: ::core::option::Option<Nbbgghbgglo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdjfncahdcp {
    #[prost(uint32, tag = "2")]
    pub cbnfmpjkacb: u32,
    #[prost(uint32, tag = "9")]
    pub cdgpadjggmd: u32,
    #[prost(uint32, tag = "12")]
    pub status: u32,
    #[prost(double, tag = "15")]
    pub opieagneiek: f64,
    #[prost(uint32, tag = "1")]
    pub oggklhikobo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Holchccbfpd {
    #[prost(message, optional, tag = "4")]
    pub mhahboaiclp: ::core::option::Option<Bdjfncahdcp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkklgkcgmli {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpnmpphmaji {
    #[prost(message, optional, tag = "12")]
    pub mhahboaiclp: ::core::option::Option<Bdjfncahdcp>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhhaoenfdjd {
    #[prost(uint32, tag = "13")]
    pub eeaflndlpcj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gibfhckbgmp {
    #[prost(message, optional, tag = "8")]
    pub mhahboaiclp: ::core::option::Option<Bdjfncahdcp>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifnfgdfhlko {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eipejldcibm {
    #[prost(message, optional, tag = "12")]
    pub mhahboaiclp: ::core::option::Option<Bdjfncahdcp>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfpclkphmlf {
    #[prost(uint32, tag = "15")]
    pub eafnghhmamf: u32,
    #[prost(uint32, tag = "14")]
    pub oggklhikobo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlgkenmihjo {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub mhahboaiclp: ::core::option::Option<Bdjfncahdcp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlnhbhehchk {
    #[prost(uint32, tag = "12")]
    pub ikplekflpff: u32,
    #[prost(message, optional, tag = "1")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
    #[prost(bool, tag = "2")]
    pub egpnefjnkcn: bool,
    #[prost(message, optional, tag = "10")]
    pub mgojghmknnf: ::core::option::Option<ItemCostData>,
    #[prost(bool, tag = "8")]
    pub ckpgcdndnpl: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hajhdfhojjc {
    #[prost(message, optional, tag = "6")]
    pub mgojghmknnf: ::core::option::Option<ItemCostData>,
    #[prost(message, optional, tag = "5")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "15")]
    pub daimooemhjf: u32,
    #[prost(uint32, tag = "7")]
    pub dohcphhkace: u32,
    #[prost(bool, tag = "11")]
    pub ckpgcdndnpl: bool,
    #[prost(bool, tag = "8")]
    pub egpnefjnkcn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcdaojnockj {
    #[prost(message, repeated, tag = "1")]
    pub bfpkijmifkj: ::prost::alloc::vec::Vec<Dlnhbhehchk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nommpgponbe {
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Hajhdfhojjc>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bilnnimjgbn {
    #[prost(uint32, tag = "13")]
    pub edahdalkobk: u32,
    #[prost(bool, tag = "4")]
    pub hfikdfnhcbl: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpkbfmiljdl {
    #[prost(bool, tag = "14")]
    pub pfhnkcmbncn: bool,
    #[prost(message, optional, tag = "5")]
    pub jieonfbnpno: ::core::option::Option<Nommpgponbe>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub lakcioaemah: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhilibiljph {
    #[prost(bool, tag = "13")]
    pub hfikdfnhcbl: bool,
    #[prost(uint32, tag = "6")]
    pub edahdalkobk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nejeobciigh {
    #[prost(message, optional, tag = "5")]
    pub poooicgcned: ::core::option::Option<Gcdaojnockj>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(bool, tag = "12")]
    pub pfhnkcmbncn: bool,
    #[prost(message, optional, tag = "2")]
    pub lakcioaemah: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibdigomedeg {
    #[prost(uint32, tag = "11")]
    pub ikplekflpff: u32,
    #[prost(uint32, tag = "4")]
    pub edahdalkobk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehcbbnnikpp {
    #[prost(uint32, repeated, tag = "9")]
    pub buff_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub edahdalkobk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgpcadmbhnc {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub poooicgcned: ::core::option::Option<Gcdaojnockj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjanhlemgmb {
    #[prost(message, optional, tag = "9")]
    pub jieonfbnpno: ::core::option::Option<Nommpgponbe>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mngmmbkaipg {
    #[prost(uint32, tag = "1")]
    pub edahdalkobk: u32,
    #[prost(uint32, tag = "9")]
    pub ikplekflpff: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agobmeciibc {
    #[prost(message, optional, tag = "10")]
    pub bnjfopoaacl: ::core::option::Option<Nnckdapiopi>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnhnblmajod {
    #[prost(uint32, tag = "15")]
    pub ckjmpdlopgb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkmmjgicghl {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfmlbadoppe {
    #[prost(uint32, tag = "3")]
    pub edahdalkobk: u32,
    #[prost(uint32, tag = "13")]
    pub gdkpfajfjmc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clhlfbhbbah {
    #[prost(bool, tag = "14")]
    pub ajmaimfbcii: bool,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub mebjnkehmad: ::core::option::Option<Nnckdapiopi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpikholfnag {
    #[prost(uint32, tag = "6")]
    pub edahdalkobk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEnhanceCommonRogueBuffInfoScRsp {
    #[prost(uint32, repeated, tag = "11")]
    pub enhanced_buff_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ninjmjjlcal {
    #[prost(uint32, tag = "10")]
    pub ibpkkcocjbj: u32,
    #[prost(enumeration = "Nlcikhgibkn", tag = "9")]
    pub odiogijpdkh: i32,
    #[prost(message, repeated, tag = "2")]
    pub dbljblgnbgo: ::prost::alloc::vec::Vec<Mmkidgponlg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmkidgponlg {
    #[prost(enumeration = "Ifhbkgbcmci", tag = "10")]
    pub source: i32,
    #[prost(message, optional, tag = "4")]
    pub cimgcfmnhbh: ::core::option::Option<Mjjibalnnfp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oigmcomdjdo {
    #[prost(int32, tag = "10")]
    pub dhdjpopfbpl: i32,
    #[prost(uint32, tag = "6")]
    pub key: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oigaogehdoo {
    #[prost(bool, tag = "5")]
    pub kfioclpdbjk: bool,
    #[prost(uint32, tag = "3")]
    pub cojfmpbjddh: u32,
    #[prost(message, repeated, tag = "10")]
    pub leniolbjmko: ::prost::alloc::vec::Vec<Oigmcomdjdo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfhpfimnaad {
    #[prost(map = "uint32, int32", tag = "1")]
    pub phlglaenhnj: ::std::collections::HashMap<u32, i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Leifbkhdccb {
    #[prost(message, optional, tag = "8")]
    pub pfeadjkemfd: ::core::option::Option<Oigaogehdoo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnbgfjchfan {
    #[prost(message, optional, tag = "12")]
    pub pfeadjkemfd: ::core::option::Option<Oigaogehdoo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iopmlakeocj {
    #[prost(message, optional, tag = "8")]
    pub pfeadjkemfd: ::core::option::Option<Oigaogehdoo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhdoepjggne {
    #[prost(message, optional, tag = "2")]
    pub pfeadjkemfd: ::core::option::Option<Oigaogehdoo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbcggnjceoe {
    #[prost(message, optional, tag = "1")]
    pub value: ::core::option::Option<Cfhpfimnaad>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbncgpcfmlh {
    #[prost(message, repeated, tag = "11")]
    pub hgmhpmndpga: ::prost::alloc::vec::Vec<Oigaogehdoo>,
    #[prost(message, optional, tag = "12")]
    pub mdihgnohpmn: ::core::option::Option<Cfhpfimnaad>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acelfigdgmb {
    #[prost(uint32, tag = "15")]
    pub clkjmkjjohi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glljmpjjafd {
    #[prost(uint32, tag = "13")]
    pub clkjmkjjohi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Indkjjnakoi {
    #[prost(map = "uint32, bool", tag = "8")]
    pub cfjdihnpaip: ::std::collections::HashMap<u32, bool>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjjibalnnfp {
    #[prost(message, optional, tag = "6")]
    pub nfkbnjjpnih: ::core::option::Option<Ambhaaofkic>,
    #[prost(message, optional, tag = "5")]
    pub nohpkkdebci: ::core::option::Option<Ambhaaofkic>,
    #[prost(message, optional, tag = "202")]
    pub jbejdedbnnp: ::core::option::Option<Nnckdapiopi>,
    #[prost(message, optional, tag = "101")]
    pub egegeemifca: ::core::option::Option<Nnckdapiopi>,
    #[prost(message, optional, tag = "173")]
    pub ijlnfabojoe: ::core::option::Option<Eefomanakgc>,
    #[prost(message, optional, tag = "363")]
    pub oieocpfeoco: ::core::option::Option<Ihhglfkehnp>,
    #[prost(message, optional, tag = "1465")]
    pub nobmnbidkkj: ::core::option::Option<Eflonncobbg>,
    #[prost(message, optional, tag = "1875")]
    pub kmjjiaandml: ::core::option::Option<Mipjkepdmof>,
    #[prost(message, optional, tag = "835")]
    pub cbfjolocdpc: ::core::option::Option<Nkichkigfne>,
    #[prost(message, optional, tag = "142")]
    pub lkefdjhlnmi: ::core::option::Option<Lcbjfjpbjcb>,
    #[prost(message, optional, tag = "1609")]
    pub pipdifkdmdj: ::core::option::Option<Mnbgamakdok>,
    #[prost(message, optional, tag = "1837")]
    pub lgklkhhkakn: ::core::option::Option<Leifbkhdccb>,
    #[prost(message, optional, tag = "1953")]
    pub oepnbklnlcp: ::core::option::Option<Gnbgfjchfan>,
    #[prost(message, optional, tag = "1077")]
    pub diddmbkcodj: ::core::option::Option<Iopmlakeocj>,
    #[prost(message, optional, tag = "499")]
    pub gjgehhhlpbo: ::core::option::Option<Hhdoepjggne>,
    #[prost(message, optional, tag = "1885")]
    pub kgnbplmekkb: ::core::option::Option<Mbcggnjceoe>,
    #[prost(message, optional, tag = "602")]
    pub kedoflkdibj: ::core::option::Option<Acelfigdgmb>,
    #[prost(message, optional, tag = "1746")]
    pub hjcmocgbapb: ::core::option::Option<Glljmpjjafd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueFormulaSelectInfo {
    #[prost(uint32, tag = "3")]
    pub roll_formula_free_count: u32,
    #[prost(uint32, tag = "11")]
    pub hint_id: u32,
    #[prost(uint32, tag = "6")]
    pub roll_formula_count: u32,
    #[prost(bool, tag = "2")]
    pub can_roll: bool,
    #[prost(uint32, repeated, tag = "7")]
    pub select_formula_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "12")]
    pub roll_formula_cost_data: ::core::option::Option<ItemCostData>,
    #[prost(uint32, repeated, tag = "14")]
    pub handbook_unlock_formula_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub roll_formula_max_count: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhohhlmnfhl {
    #[prost(uint32, tag = "5")]
    pub jaebohcfakf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckcgpngehpl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceghnkflkee {
    #[prost(uint32, repeated, tag = "1")]
    pub meiimolmncj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub mdpkkllccfe: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbbdgefffhj {
    #[prost(uint32, tag = "13")]
    pub jaebohcfakf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcinogogbhf {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmbdkfgdkhn {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjaingcdkmh {
    #[prost(message, optional, tag = "9")]
    pub fnckojamlkd: ::core::option::Option<RogueFormulaSelectInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hcpiegicmeg {
    #[prost(message, optional, tag = "5")]
    pub fnckojamlkd: ::core::option::Option<RogueFormulaSelectInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lokpdmklmae {
    #[prost(uint32, tag = "14")]
    pub jaebohcfakf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpegldkmpga {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhfeddailnm {
    #[prost(uint32, tag = "6")]
    pub ejilnblflii: u32,
    #[prost(bool, tag = "9")]
    pub bmikmflhmjd: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbcogdnljfi {
    #[prost(message, optional, tag = "13")]
    pub fbkbiocfkbb: ::core::option::Option<Injiiaodnjm>,
    #[prost(uint32, tag = "2")]
    pub ibpkkcocjbj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Injiiaodnjm {
    #[prost(uint32, tag = "4")]
    pub fdcahdecfnc: u32,
    #[prost(message, optional, tag = "7")]
    pub cimgcfmnhbh: ::core::option::Option<Iiiadobndee>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iiiadobndee {
    #[prost(message, optional, tag = "216")]
    pub jjhcncfkgjc: ::core::option::Option<RogueCommonBuffSelectInfo>,
    #[prost(message, optional, tag = "550")]
    pub hbblcdmecld: ::core::option::Option<Docgljmhmif>,
    #[prost(message, optional, tag = "1977")]
    pub abglmeenefh: ::core::option::Option<Pjfegmhpdpo>,
    #[prost(message, optional, tag = "402")]
    pub emnkgppmccd: ::core::option::Option<Idceijbpdal>,
    #[prost(message, optional, tag = "1920")]
    pub bgbinkcbahd: ::core::option::Option<Fmfjhclkmed>,
    #[prost(message, optional, tag = "1781")]
    pub mioblhgeeid: ::core::option::Option<Gnflodhekjj>,
    #[prost(message, optional, tag = "1485")]
    pub ecbjpaialfh: ::core::option::Option<Mefjjennjdh>,
    #[prost(message, optional, tag = "433")]
    pub ciadapmofei: ::core::option::Option<Pbbdlcghlbp>,
    #[prost(message, optional, tag = "747")]
    pub melgnbjeahn: ::core::option::Option<Bheioimncjj>,
    #[prost(message, optional, tag = "597")]
    pub cphgjfcmndp: ::core::option::Option<Hakklgailbn>,
    #[prost(message, optional, tag = "418")]
    pub kbbljdpebga: ::core::option::Option<Pcafnpoedcf>,
    #[prost(message, optional, tag = "1925")]
    pub iiahfmdaklg: ::core::option::Option<Ngfppdbiokj>,
    #[prost(message, optional, tag = "388")]
    pub ooaghnaoipb: ::core::option::Option<Ebmnfnchdgm>,
    #[prost(message, optional, tag = "485")]
    pub fnckojamlkd: ::core::option::Option<RogueFormulaSelectInfo>,
    #[prost(message, optional, tag = "1636")]
    pub ecpjmoplnei: ::core::option::Option<Ceghnkflkee>,
    #[prost(message, optional, tag = "575")]
    pub nnanmngnhgc: ::core::option::Option<Hcpiegicmeg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddcbkjggmej {
    #[prost(uint32, tag = "4")]
    pub jpalgjmamlm: u32,
    #[prost(message, optional, tag = "744")]
    pub hfimmflkpbl: ::core::option::Option<Nbckffdaadm>,
    #[prost(message, optional, tag = "1295")]
    pub kiapgbbpbaa: ::core::option::Option<Alinkjelflj>,
    #[prost(message, optional, tag = "1929")]
    pub mfpnjoocmni: ::core::option::Option<Dnjbikkeblc>,
    #[prost(message, optional, tag = "2038")]
    pub ngkgbikocni: ::core::option::Option<Bpoakobiegd>,
    #[prost(message, optional, tag = "1741")]
    pub bfppkiebkaf: ::core::option::Option<Icajdpmlpmm>,
    #[prost(message, optional, tag = "877")]
    pub fmcemjpphij: ::core::option::Option<Jhdnjlceakb>,
    #[prost(message, optional, tag = "1035")]
    pub njhfndfkdab: ::core::option::Option<Egoeagdejhf>,
    #[prost(message, optional, tag = "194")]
    pub cpkahljhpfa: ::core::option::Option<Jgnegnppjbn>,
    #[prost(message, optional, tag = "1222")]
    pub olahippjnja: ::core::option::Option<Kamboppfppi>,
    #[prost(message, optional, tag = "1544")]
    pub akamjglohcn: ::core::option::Option<Dlfhkkalchf>,
    #[prost(message, optional, tag = "1302")]
    pub fmjipjefnon: ::core::option::Option<Fckleekganf>,
    #[prost(message, optional, tag = "1610")]
    pub mbkgfjnnhhl: ::core::option::Option<Dngdglonapo>,
    #[prost(message, optional, tag = "1047")]
    pub kaoagpbpjjj: ::core::option::Option<Malibjadgcp>,
    #[prost(message, optional, tag = "1926")]
    pub hhnidmecofm: ::core::option::Option<Fhohhlmnfhl>,
    #[prost(message, optional, tag = "946")]
    pub bpmbkleihjd: ::core::option::Option<Gmbdkfgdkhn>,
    #[prost(message, optional, tag = "1157")]
    pub plmanjjlkek: ::core::option::Option<Cbbdgefffhj>,
    #[prost(message, optional, tag = "1615")]
    pub mnhbfabfplc: ::core::option::Option<Lokpdmklmae>,
    #[prost(message, optional, tag = "28190")]
    pub ojhbbpidldf: ::core::option::Option<Mhfeddailnm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mohpihlpghn {
    #[prost(uint32, tag = "12")]
    pub jpalgjmamlm: u32,
    #[prost(uint32, tag = "1")]
    pub fdcahdecfnc: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "688")]
    pub gigkeidocok: ::core::option::Option<Kfodnkhblpg>,
    #[prost(message, optional, tag = "1933")]
    pub mgmcoafnoip: ::core::option::Option<Gnjehfcciab>,
    #[prost(message, optional, tag = "1646")]
    pub dhkieheonfh: ::core::option::Option<Ihbkineffao>,
    #[prost(message, optional, tag = "523")]
    pub fkcbgobjkgm: ::core::option::Option<Edoaimpekpc>,
    #[prost(message, optional, tag = "741")]
    pub bniohlncejl: ::core::option::Option<Ffccleecgpp>,
    #[prost(message, optional, tag = "214")]
    pub kbjmfklbcie: ::core::option::Option<Pioddkcnknc>,
    #[prost(message, optional, tag = "1353")]
    pub afgcecmfdnf: ::core::option::Option<Abffcpmijil>,
    #[prost(message, optional, tag = "183")]
    pub oldmciigbeh: ::core::option::Option<Mgmolihmeoj>,
    #[prost(message, optional, tag = "1459")]
    pub bncdcflhhac: ::core::option::Option<Dokpjbjcmao>,
    #[prost(message, optional, tag = "544")]
    pub aidbgfmmeid: ::core::option::Option<Faodicljjkl>,
    #[prost(message, optional, tag = "496")]
    pub glpocpgiofm: ::core::option::Option<Dbcdlkbggdp>,
    #[prost(message, optional, tag = "1994")]
    pub cffknjfpnjh: ::core::option::Option<Oekiopkigem>,
    #[prost(message, optional, tag = "59")]
    pub jhkhjegbnoa: ::core::option::Option<Fonifoahkfg>,
    #[prost(message, optional, tag = "991")]
    pub jiekmgkbofm: ::core::option::Option<Ckcgpngehpl>,
    #[prost(message, optional, tag = "471")]
    pub ojjefkhaphk: ::core::option::Option<Hjaingcdkmh>,
    #[prost(message, optional, tag = "235")]
    pub cmehfadecki: ::core::option::Option<Dcinogogbhf>,
    #[prost(message, optional, tag = "167")]
    pub obmjedhcmen: ::core::option::Option<Bpegldkmpga>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifjpllmdhpl {
    #[prost(uint32, tag = "15")]
    pub gdkpfajfjmc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egncjjjolja {
    #[prost(uint32, tag = "2")]
    pub gdjopodoimg: u32,
    #[prost(bool, tag = "12")]
    pub dpclmpedppc: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edphlinacnj {
    #[prost(uint32, tag = "15")]
    pub lomdpnaibdh: u32,
    #[prost(bool, tag = "1")]
    pub dpclmpedppc: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jaopbkadnnl {
    #[prost(uint32, tag = "5")]
    pub ldodkngjekc: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub njfmoekgahn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub fodoaokiblg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub exp: u32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub ikekhaoomcl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecboblbpopa {
    #[prost(message, repeated, tag = "12")]
    pub eahbplnblap: ::prost::alloc::vec::Vec<Jaopbkadnnl>,
    #[prost(message, repeated, tag = "10")]
    pub buff_list: ::prost::alloc::vec::Vec<Ifjpllmdhpl>,
    #[prost(message, repeated, tag = "15")]
    pub ehdgklcejfa: ::prost::alloc::vec::Vec<Edphlinacnj>,
    #[prost(message, repeated, tag = "8")]
    pub bfpkijmifkj: ::prost::alloc::vec::Vec<Egncjjjolja>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdaoldbhkhd {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueHandbookDataScRsp {
    #[prost(message, optional, tag = "15")]
    pub handbook_info: ::core::option::Option<Ecboblbpopa>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjccmbabobn {
    #[prost(message, repeated, tag = "14")]
    pub ecbifkmjjnb: ::prost::alloc::vec::Vec<Edphlinacnj>,
    #[prost(message, repeated, tag = "8")]
    pub kbpjbcijmif: ::prost::alloc::vec::Vec<Ifjpllmdhpl>,
    #[prost(message, repeated, tag = "4")]
    pub bkbjgnejfej: ::prost::alloc::vec::Vec<Egncjjjolja>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okfedhnfplp {
    #[prost(uint32, repeated, tag = "4")]
    pub bbaibdcaefb: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnibobegpod {
    #[prost(uint32, repeated, tag = "5")]
    pub mfnmphjoccj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgdjhahghjj {
    #[prost(uint32, repeated, tag = "2")]
    pub ealbiepajbp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkjniaenimn {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub mmjnhkgchcn: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkmknaahpno {
    #[prost(map = "uint32, uint32", tag = "2")]
    pub oikgoppgcak: ::std::collections::HashMap<u32, u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnampabdkih {
    #[prost(int32, tag = "9")]
    pub hbdhpbcnohk: i32,
    #[prost(message, optional, tag = "2")]
    pub beeokjmnjkk: ::core::option::Option<Lnopmppabkj>,
    #[prost(uint32, tag = "10")]
    pub ngeofippnjj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efhdbcoonfm {
    #[prost(uint32, repeated, tag = "12")]
    pub pemhiihaabe: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onjooihjhmg {
    #[prost(message, optional, tag = "6")]
    pub kdiacjecjjp: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mknngpdeflb {
    #[prost(message, optional, tag = "2")]
    pub jieonfbnpno: ::core::option::Option<Lckmcadnhfb>,
    #[prost(message, optional, tag = "11")]
    pub poooicgcned: ::core::option::Option<Ghlpndipkbb>,
    #[prost(message, optional, tag = "5")]
    pub kifepdcienp: ::core::option::Option<Gkmknaahpno>,
    #[prost(message, optional, tag = "12")]
    pub hgpjehkkhlk: ::core::option::Option<Jnampabdkih>,
    #[prost(message, optional, tag = "13")]
    pub fnopcpeleon: ::core::option::Option<Efhdbcoonfm>,
    #[prost(message, optional, tag = "14")]
    pub gfhahpcaakj: ::core::option::Option<Fbncgpcfmlh>,
    #[prost(message, optional, tag = "15")]
    pub bcinpcanmcb: ::core::option::Option<Indkjjnakoi>,
    #[prost(message, optional, tag = "8")]
    pub likgfhflbdo: ::core::option::Option<Onjooihjhmg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcboglokcao {
    #[prost(message, repeated, tag = "11")]
    pub ppimhnodnmk: ::prost::alloc::vec::Vec<Mknngpdeflb>,
    #[prost(uint32, tag = "9")]
    pub ibpkkcocjbj: u32,
    #[prost(uint32, tag = "7")]
    pub ogimokddmim: u32,
    #[prost(uint32, tag = "10")]
    pub imamgmommoi: u32,
    #[prost(uint32, tag = "3")]
    pub bhbdljpeepl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueUnlockProgress {
    #[prost(bool, tag = "1")]
    pub finish: bool,
    #[prost(uint32, tag = "15")]
    pub progress: u32,
    #[prost(uint32, tag = "4")]
    pub unlock_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipglldpfoig {
    #[prost(enumeration = "Ongcmhmmjnf", tag = "5")]
    pub status: i32,
    #[prost(uint32, tag = "8")]
    pub eogjkjiapah: u32,
    #[prost(message, repeated, tag = "3")]
    pub pgbaagglfkh: ::prost::alloc::vec::Vec<RogueUnlockProgress>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hihnldemnbf {
    #[prost(message, repeated, tag = "9")]
    pub jhoiglcaadh: ::prost::alloc::vec::Vec<Ipglldpfoig>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmafkolemhf {
    #[prost(uint32, tag = "4")]
    pub pimpaablffb: u32,
    #[prost(uint32, tag = "6")]
    pub icbfmkohcmp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpgcnkffbcm {
    #[prost(message, repeated, tag = "7")]
    pub fddeiohlgid: ::prost::alloc::vec::Vec<Mmafkolemhf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goblmhmhbjm {
    #[prost(uint32, tag = "8")]
    pub emdlmohnmfe: u32,
    #[prost(uint32, tag = "5")]
    pub iflaaljephn: u32,
    #[prost(uint32, tag = "12")]
    pub adnlbbjackd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbabofalepa {
    #[prost(enumeration = "Bhhikebcofb", repeated, tag = "13")]
    pub aggljhgmhja: ::prost::alloc::vec::Vec<i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpdajbpbeag {
    #[prost(message, optional, tag = "6")]
    pub odakmmanlkc: ::core::option::Option<Lbabofalepa>,
    #[prost(message, optional, tag = "1")]
    pub ddiimpamoep: ::core::option::Option<Goblmhmhbjm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbckkeehilm {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajnfaamgknk {
    #[prost(message, optional, tag = "15")]
    pub apfchjmjcck: ::core::option::Option<Kpdajbpbeag>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmnboaaplgg {
    #[prost(message, optional, tag = "2")]
    pub ddiimpamoep: ::core::option::Option<Goblmhmhbjm>,
    #[prost(message, optional, tag = "7")]
    pub odakmmanlkc: ::core::option::Option<Lbabofalepa>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Danacchecha {
    #[prost(uint32, tag = "7")]
    pub jlgboddadee: u32,
    #[prost(uint32, tag = "14")]
    pub oeceedkkekm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebmpinjchfb {
    #[prost(uint32, tag = "14")]
    pub mmnbklfiipm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndckdmomlfk {
    #[prost(uint32, tag = "7")]
    pub mmnbklfiipm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abcmhgngfgl {
    #[prost(uint32, tag = "8")]
    pub cojfmpbjddh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpeapdfejjn {
    #[prost(message, optional, tag = "12")]
    pub ddgfabdgplf: ::core::option::Option<Danacchecha>,
    #[prost(message, optional, tag = "2")]
    pub nfgpcabddhg: ::core::option::Option<Ebmpinjchfb>,
    #[prost(message, optional, tag = "13")]
    pub mbkbcainopi: ::core::option::Option<Ndckdmomlfk>,
    #[prost(message, optional, tag = "3")]
    pub lnfiaddnlbe: ::core::option::Option<Abcmhgngfgl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekldiikmjci {
    #[prost(float, tag = "7")]
    pub ikohmmpooma: f32,
    #[prost(int32, tag = "9")]
    pub fepcafdipbn: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afgednjhieh {
    #[prost(uint32, tag = "5")]
    pub ejilnblflii: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjficdahoch {
    #[prost(int32, tag = "7")]
    pub ocfickncdnj: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pinokclenae {
    #[prost(message, optional, tag = "9")]
    pub cicnfldjoad: ::core::option::Option<Afgednjhieh>,
    #[prost(message, optional, tag = "2")]
    pub mkfackcllaa: ::core::option::Option<Jjficdahoch>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmincbjoeod {
    #[prost(message, repeated, tag = "12")]
    pub glojpaikgpd: ::prost::alloc::vec::Vec<Pinokclenae>,
    #[prost(bool, tag = "5")]
    pub jldnkhplogd: bool,
    #[prost(uint32, tag = "13")]
    pub mabnfbojodg: u32,
    #[prost(uint32, tag = "14")]
    pub ljdbipcndgf: u32,
    #[prost(bool, tag = "11")]
    pub hlcblcpdlip: bool,
    #[prost(message, optional, tag = "1")]
    pub nmhpkmdmmpa: ::core::option::Option<Ekldiikmjci>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adjgfjecbei {
    #[prost(uint32, tag = "3")]
    pub ojljokcgaad: u32,
    #[prost(message, optional, tag = "1")]
    pub hgnofhoefld: ::core::option::Option<Kpeapdfejjn>,
    #[prost(message, repeated, tag = "9")]
    pub ilahkjfpebe: ::prost::alloc::vec::Vec<Hmincbjoeod>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elhmicbebnn {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohloligpbdh {
    #[prost(message, repeated, tag = "4")]
    pub epcmhpiobgo: ::prost::alloc::vec::Vec<Adjgfjecbei>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnlnjbjfoga {
    #[prost(uint32, tag = "1")]
    pub ojljokcgaad: u32,
    #[prost(uint32, tag = "8")]
    pub mabnfbojodg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppblajmchml {
    #[prost(uint32, repeated, tag = "6")]
    pub lleagmjnpfp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub ojljokcgaad: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub iiekeaopjhb: ::core::option::Option<Adjgfjecbei>,
    #[prost(uint32, tag = "12")]
    pub mabnfbojodg: u32,
    #[prost(bool, tag = "8")]
    pub ablmleecgbi: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nalojdiloki {
    #[prost(uint32, tag = "1")]
    pub ojljokcgaad: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okigacdcmmf {
    #[prost(uint32, tag = "15")]
    pub ojljokcgaad: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olnjdombcjp {
    #[prost(message, repeated, tag = "1")]
    pub epcmhpiobgo: ::prost::alloc::vec::Vec<Adjgfjecbei>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anknbfbejgi {
    #[prost(message, optional, tag = "11")]
    pub bmbfgldgoml: ::core::option::Option<Hmincbjoeod>,
    #[prost(uint32, tag = "14")]
    pub ojljokcgaad: u32,
    #[prost(uint32, tag = "15")]
    pub mabnfbojodg: u32,
    #[prost(message, optional, tag = "1")]
    pub iiekeaopjhb: ::core::option::Option<Adjgfjecbei>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmbhdfjnhil {
    #[prost(uint32, tag = "2")]
    pub ibpkkcocjbj: u32,
    #[prost(uint32, tag = "13")]
    pub bhbdljpeepl: u32,
    #[prost(uint32, tag = "7")]
    pub ogimokddmim: u32,
    #[prost(message, optional, tag = "6")]
    pub dfkdempdkoj: ::core::option::Option<Mknngpdeflb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnpkoiaehoh {
    #[prost(uint32, tag = "10")]
    pub ogimokddmim: u32,
    #[prost(uint32, tag = "7")]
    pub bhbdljpeepl: u32,
    #[prost(message, optional, tag = "15")]
    pub fcjliecehnd: ::core::option::Option<Injiiaodnjm>,
    #[prost(uint32, tag = "2")]
    pub ibpkkcocjbj: u32,
    #[prost(uint32, tag = "8")]
    pub imamgmommoi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Degolimkabn {
    #[prost(uint32, tag = "3")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "6")]
    pub dfaajkhhjik: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nggdpgnmfjk {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub dgmhbmmoifk: ::core::option::Option<Epfpbimmgpg>,
    #[prost(uint32, tag = "8")]
    pub dfaajkhhjik: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epfpbimmgpg {
    #[prost(message, optional, tag = "13")]
    pub anhdfpmpjgb: ::core::option::Option<Ifnoefnecdb>,
    #[prost(message, optional, tag = "11")]
    pub ikbeclbkmpc: ::core::option::Option<Oeadhaoaabj>,
    #[prost(message, optional, tag = "7")]
    pub fadobpolfkh: ::core::option::Option<Aemmbhnpced>,
    #[prost(message, optional, tag = "9")]
    pub angihoniiji: ::core::option::Option<Eeeiemppipl>,
    #[prost(message, optional, tag = "10")]
    pub bdclgmeljld: ::core::option::Option<Aigenlbpocd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifnoefnecdb {
    #[prost(int32, tag = "6")]
    pub ecnbmflpenn: i32,
    #[prost(uint32, tag = "13")]
    pub jplanglkoci: u32,
    #[prost(bool, tag = "4")]
    pub bfoclcjbjkf: bool,
    #[prost(uint32, tag = "2")]
    pub lcgnfdimnpo: u32,
    #[prost(message, optional, tag = "1")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oeadhaoaabj {
    #[prost(uint32, tag = "14")]
    pub lcgnfdimnpo: u32,
    #[prost(message, optional, tag = "10")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "3")]
    pub jplanglkoci: u32,
    #[prost(bool, tag = "1")]
    pub bfoclcjbjkf: bool,
    #[prost(int32, tag = "7")]
    pub ecnbmflpenn: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aemmbhnpced {
    #[prost(uint32, tag = "5")]
    pub hahkfdheaci: u32,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub gcccpjfcnfh: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "11")]
    pub cajenadlkne: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eeeiemppipl {
    #[prost(message, optional, tag = "10")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
    #[prost(int32, tag = "2")]
    pub ecnbmflpenn: i32,
    #[prost(map = "uint32, bool", tag = "3")]
    pub mjlnljibfca: ::std::collections::HashMap<u32, bool>,
    #[prost(uint32, tag = "7")]
    pub lcgnfdimnpo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aigenlbpocd {
    #[prost(uint32, tag = "10")]
    pub lcgnfdimnpo: u32,
    #[prost(message, optional, tag = "5")]
    pub hmambnipfcd: ::core::option::Option<ItemCostData>,
    #[prost(int32, tag = "14")]
    pub ecnbmflpenn: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfbolfefbhn {
    #[prost(uint32, tag = "8")]
    pub dfaajkhhjik: u32,
    #[prost(message, optional, tag = "4")]
    pub ncokdmcoifi: ::core::option::Option<Hmnjjopoocg>,
    #[prost(uint32, tag = "2")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfpfooncljk {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub dfaajkhhjik: u32,
    #[prost(message, optional, tag = "12")]
    pub dgmhbmmoifk: ::core::option::Option<Epfpbimmgpg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmnjjopoocg {
    #[prost(message, optional, tag = "14")]
    pub anhdfpmpjgb: ::core::option::Option<Egdhnafbfcj>,
    #[prost(message, optional, tag = "13")]
    pub ikbeclbkmpc: ::core::option::Option<Jigdjckmddb>,
    #[prost(message, optional, tag = "11")]
    pub fadobpolfkh: ::core::option::Option<Agcbaogoicp>,
    #[prost(message, optional, tag = "9")]
    pub angihoniiji: ::core::option::Option<Elajplnmmmi>,
    #[prost(message, optional, tag = "8")]
    pub bdclgmeljld: ::core::option::Option<Ajfhhfknocl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egdhnafbfcj {
    #[prost(uint32, tag = "12")]
    pub lkcfchbbmlo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jigdjckmddb {
    #[prost(uint32, tag = "8")]
    pub odbfmjedalf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agcbaogoicp {
    #[prost(uint32, tag = "5")]
    pub ofadkinjbmf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elajplnmmmi {
    #[prost(uint32, repeated, tag = "13")]
    pub nkbhfjicgkk: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajfhhfknocl {
    #[prost(uint32, tag = "11")]
    pub okaonkdkojn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pamoapmgako {
    #[prost(uint32, tag = "14")]
    pub eomjnjecdia: u32,
    #[prost(enumeration = "Dmnhbgcdghe", tag = "3")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apkomhbhdhj {
    #[prost(uint32, tag = "7")]
    pub nkfndmncijf: u32,
    #[prost(uint32, tag = "3")]
    pub eomjnjecdia: u32,
    #[prost(enumeration = "Cockdenjgpm", tag = "11")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgnnimmihep {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mioabkcfgge {
    #[prost(message, repeated, tag = "12")]
    pub bdhaaafeocc: ::prost::alloc::vec::Vec<Pamoapmgako>,
    #[prost(message, repeated, tag = "3")]
    pub cgncbjamddh: ::prost::alloc::vec::Vec<Apkomhbhdhj>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edgpebmcofl {
    #[prost(uint32, repeated, tag = "15")]
    pub oeiklljchml: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Amihidepacp", repeated, tag = "8")]
    pub ifgdofhacpe: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, repeated, tag = "9")]
    pub majcfhkinfa: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpnnbodfhjh {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub cgncbjamddh: ::prost::alloc::vec::Vec<Apkomhbhdhj>,
    #[prost(message, repeated, tag = "5")]
    pub bdhaaafeocc: ::prost::alloc::vec::Vec<Pamoapmgako>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pldcjkpolje {
    #[prost(enumeration = "Oegcailhgeb", tag = "11")]
    pub status: i32,
    #[prost(uint32, tag = "5")]
    pub bhicapgddkf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kabbmphpdnl {
    #[prost(uint32, tag = "14")]
    pub nkfndmncijf: u32,
    #[prost(uint32, tag = "2")]
    pub bhicapgddkf: u32,
    #[prost(enumeration = "Cockdenjgpm", tag = "5")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mblenmmhddl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gaalofcdhfg {
    #[prost(message, repeated, tag = "12")]
    pub fabcmbmjioa: ::prost::alloc::vec::Vec<Pldcjkpolje>,
    #[prost(message, repeated, tag = "10")]
    pub hemdkippdfi: ::prost::alloc::vec::Vec<Kabbmphpdnl>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhglgcholen {
    #[prost(enumeration = "Amihidepacp", repeated, tag = "7")]
    pub fmhnekajjip: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, repeated, tag = "9")]
    pub flinpghmoki: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub nggjnnkcihc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpbjmlbfoml {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub hemdkippdfi: ::prost::alloc::vec::Vec<Kabbmphpdnl>,
    #[prost(message, repeated, tag = "12")]
    pub fabcmbmjioa: ::prost::alloc::vec::Vec<Pldcjkpolje>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hafbhfbpkjd {
    #[prost(uint32, tag = "6")]
    pub ikplekflpff: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Negkjjongpg {
    #[prost(bool, tag = "14")]
    pub pbodbeeclmm: bool,
    #[prost(uint32, tag = "3")]
    pub anabekegdhf: u32,
    #[prost(message, optional, tag = "10")]
    pub kigcafgeabh: ::core::option::Option<Hafbhfbpkjd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iboopadkojb {
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    #[prost(bool, tag = "5")]
    pub aeohbbhnpdn: bool,
    #[prost(message, repeated, tag = "12")]
    pub maphdnlafdj: ::prost::alloc::vec::Vec<Negkjjongpg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egjgendokoe {
    #[prost(uint32, tag = "15")]
    pub dphohfjegmf: u32,
    #[prost(uint32, tag = "12")]
    pub jpnclbhdapl: u32,
    #[prost(uint32, tag = "5")]
    pub jfipnoajnjm: u32,
    #[prost(message, repeated, tag = "4")]
    pub maze_group_list: ::prost::alloc::vec::Vec<Iboopadkojb>,
    #[prost(bool, tag = "9")]
    pub lohmihnakbi: bool,
    #[prost(message, optional, tag = "14")]
    pub klfkjpbgijb: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "3")]
    pub doilblodgie: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbnplfhelcn {
    #[prost(uint32, tag = "13")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aampaiahehk {
    #[prost(message, optional, tag = "4")]
    pub eflkpebpjlg: ::core::option::Option<Egjgendokoe>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elpdoidggmf {
    #[prost(uint32, tag = "1")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dccogdimeji {
    #[prost(uint32, tag = "2")]
    pub galnkjibmbo: u32,
    #[prost(message, optional, tag = "11")]
    pub eflkpebpjlg: ::core::option::Option<Egjgendokoe>,
    #[prost(uint32, tag = "1")]
    pub pelbpcclijn: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejbkbcjlndg {
    #[prost(message, optional, tag = "12")]
    pub beghfeldogj: ::core::option::Option<Lmldcnalbpp>,
    #[prost(uint32, repeated, tag = "15")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub kcfbjmhjolf: u32,
    #[prost(message, optional, tag = "1")]
    pub cinjgcphgdk: ::core::option::Option<Flpoooaiomp>,
    #[prost(enumeration = "Emehihdnemp", tag = "8")]
    pub status: i32,
    #[prost(uint32, tag = "4")]
    pub hgcbianidnh: u32,
    #[prost(uint32, tag = "9")]
    pub npiehhacgho: u32,
    #[prost(uint32, tag = "7")]
    pub aiaajmnhigl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aomdkimkcfn {
    #[prost(uint32, tag = "1")]
    pub oghpjjhalih: u32,
    #[prost(bool, tag = "8")]
    pub kdcigmhpihm: bool,
    #[prost(uint32, tag = "5")]
    pub jpfebmemlme: u32,
    #[prost(uint32, tag = "7")]
    pub jdbbnogancg: u32,
    #[prost(uint32, tag = "13")]
    pub neajejfncck: u32,
    #[prost(uint32, tag = "15")]
    pub belmoobcool: u32,
    #[prost(uint32, tag = "2")]
    pub battle_id: u32,
    #[prost(uint32, tag = "3")]
    pub kbcnoonmemc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbmfognbnpo {
    #[prost(message, optional, tag = "2")]
    pub fonpjlgaljp: ::core::option::Option<Aomdkimkcfn>,
    #[prost(message, optional, tag = "13")]
    pub ighilamfaoo: ::core::option::Option<Ejbkbcjlndg>,
    #[prost(uint32, tag = "10")]
    pub dnallopkkfi: u32,
    #[prost(uint32, tag = "1")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kiapjlpgaji {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghleohmbjfi {
    #[prost(message, repeated, tag = "9")]
    pub data: ::prost::alloc::vec::Vec<Nbmfognbnpo>,
    #[prost(uint32, repeated, tag = "15")]
    pub gfjkfmfnhbe: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub bopdmhkjlde: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub jdnmjcchfnl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deanepfodhk {
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "15")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncalhdfipfi {
    #[prost(uint32, tag = "5")]
    pub obcmhapdodm: u32,
    #[prost(message, repeated, tag = "12")]
    pub avatar_list: ::prost::alloc::vec::Vec<Deanepfodhk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbjbgaimnac {
    #[prost(message, optional, tag = "11")]
    pub fonpjlgaljp: ::core::option::Option<Aomdkimkcfn>,
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eolamklkifo {
    #[prost(message, optional, tag = "15")]
    pub fonpjlgaljp: ::core::option::Option<Aomdkimkcfn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Boemnkkfdli {
    #[prost(bool, tag = "2")]
    pub egkelbblgjk: bool,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klidkcflalp {
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub bopdmhkjlde: u32,
    #[prost(bool, tag = "3")]
    pub egkelbblgjk: bool,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "11")]
    pub gfjkfmfnhbe: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dommmhncjfj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eofmmklmaah {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub bopdmhkjlde: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub gfjkfmfnhbe: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apnjfalfbmf {
    #[prost(bool, tag = "15")]
    pub hlcblcpdlip: bool,
    #[prost(uint32, tag = "3")]
    pub pabopcaipgj: u32,
    #[prost(uint32, tag = "14")]
    pub ggppiidabpc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkmgbgmfjpl {
    #[prost(uint32, tag = "6")]
    pub ggppiidabpc: u32,
    #[prost(uint32, tag = "15")]
    pub pabopcaipgj: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub didejabhkkf: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub hlcblcpdlip: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idelocbfhfb {
    #[prost(uint32, tag = "15")]
    pub ggppiidabpc: u32,
    #[prost(bool, tag = "9")]
    pub hlcblcpdlip: bool,
    #[prost(uint32, repeated, tag = "7")]
    pub didejabhkkf: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jljfnkccppd {
    #[prost(uint32, tag = "14")]
    pub ggppiidabpc: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub jmicibgeeel: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub hlcblcpdlip: bool,
    #[prost(uint32, tag = "12")]
    pub bgiddicpimi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llfmohbpaal {
    #[prost(uint32, tag = "14")]
    pub dhccloagadh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcemipcfdgl {
    #[prost(uint32, tag = "13")]
    pub lmdpfdbknik: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apnmmdgomma {
    #[prost(uint32, tag = "12")]
    pub cddgkakdcoa: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpmjoajdfbl {
    #[prost(uint32, tag = "4")]
    pub ggppiidabpc: u32,
    #[prost(bool, tag = "9")]
    pub hlcblcpdlip: bool,
    #[prost(uint32, tag = "15")]
    pub pdhnhgppcic: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub jmicibgeeel: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oncjhgmkpac {
    #[prost(uint32, tag = "9")]
    pub abbejagkgfa: u32,
    #[prost(uint32, tag = "6")]
    pub gjichgbiodf: u32,
    #[prost(uint32, tag = "3")]
    pub ahhihbbkbpg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aogfhbnbobo {
    #[prost(uint32, tag = "12")]
    pub gdkpfajfjmc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbjbapblmae {
    #[prost(uint32, tag = "9")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "11")]
    pub nakamomhjck: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnkpheleoeb {
    #[prost(uint32, tag = "7")]
    pub ekopbpffepk: u32,
    #[prost(uint32, tag = "9")]
    pub idpjhhpionp: u32,
    #[prost(uint32, tag = "15")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clkmkpobfbn {
    #[prost(uint32, tag = "14")]
    pub jgpkhpamlhi: u32,
    #[prost(uint32, tag = "1")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pphbcadigih {
    #[prost(uint32, tag = "13")]
    pub dhccloagadh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njononbekel {
    #[prost(uint32, tag = "13")]
    pub pabopcaipgj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hopahnelpep {
    #[prost(bool, tag = "3")]
    pub hlcblcpdlip: bool,
    #[prost(uint32, repeated, tag = "13")]
    pub didejabhkkf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub ggppiidabpc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdkkacniikh {
    #[prost(uint32, tag = "14")]
    pub dadkigdfahn: u32,
    #[prost(uint32, tag = "6")]
    pub gdkpfajfjmc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpaekcjhjfo {
    #[prost(uint32, tag = "6")]
    pub fepflbgagdo: u32,
    #[prost(enumeration = "Jfldmdnbokf", tag = "4")]
    pub pocohcjabai: i32,
    #[prost(uint32, tag = "14")]
    pub mdddlcfodhb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmnnghiplaa {
    #[prost(uint32, tag = "11")]
    pub ggppiidabpc: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub codloaenkho: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "5")]
    pub hlcblcpdlip: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alihogeokal {
    #[prost(uint32, tag = "14")]
    pub opeaijjbbpd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohkplnnlich {
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kegpaiejbge {
    #[prost(enumeration = "Cgkncjhdfjh", tag = "11")]
    pub aflobhhfokj: i32,
    #[prost(uint64, tag = "12")]
    pub fajlpdlkpll: u64,
    #[prost(message, optional, tag = "8")]
    pub cdoobhbmdil: ::core::option::Option<Cpaekcjhjfo>,
    #[prost(message, optional, tag = "588")]
    pub kglpapaeaan: ::core::option::Option<Nmnnghiplaa>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnopmppabkj {
    #[prost(message, repeated, tag = "5")]
    pub bgekkmchdaa: ::prost::alloc::vec::Vec<Kegpaiejbge>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgegldcianl {
    #[prost(message, optional, tag = "6")]
    pub micjpnkdhgd: ::core::option::Option<Kegpaiejbge>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anbabmafhlb {
    #[prost(uint32, tag = "6")]
    pub kgjdelhgfgb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blgienfjbnh {
    #[prost(uint32, tag = "6")]
    pub kgjdelhgfgb: u32,
    #[prost(message, optional, tag = "10")]
    pub acjdlheiiim: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lijolinbfkj {
    #[prost(message, optional, tag = "3")]
    pub micjpnkdhgd: ::core::option::Option<Kegpaiejbge>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcgpbkddhbn {
    #[prost(uint64, tag = "7")]
    pub fajlpdlkpll: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eehiihbbejj {
    #[prost(enumeration = "Cgkncjhdfjh", tag = "14")]
    pub aflobhhfokj: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lagifkjgcll {
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "5")]
    pub kjbljeficfg: ::core::option::Option<Lbppapbcodd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipjmpaeaibl {
    #[prost(message, optional, tag = "2")]
    pub jafkpbendca: ::core::option::Option<Hnpkoiaehoh>,
    #[prost(message, optional, tag = "485")]
    pub bbdibfcglmf: ::core::option::Option<Lemdanehofh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejflfkfjbjc {
    #[prost(uint32, tag = "8")]
    pub pnjipkjbalo: u32,
    #[prost(uint32, tag = "5")]
    pub iknhbjcfeih: u32,
    #[prost(bool, tag = "14")]
    pub mjhnhjbmadn: bool,
    #[prost(uint32, tag = "7")]
    pub dhkhkijbnmd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgoianhpjhh {
    #[prost(bool, tag = "3")]
    pub mjhnhjbmadn: bool,
    #[prost(uint32, tag = "6")]
    pub mfgdpoeocak: u32,
    #[prost(uint32, tag = "15")]
    pub maekllegfgk: u32,
    #[prost(uint32, tag = "4")]
    pub onfoimkpjna: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibpnimlnpli {
    #[prost(uint32, tag = "5")]
    pub dpeagcnnjim: u32,
    #[prost(uint32, tag = "7")]
    pub ahaablcjkjd: u32,
    #[prost(bool, tag = "14")]
    pub mjhnhjbmadn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djafpnnommf {
    #[prost(bool, tag = "8")]
    pub ghclnohfldk: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lemdanehofh {
    #[prost(message, optional, tag = "2")]
    pub kmloefmfplm: ::core::option::Option<Fgjacoicgfe>,
    #[prost(message, optional, tag = "10")]
    pub bhenackohgm: ::core::option::Option<Ghlpndipkbb>,
    #[prost(message, optional, tag = "1")]
    pub befjdhadpjl: ::core::option::Option<Fbncgpcfmlh>,
    #[prost(message, optional, tag = "11")]
    pub niphnkaagkk: ::core::option::Option<Gkmknaahpno>,
    #[prost(message, optional, tag = "6")]
    pub ijahpnjpnkh: ::core::option::Option<Djafpnnommf>,
    #[prost(message, optional, tag = "7")]
    pub nepncijammd: ::core::option::Option<Abfcjghdnih>,
    #[prost(message, optional, tag = "4")]
    pub level: ::core::option::Option<Mckcpiiaobf>,
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<Onjooihjhmg>,
    #[prost(message, optional, tag = "9")]
    pub bnjfopoaacl: ::core::option::Option<Lckmcadnhfb>,
    #[prost(message, optional, tag = "8")]
    pub bjlgbdegbhe: ::core::option::Option<Indkjjnakoi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mckcpiiaobf {
    #[prost(enumeration = "Hmilhdeccba", tag = "8")]
    pub status: i32,
    #[prost(message, repeated, tag = "2")]
    pub lddlmedbeno: ::prost::alloc::vec::Vec<Inkdefhcjkp>,
    #[prost(enumeration = "Giogipjlono", tag = "5")]
    pub reason: i32,
    #[prost(uint32, tag = "6")]
    pub pjgadcnhedh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgjacoicgfe {
    #[prost(uint32, tag = "2")]
    pub ohjcdlkhgpk: u32,
    #[prost(uint32, tag = "9")]
    pub ohmpbfkobja: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abfcjghdnih {
    #[prost(uint32, repeated, tag = "12")]
    pub pemhiihaabe: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inkdefhcjkp {
    #[prost(uint32, tag = "7")]
    pub naobapkknki: u32,
    #[prost(enumeration = "Omajeindojg", tag = "5")]
    pub status: i32,
    #[prost(uint32, tag = "3")]
    pub nhmjldaebjd: u32,
    #[prost(message, repeated, tag = "4")]
    pub peiffiomima: ::prost::alloc::vec::Vec<Ifgjdnolahi>,
    #[prost(uint32, tag = "11")]
    pub bjdlpbbofpo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifgjdnolahi {
    #[prost(uint32, tag = "10")]
    pub kmkgeedlime: u32,
    #[prost(enumeration = "Ekalibpiolf", tag = "14")]
    pub status: i32,
    #[prost(uint32, tag = "5")]
    pub fcainlkoemh: u32,
    #[prost(uint32, tag = "2")]
    pub kggiencobnl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkbhdinbdhb {
    #[prost(uint32, tag = "5")]
    pub eaennjebhni: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub inkapbjopih: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub ehoajbfnpfh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgdidflcdbh {
    #[prost(message, optional, tag = "15")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
    #[prost(message, optional, tag = "2")]
    pub klcdcpnlpji: ::core::option::Option<Ipjmpaeaibl>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub ehoajbfnpfh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcogligmhel {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjjkalmilen {
    #[prost(message, optional, tag = "15")]
    pub klcdcpnlpji: ::core::option::Option<Ipjmpaeaibl>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igbmofdenli {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbnacgppmlo {
    #[prost(message, optional, tag = "13")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eaiobhcdigc {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aafhgghcnlo {
    #[prost(message, optional, tag = "15")]
    pub bdhclhcefjh: ::core::option::Option<Fgoianhpjhh>,
    #[prost(message, optional, tag = "2")]
    pub hioeemhbcjf: ::core::option::Option<Ibpnimlnpli>,
    #[prost(message, optional, tag = "10")]
    pub afkhdnffaol: ::core::option::Option<Ejflfkfjbjc>,
    #[prost(message, optional, tag = "4")]
    pub likgfhflbdo: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "5")]
    pub klcdcpnlpji: ::core::option::Option<Ipjmpaeaibl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fepjnefmmip {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
    #[prost(message, optional, tag = "5")]
    pub dcenbjohkme: ::core::option::Option<Aafhgghcnlo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oibajefpifi {
    #[prost(uint32, tag = "10")]
    pub eoadinmllcm: u32,
    #[prost(uint32, tag = "14")]
    pub nhmjldaebjd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Loaebkjpkda {
    #[prost(message, optional, tag = "14")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Leafifmepof {
    #[prost(uint32, tag = "8")]
    pub pjgadcnhedh: u32,
    #[prost(uint32, tag = "9")]
    pub eoadinmllcm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfohppiilbc {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijbpenegpon {
    #[prost(enumeration = "Giogipjlono", tag = "11")]
    pub reason: i32,
    #[prost(uint32, tag = "12")]
    pub pjgadcnhedh: u32,
    #[prost(enumeration = "Hmilhdeccba", tag = "4")]
    pub status: i32,
    #[prost(message, repeated, tag = "2")]
    pub lddlmedbeno: ::prost::alloc::vec::Vec<Inkdefhcjkp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbbpgldaimc {
    #[prost(uint32, tag = "6")]
    pub idldoloihaj: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub leijbgghbol: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jehiinmpiol {
    #[prost(uint32, repeated, tag = "1")]
    pub mgmaangnkgc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbhjilooaff {
    #[prost(uint32, tag = "7")]
    pub exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inlpfcgdnhg {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlpmdjimifn {
    #[prost(bool, tag = "10")]
    pub albbmoleblg: bool,
    #[prost(bool, tag = "2")]
    pub bhhgdckmnik: bool,
    #[prost(uint32, tag = "14")]
    pub eaennjebhni: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub blbpnkcgcci: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "3")]
    pub dkfmfnbcfmj: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkoeanhbppd {
    #[prost(uint32, tag = "7")]
    pub ehoajbfnpfh: u32,
    #[prost(bool, tag = "5")]
    pub hlgifgjlepe: bool,
    #[prost(int64, tag = "6")]
    pub end_time: i64,
    #[prost(uint32, tag = "8")]
    pub ofejfknmjmi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdffdahlccl {
    #[prost(uint32, repeated, tag = "4")]
    pub mgmaangnkgc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okmleonipba {
    #[prost(message, optional, tag = "6")]
    pub jfidcbaaidg: ::core::option::Option<Hihnldemnbf>,
    #[prost(uint32, tag = "12")]
    pub ghbddgbgghk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ialgkmiiddh {
    #[prost(uint32, tag = "2")]
    pub chekhphhilc: u32,
    #[prost(bool, tag = "15")]
    pub dkfmfnbcfmj: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pidgbmefcol {
    #[prost(uint32, tag = "9")]
    pub idldoloihaj: u32,
    #[prost(uint32, tag = "13")]
    pub mniahfpcjpl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edkeahjjpok {
    #[prost(uint32, repeated, tag = "7")]
    pub edjncmabjjj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub jdjlemclfgh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub dgpbccdpifo: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub ealbiepajbp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub jhabncphklp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub filigkekdcg: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kichfnbdgbj {
    #[prost(message, repeated, tag = "11")]
    pub hckhekijjmj: ::prost::alloc::vec::Vec<Gbiklbjgmpl>,
    #[prost(message, repeated, tag = "10")]
    pub ibklnfjohlh: ::prost::alloc::vec::Vec<Dlpmdjimifn>,
    #[prost(message, optional, tag = "2")]
    pub kmaofpongke: ::core::option::Option<Okmleonipba>,
    #[prost(message, optional, tag = "4")]
    pub omiljfkigfk: ::core::option::Option<Pidgbmefcol>,
    #[prost(message, optional, tag = "14")]
    pub kjokklbjjjo: ::core::option::Option<Nkoeanhbppd>,
    #[prost(message, optional, tag = "3")]
    pub ackkifcinam: ::core::option::Option<Kdffdahlccl>,
    #[prost(message, optional, tag = "8")]
    pub ikeinoafcom: ::core::option::Option<Edkeahjjpok>,
    #[prost(message, repeated, tag = "9")]
    pub gelpkpdkfam: ::prost::alloc::vec::Vec<Ialgkmiiddh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdjhmfpmfcp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub klcdcpnlpji: ::core::option::Option<Ipjmpaeaibl>,
    #[prost(message, optional, tag = "13")]
    pub apfchjmjcck: ::core::option::Option<Kichfnbdgbj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbpijabecjl {
    #[prost(message, repeated, tag = "13")]
    pub ibklnfjohlh: ::prost::alloc::vec::Vec<Dlpmdjimifn>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbiklbjgmpl {
    #[prost(int64, tag = "14")]
    pub time: i64,
    #[prost(int64, tag = "3")]
    pub end_time: i64,
    #[prost(message, optional, tag = "15")]
    pub data: ::core::option::Option<Ippaifkdgbc>,
    #[prost(uint32, tag = "5")]
    pub ddacahgdnfl: u32,
    #[prost(string, tag = "7")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "13")]
    pub omiljfkigfk: ::core::option::Option<Pidgbmefcol>,
    #[prost(message, optional, tag = "2")]
    pub klcdcpnlpji: ::core::option::Option<Ipjmpaeaibl>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ippaifkdgbc {
    #[prost(message, repeated, tag = "5")]
    pub buff_list: ::prost::alloc::vec::Vec<Nnckdapiopi>,
    #[prost(message, repeated, tag = "3")]
    pub bfpkijmifkj: ::prost::alloc::vec::Vec<Hekloneohma>,
    #[prost(uint32, tag = "7")]
    pub niphnkaagkk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Loknoleknom {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Niadjhbebjl {
    #[prost(message, repeated, tag = "3")]
    pub kkoddlinned: ::prost::alloc::vec::Vec<Gbiklbjgmpl>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oniapgfhlio {
    #[prost(uint32, tag = "14")]
    pub ddacahgdnfl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcoclhimjbf {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub ddacahgdnfl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kphcbhafepp {
    #[prost(uint32, tag = "12")]
    pub ddacahgdnfl: u32,
    #[prost(string, tag = "6")]
    pub name: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afooielopkb {
    #[prost(uint32, tag = "4")]
    pub ddacahgdnfl: u32,
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cchepphgjob {
    #[prost(uint32, tag = "7")]
    pub ddacahgdnfl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lolokpkfjmo {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gobodcbjnbf {
    #[prost(message, optional, tag = "2")]
    pub kmaofpongke: ::core::option::Option<Okmleonipba>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idhpodeaoba {
    #[prost(uint32, tag = "10")]
    pub eogjkjiapah: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akppcekohag {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub kmaofpongke: ::core::option::Option<Okmleonipba>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmhmammciog {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kibendobcjd {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub kmaofpongke: ::core::option::Option<Okmleonipba>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oaogifpfdfd {
    #[prost(uint32, tag = "13")]
    pub fkdcncjhcbm: u32,
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<Gakfmphecij>,
    #[prost(uint32, tag = "14")]
    pub eaaikelijgb: u32,
    #[prost(bool, tag = "7")]
    pub hanjblckdie: bool,
    #[prost(uint32, tag = "6")]
    pub oonmeienlmd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Niomikbffcn {
    #[prost(message, optional, tag = "12")]
    pub klcdcpnlpji: ::core::option::Option<Ipjmpaeaibl>,
    #[prost(message, optional, tag = "1")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gblenbdebch {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obcifmkoflf {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bffgkcbmigj {
    #[prost(bool, tag = "5")]
    pub hanjblckdie: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Joceeanfkod {
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clmkamkmeak {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmffiignngd {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub oonmeienlmd: u32,
    #[prost(uint32, tag = "5")]
    pub eaaikelijgb: u32,
    #[prost(uint32, tag = "4")]
    pub fkdcncjhcbm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phlnhhjnkif {
    #[prost(uint32, repeated, tag = "6")]
    pub abiojonclfi: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpgghajifjh {
    #[prost(uint32, repeated, tag = "14")]
    pub bekdbecblld: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Haejfbncgfl", tag = "7")]
    pub jgmfjbcabnn: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbadbfllddk {
    #[prost(uint32, tag = "5")]
    pub eaennjebhni: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpnkbljifdl {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub dcenbjohkme: ::core::option::Option<Aafhgghcnlo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpkbbgkfldj {
    #[prost(string, tag = "3")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "4")]
    pub eaennjebhni: u32,
    #[prost(uint32, tag = "8")]
    pub ddacahgdnfl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oehmdhehphj {
    #[prost(message, optional, tag = "3")]
    pub kimiplfnbpn: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "13")]
    pub blmcadcddgh: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "8")]
    pub acibllbppmi: ::core::option::Option<Gbiklbjgmpl>,
    #[prost(message, optional, tag = "7")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fijmjpfgedm {
    #[prost(message, optional, tag = "10")]
    pub kjokklbjjjo: ::core::option::Option<Nkoeanhbppd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gccdcppdnpp {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgfhhkjndig {
    #[prost(message, optional, tag = "7")]
    pub afkhdnffaol: ::core::option::Option<Ejflfkfjbjc>,
    #[prost(message, optional, tag = "13")]
    pub hioeemhbcjf: ::core::option::Option<Ibpnimlnpli>,
    #[prost(message, optional, tag = "12")]
    pub bdhclhcefjh: ::core::option::Option<Fgoianhpjhh>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jepibapcfme {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lljmncibien {
    #[prost(uint32, repeated, tag = "12")]
    pub bikeekdiakf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub dpmljimebin: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pklmodmloke {
    #[prost(message, optional, tag = "9")]
    pub kdiacjecjjp: ::core::option::Option<ItemCostData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjpjngehfgm {
    #[prost(uint32, repeated, tag = "12")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub edahdalkobk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbnlgkfmogf {
    #[prost(message, optional, tag = "2")]
    pub kdiacjecjjp: ::core::option::Option<ItemCostData>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maekbedbhbi {
    #[prost(message, optional, tag = "14")]
    pub dcenbjohkme: ::core::option::Option<Aafhgghcnlo>,
    #[prost(message, optional, tag = "11")]
    pub icbiafeomhj: ::core::option::Option<Lagifkjgcll>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkkfcfmpdaf {
    #[prost(uint32, tag = "12")]
    pub mjgaogfoaji: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hiplimanmhm {
    #[prost(uint32, tag = "9")]
    pub ghihlfpaejp: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub jphjpamhfkm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub mjgaogfoaji: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkdpclinljm {
    #[prost(uint32, tag = "1")]
    pub mjgaogfoaji: u32,
    #[prost(uint32, tag = "5")]
    pub fbdmkocbbcn: u32,
    #[prost(uint32, tag = "14")]
    pub ghihlfpaejp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acidjcinkgd {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub pafenhngbpi: u32,
    #[prost(uint32, tag = "4")]
    pub elfckbclpje: u32,
    #[prost(uint32, tag = "3")]
    pub mjgaogfoaji: u32,
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nflgfhfgich {
    #[prost(uint32, tag = "14")]
    pub mjgaogfoaji: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRollShopRewardScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub group_type: u32,
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub roll_shop_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneActorInfo {
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(uint32, tag = "13")]
    pub map_layer: u32,
    #[prost(uint32, tag = "5")]
    pub base_avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejfeokgcofo {
    #[prost(uint32, tag = "6")]
    pub mgcjjjkiioo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcMonsterExtraInfo {
    #[prost(message, optional, tag = "11")]
    pub fbhddfiopmo: ::core::option::Option<Ejfeokgcofo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneNpcMonsterInfo {
    #[prost(bool, tag = "5")]
    pub eamjhgeldmh: bool,
    #[prost(bool, tag = "9")]
    pub ndacobgceic: bool,
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
    #[prost(uint32, tag = "12")]
    pub monster_id: u32,
    #[prost(message, optional, tag = "7")]
    pub extra_info: ::core::option::Option<NpcMonsterExtraInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjkhlanlapj {
    #[prost(uint32, tag = "10")]
    pub ljdbipcndgf: u32,
    #[prost(uint32, tag = "3")]
    pub mfopblhgkpn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhbdpgimdkp {
    #[prost(uint32, tag = "6")]
    pub ojljokcgaad: u32,
    #[prost(map = "uint32, uint32", tag = "1")]
    pub okabnomecmo: ::std::collections::HashMap<u32, u32>,
    #[prost(bool, tag = "10")]
    pub oeamlgncbgi: bool,
    #[prost(bool, tag = "7")]
    pub lajjhjgfjaj: bool,
    #[prost(uint32, tag = "8")]
    pub oeceedkkekm: u32,
    #[prost(bool, tag = "15")]
    pub akjocfhfklg: bool,
    #[prost(uint32, tag = "4")]
    pub jlgboddadee: u32,
    #[prost(uint32, tag = "3")]
    pub cnnknigjfjj: u32,
    #[prost(message, repeated, tag = "2")]
    pub nmbdmfpkffm: ::prost::alloc::vec::Vec<Jjkhlanlapj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcpljejjaen {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chkmnnkmlpl {
    #[prost(bool, tag = "6")]
    pub is_meet: bool,
    #[prost(uint32, tag = "3")]
    pub oepgonlledi: u32,
    #[prost(uint32, tag = "9")]
    pub nlglfgeacpi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcExtraInfo {
    #[prost(message, optional, tag = "9")]
    pub fbhddfiopmo: ::core::option::Option<Mhbdpgimdkp>,
    #[prost(message, optional, tag = "5")]
    pub nleokpdbnjf: ::core::option::Option<Chkmnnkmlpl>,
    #[prost(message, optional, tag = "7")]
    pub nojgbhibfjj: ::core::option::Option<Bcpljejjaen>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneNpcInfo {
    #[prost(uint32, tag = "10")]
    pub npc_id: u32,
    #[prost(message, optional, tag = "4")]
    pub extra_info: ::core::option::Option<NpcExtraInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropRogueInfo {
    #[prost(uint32, tag = "13")]
    pub ghpllgipmdi: u32,
    #[prost(uint32, tag = "3")]
    pub hhagaoeefea: u32,
    #[prost(uint32, tag = "12")]
    pub kggiencobnl: u32,
    #[prost(uint32, tag = "1")]
    pub dogldhglhin: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropAeonInfo {
    #[prost(uint32, tag = "13")]
    pub aeon_id: u32,
    #[prost(uint32, tag = "11")]
    pub dialogue_group_id: u32,
    #[prost(uint32, tag = "4")]
    pub add_exp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropChessRogueInfo {
    #[prost(bool, tag = "10")]
    pub igehiimhkha: bool,
    #[prost(bool, tag = "6")]
    pub afnjheaknmn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropRogueTournDoorInfo {
    #[prost(uint32, tag = "10")]
    pub kmkgeedlime: u32,
    #[prost(bool, tag = "6")]
    pub iimbagmhgkm: bool,
    #[prost(uint32, tag = "5")]
    pub aijipdeafno: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmipkcjckcj {
    #[prost(uint32, tag = "5")]
    pub dfaajkhhjik: u32,
    #[prost(bool, tag = "11")]
    pub jldnkhplogd: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropTournWorkbenchInfo {
    #[prost(message, repeated, tag = "4")]
    pub jiaekeibhcj: ::prost::alloc::vec::Vec<Jmipkcjckcj>,
    #[prost(uint32, tag = "9")]
    pub cggmflnnfle: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropRogueGambleMachineInfo {
    #[prost(uint32, tag = "15")]
    pub lifnefdiokp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropRogueCurseChestInfo {
    #[prost(uint32, tag = "11")]
    pub dbmlccfkcne: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropExtraInfo {
    #[prost(message, optional, tag = "14")]
    pub rogue_info: ::core::option::Option<PropRogueInfo>,
    #[prost(message, optional, tag = "9")]
    pub aeon_info: ::core::option::Option<PropAeonInfo>,
    #[prost(message, optional, tag = "3")]
    pub chess_rogue_info: ::core::option::Option<PropChessRogueInfo>,
    #[prost(message, optional, tag = "11")]
    pub rogue_tourn_door_info: ::core::option::Option<PropRogueTournDoorInfo>,
    #[prost(message, optional, tag = "5")]
    pub rogue_tourn_workbench_info: ::core::option::Option<PropTournWorkbenchInfo>,
    #[prost(message, optional, tag = "6")]
    pub rogue_gamble_machine_info: ::core::option::Option<PropRogueGambleMachineInfo>,
    #[prost(message, optional, tag = "4")]
    pub rogue_curse_chest_info: ::core::option::Option<PropRogueCurseChestInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePropInfo {
    #[prost(uint64, tag = "1")]
    pub create_time_ms: u64,
    #[prost(uint32, tag = "6")]
    pub life_time_ms: u32,
    #[prost(uint32, tag = "11")]
    pub prop_state: u32,
    #[prost(string, repeated, tag = "9")]
    pub meiiepfgpag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(uint32, tag = "5")]
    pub prop_id: u32,
    #[prost(message, optional, tag = "15")]
    pub extra_info: ::core::option::Option<PropExtraInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneSummonUnitInfo {
    #[prost(uint32, tag = "6")]
    pub eleknacgaee: u32,
    #[prost(uint32, tag = "5")]
    pub kdfbhnfncpj: u32,
    #[prost(uint32, tag = "9")]
    pub gngpnofpgee: u32,
    #[prost(uint64, tag = "2")]
    pub create_time_ms: u64,
    #[prost(string, repeated, tag = "15")]
    pub meiiepfgpag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(int32, tag = "14")]
    pub life_time_ms: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityInfo {
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    #[prost(message, optional, tag = "7")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "6")]
    pub entity_id: u32,
    #[prost(uint32, tag = "15")]
    pub inst_id: u32,
    #[prost(message, optional, tag = "9")]
    pub actor: ::core::option::Option<SceneActorInfo>,
    #[prost(message, optional, tag = "5")]
    pub npc_monster: ::core::option::Option<SceneNpcMonsterInfo>,
    #[prost(message, optional, tag = "12")]
    pub npc: ::core::option::Option<SceneNpcInfo>,
    #[prost(message, optional, tag = "10")]
    pub prop: ::core::option::Option<ScenePropInfo>,
    #[prost(message, optional, tag = "14")]
    pub summon_unit: ::core::option::Option<SceneSummonUnitInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuffInfo {
    #[prost(uint32, tag = "13")]
    pub count: u32,
    #[prost(uint32, tag = "6")]
    pub fjefhijkogp: u32,
    #[prost(float, tag = "3")]
    pub life_time: f32,
    #[prost(uint32, tag = "9")]
    pub base_avatar_id: u32,
    #[prost(uint32, tag = "4")]
    pub daimooemhjf: u32,
    #[prost(map = "string, float", tag = "5")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    #[prost(uint64, tag = "1")]
    pub add_time_ms: u64,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBuffInfo {
    #[prost(uint32, tag = "10")]
    pub entity_id: u32,
    #[prost(message, repeated, tag = "4")]
    pub buff_list: ::prost::alloc::vec::Vec<BuffInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggojdplejnc {
    #[prost(uint32, tag = "1")]
    pub bgaggkdbjln: u32,
    #[prost(uint32, tag = "11")]
    pub value: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnbdaanlnde {
    #[prost(string, tag = "15")]
    pub dghpeoijiaj: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggpnfcjkfel {
    #[prost(uint32, tag = "3")]
    pub enggbpaolal: u32,
    #[prost(uint32, tag = "1")]
    pub fjmdkjddboc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupInfo {
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    #[prost(uint32, tag = "15")]
    pub state: u32,
    #[prost(message, repeated, tag = "2")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientGroupInfo {
    #[prost(bool, tag = "3")]
    pub is_default: bool,
    #[prost(uint32, tag = "8")]
    pub state: u32,
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icjemgcigbp {
    #[prost(uint32, repeated, tag = "9")]
    pub jofhaejfhkn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub bpjejdogdko: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub ningbljconp: ::prost::alloc::vec::Vec<Mission>,
    #[prost(message, repeated, tag = "3")]
    pub nhkhkmedjcm: ::prost::alloc::vec::Vec<MissionCustomValue>,
    #[prost(uint32, repeated, tag = "11")]
    pub ocmbodhpgpi: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneInfo {
    #[prost(uint32, tag = "5")]
    pub leader_entity_id: u32,
    #[prost(uint32, tag = "15")]
    pub lgflfajffjl: u32,
    #[prost(uint32, tag = "13")]
    pub game_mode_type: u32,
    #[prost(message, repeated, tag = "3")]
    pub ijmddokpdff: ::prost::alloc::vec::Vec<BuffInfo>,
    #[prost(message, optional, tag = "1472")]
    pub pkhifaibdga: ::core::option::Option<Icjemgcigbp>,
    #[prost(uint32, repeated, tag = "12")]
    pub faoeoemncgg: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "string, int32", tag = "211")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    #[prost(uint32, tag = "1")]
    pub ipigefggbok: u32,
    #[prost(message, repeated, tag = "9")]
    pub padggdamiam: ::prost::alloc::vec::Vec<EntityBuffInfo>,
    #[prost(message, repeated, tag = "11")]
    pub ibgljdlphig: ::prost::alloc::vec::Vec<Lnbdaanlnde>,
    #[prost(uint32, tag = "14")]
    pub plane_id: u32,
    #[prost(message, repeated, tag = "1132")]
    pub scene_group_list: ::prost::alloc::vec::Vec<SceneGroupInfo>,
    #[prost(message, repeated, tag = "605")]
    pub client_group_list: ::prost::alloc::vec::Vec<ClientGroupInfo>,
    #[prost(map = "uint32, message", tag = "4")]
    pub afjepmjmgkd: ::std::collections::HashMap<u32, Ggpnfcjkfel>,
    #[prost(uint32, tag = "2")]
    pub entry_id: u32,
    #[prost(uint32, tag = "1014")]
    pub unk_scene: u32,
    #[prost(message, repeated, tag = "10")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
    #[prost(uint32, tag = "8")]
    pub floor_id: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityMotion {
    #[prost(uint32, tag = "14")]
    pub map_layer: u32,
    #[prost(message, optional, tag = "4")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(bool, tag = "15")]
    pub bocenohcdcm: bool,
    #[prost(uint32, tag = "10")]
    pub entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveCsReq {
    #[prost(uint32, tag = "9")]
    pub entry_id: u32,
    #[prost(uint64, tag = "1")]
    pub ekhkdfimkak: u64,
    #[prost(message, repeated, tag = "4")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "12")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
    #[prost(message, optional, tag = "7")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScNotify {
    #[prost(uint32, tag = "3")]
    pub entity_id: u32,
    #[prost(message, optional, tag = "4")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "14")]
    pub entry_id: u32,
    #[prost(uint32, tag = "5")]
    pub lgflfajffjl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amedhpnehca {
    #[prost(uint32, tag = "13")]
    pub fenaeenhakc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractPropCsReq {
    #[prost(uint32, tag = "9")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "13")]
    pub interact_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractPropScRsp {
    #[prost(uint32, tag = "12")]
    pub prop_state: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enncmpellhi {
    #[prost(uint32, tag = "15")]
    pub oihojigldkn: u32,
    #[prost(enumeration = "MonsterBattleType", tag = "2")]
    pub edoeljobfdb: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Minjnchgadg {
    #[prost(float, tag = "13")]
    pub value: f32,
    #[prost(string, tag = "2")]
    pub key: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfgkicflahn {
    #[prost(uint32, repeated, tag = "2")]
    pub nobkfliboog: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCsReq {
    #[prost(uint32, tag = "13")]
    pub dmkhognonbl: u32,
    #[prost(message, repeated, tag = "1")]
    pub lchclicihdm: ::prost::alloc::vec::Vec<Kfgkicflahn>,
    #[prost(uint32, tag = "15")]
    pub legdombcfld: u32,
    #[prost(message, repeated, tag = "5")]
    pub dynamic_values: ::prost::alloc::vec::Vec<Minjnchgadg>,
    #[prost(uint32, repeated, tag = "2")]
    pub igkjjpeealc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "6")]
    pub mabofealjld: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "12")]
    pub jkdaceoekll: u32,
    #[prost(enumeration = "SceneCastSkillType", repeated, tag = "11")]
    pub bdcenahcdkg: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, repeated, tag = "7")]
    pub ecjeolnpgbk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub skill_index: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub jkdaceoekll: u32,
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(message, repeated, tag = "3")]
    pub diehcelekfj: ::prost::alloc::vec::Vec<Enncmpellhi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjjmdbchmob {
    #[prost(uint32, tag = "1")]
    pub skill_index: u32,
    #[prost(uint32, tag = "12")]
    pub jkdaceoekll: u32,
    #[prost(uint32, tag = "4")]
    pub dmkhognonbl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jeobmjbfelh {
    #[prost(uint32, tag = "6")]
    pub jkdaceoekll: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gccnlchnmla {
    #[prost(uint32, tag = "10")]
    pub jkdaceoekll: u32,
    #[prost(uint32, tag = "8")]
    pub mp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmpnddmbong {
    #[prost(bool, tag = "5")]
    pub ljjoofdigho: bool,
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    #[prost(enumeration = "Cmknmggeipi", tag = "8")]
    pub flmiajfhnna: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfcgjmfjdja {
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccfblfhgpga {
    #[prost(enumeration = "Cmknmggeipi", tag = "13")]
    pub flmiajfhnna: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmkfdhjcpjo {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoScRsp {
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dolbeibmila {
    #[prost(enumeration = "SceneEntityBuffChangeType", tag = "1")]
    pub reason: i32,
    #[prost(message, optional, tag = "13")]
    pub cbkbpgicmbi: ::core::option::Option<BuffInfo>,
    #[prost(uint32, tag = "15")]
    pub agceblafbco: u32,
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adoblfeealb {
    #[prost(message, repeated, tag = "8")]
    pub hpjhmhebbag: ::prost::alloc::vec::Vec<Dolbeibmila>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djmhfkbjecg {
    #[prost(uint32, tag = "6")]
    pub plane_id: u32,
    #[prost(uint32, tag = "7")]
    pub floor_id: u32,
    #[prost(uint32, tag = "10")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ollpncohiik {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nndbbdlhbjj {
    #[prost(int64, tag = "6")]
    pub effhifnliph: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogmhoodcmdb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clkiglcbmif {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSectionCsReq {
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSectionScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhiohebmada {
    #[prost(uint32, tag = "10")]
    pub entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkhkamehepm {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Himmdkdiinh {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjfcbfehmdn {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SavePointsInfoNotify {
    #[prost(uint32, tag = "4")]
    pub valid_times: u32,
    #[prost(int64, tag = "10")]
    pub refresh_time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartCocoonStageCsReq {
    #[prost(uint32, tag = "9")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "2")]
    pub wave: u32,
    #[prost(uint32, tag = "15")]
    pub world_level: u32,
    #[prost(uint32, tag = "7")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartCocoonStageScRsp {
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "9")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "15")]
    pub wave: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eeegceamlan {
    #[prost(message, optional, tag = "8")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(bool, tag = "2")]
    pub ihdnbmcanbc: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijfageinhme {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdmdinidjno {
    #[prost(bool, tag = "2")]
    pub hmkjefjjjne: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plhgempjole {
    #[prost(bool, tag = "1")]
    pub hmkjefjjjne: bool,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Miiifbaoioi {
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmnggalhibo {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgnamjjoaod {
    #[prost(uint32, tag = "4")]
    pub entity_id: u32,
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcallimggjn {
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjiempaoijh {
    #[prost(uint32, tag = "15")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "13")]
    pub gjaoeeacban: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekcjjpcpjjj {
    #[prost(uint32, tag = "14")]
    pub halagkfedep: u32,
    #[prost(bool, tag = "2")]
    pub hednndgablp: bool,
    #[prost(message, repeated, tag = "7")]
    pub lbfbpmnjace: ::prost::alloc::vec::Vec<Pjiempaoijh>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iocpfnnakha {
    #[prost(int64, tag = "4")]
    pub ppaahclfled: i64,
    #[prost(uint32, tag = "13")]
    pub hajokikkdfo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdmbeaabmen {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpjigenabhp {
    #[prost(message, optional, tag = "13")]
    pub kloagemfgfg: ::core::option::Option<Ekcjjpcpjjj>,
    #[prost(message, optional, tag = "12")]
    pub kfmndfiaoak: ::core::option::Option<Iocpfnnakha>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilieecekahd {
    #[prost(message, optional, tag = "1")]
    pub kloagemfgfg: ::core::option::Option<Ekcjjpcpjjj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egkdjlieffc {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub kloagemfgfg: ::core::option::Option<Ekcjjpcpjjj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knkpgfjfmfe {
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    #[prost(uint32, tag = "11")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "2")]
    pub floor_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpringRecoverScRsp {
    #[prost(message, optional, tag = "10")]
    pub heal_pool_info: ::core::option::Option<Iocpfnnakha>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gonomfpcajn {
    #[prost(message, optional, tag = "12")]
    pub kfmndfiaoak: ::core::option::Option<Iocpfnnakha>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfimilnkhob {
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
    #[prost(bool, tag = "14")]
    pub mhoepmeajnm: bool,
    #[prost(uint32, tag = "5")]
    pub id: u32,
    #[prost(uint32, tag = "6")]
    pub floor_id: u32,
    #[prost(uint32, tag = "7")]
    pub plane_id: u32,
    #[prost(uint32, tag = "4")]
    pub prop_entity_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpringRecoverSingleAvatarScRsp {
    #[prost(uint32, tag = "1")]
    pub hp: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "9")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdlodghmbcm {
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    #[prost(message, optional, tag = "15")]
    pub jkmlhhklapo: ::core::option::Option<Ggojdplejnc>,
    #[prost(uint32, tag = "14")]
    pub floor_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goegjfdadgd {
    #[prost(string, tag = "11")]
    pub dghpeoijiaj: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    #[prost(uint32, tag = "5")]
    pub entry_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dekbnohhafj {
    #[prost(uint32, tag = "13")]
    pub entry_id: u32,
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjmnikjncdh {
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bllonboflbg {
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbanbpbaahl {
    #[prost(uint32, tag = "9")]
    pub entry_id: u32,
    #[prost(message, optional, tag = "13")]
    pub lknhfdaigoi: ::core::option::Option<EntityMotion>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odeckicgcmf {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub lgflfajffjl: u32,
    #[prost(message, optional, tag = "11")]
    pub lknhfdaigoi: ::core::option::Option<EntityMotion>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneCsReq {
    #[prost(uint32, tag = "2")]
    pub dehbihbbbgo: u32,
    #[prost(uint32, tag = "12")]
    pub bnocoahajkn: u32,
    #[prost(bool, tag = "11")]
    pub fpoookolhom: bool,
    #[prost(uint32, tag = "1")]
    pub jkbgighlakf: u32,
    #[prost(uint32, tag = "5")]
    pub entry_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneScRsp {
    #[prost(uint32, tag = "6")]
    pub bnocoahajkn: u32,
    #[prost(bool, tag = "4")]
    pub ikdcbllfbai: bool,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(bool, tag = "8")]
    pub fpoookolhom: bool,
    #[prost(uint32, tag = "5")]
    pub jkbgighlakf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneByServerScNotify {
    #[prost(enumeration = "EnterSceneReason", tag = "5")]
    pub reason: i32,
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbnfnblmnnc {
    #[prost(message, optional, tag = "11")]
    pub inpbbkjhegk: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "4")]
    pub emeofonpphl: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "7")]
    pub mbcphjmbohp: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoCsReq {
    #[prost(uint32, tag = "4")]
    pub lafhcgjnphh: u32,
    #[prost(uint32, tag = "9")]
    pub entry_id: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "7")]
    pub hjajmoobhkp: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazePropState {
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
    #[prost(uint32, tag = "1")]
    pub state: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeGroup {
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(int64, tag = "15")]
    pub modify_time: i64,
    #[prost(bool, tag = "13")]
    pub lccbfljnkpg: bool,
    #[prost(uint32, repeated, tag = "2")]
    pub gabhnadihdf: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChestInfo {
    #[prost(uint32, tag = "12")]
    pub eliebjmijkb: u32,
    #[prost(uint32, tag = "7")]
    pub jnkdigdigoi: u32,
    #[prost(enumeration = "MapInfoChestType", tag = "8")]
    pub fmangokfagc: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgfmmoehjce {
    #[prost(uint32, tag = "2")]
    pub foiccmaklpa: u32,
    #[prost(uint32, tag = "10")]
    pub r#type: u32,
    #[prost(uint32, tag = "11")]
    pub dcjhajibggg: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMapInfo {
    #[prost(uint32, tag = "11")]
    pub jkbgighlakf: u32,
    #[prost(uint32, tag = "5")]
    pub entry_id: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub unlock_teleport_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub unk_scene: u32,
    #[prost(message, repeated, tag = "4")]
    pub jffklpbohgi: ::prost::alloc::vec::Vec<Bgfmmoehjce>,
    #[prost(uint32, repeated, tag = "12")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "9")]
    pub chest_info_list: ::prost::alloc::vec::Vec<ChestInfo>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub opend_chest_num: u32,
    #[prost(message, repeated, tag = "14")]
    pub maze_group_list: ::prost::alloc::vec::Vec<MazeGroup>,
    #[prost(message, repeated, tag = "3")]
    pub maze_prop_list: ::prost::alloc::vec::Vec<MazePropState>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoScRsp {
    #[prost(uint32, tag = "13")]
    pub lafhcgjnphh: u32,
    #[prost(message, repeated, tag = "7")]
    pub maze_prop_list: ::prost::alloc::vec::Vec<MazePropState>,
    #[prost(uint32, tag = "11")]
    pub entry_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub chest_info_list: ::prost::alloc::vec::Vec<ChestInfo>,
    #[prost(message, repeated, tag = "14")]
    pub maze_group_list: ::prost::alloc::vec::Vec<MazeGroup>,
    #[prost(uint32, repeated, tag = "15")]
    pub unlock_teleport_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub opend_chest_num: u32,
    #[prost(message, repeated, tag = "4")]
    pub map_info_list: ::prost::alloc::vec::Vec<SceneMapInfo>,
    #[prost(bool, tag = "12")]
    pub hjajmoobhkp: bool,
    #[prost(uint32, tag = "2")]
    pub jkbgighlakf: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggkilnfogee {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdnhlcglnjp {
    #[prost(uint32, tag = "13")]
    pub jfipnoajnjm: u32,
    #[prost(uint32, tag = "9")]
    pub empfkjdkjma: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmifibjjfpi {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afijpmelpia {
    #[prost(uint32, tag = "3")]
    pub empfkjdkjma: u32,
    #[prost(uint32, tag = "4")]
    pub enggbpaolal: u32,
    #[prost(enumeration = "GameplayCounterUpdateReason", tag = "14")]
    pub reason: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdfgnajlege {
    #[prost(uint32, tag = "11")]
    pub empfkjdkjma: u32,
    #[prost(uint32, tag = "6")]
    pub oejckhgchdp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plpgclpdaif {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdcinfnnoho {
    #[prost(map = "string, int32", tag = "15")]
    pub mgolobkmiec: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajhkackknnk {
    #[prost(uint32, repeated, tag = "4")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkaknpbanan {
    #[prost(uint32, repeated, tag = "1")]
    pub unlock_teleport_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupEntityRefreshInfo {
    #[prost(message, optional, tag = "4")]
    pub refresh_entity_info: ::core::option::Option<SceneEntityInfo>,
    #[prost(uint32, tag = "5")]
    pub kjjeiknincl: u32,
    #[prost(uint32, tag = "14")]
    pub cojmgafmcjm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupRefreshInfo {
    #[prost(message, repeated, tag = "15")]
    pub refresh_entity_list: ::prost::alloc::vec::Vec<SceneGroupEntityRefreshInfo>,
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    #[prost(enumeration = "SceneGroupRefreshType", tag = "2")]
    pub refresh_type: i32,
    #[prost(uint32, tag = "7")]
    pub state: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupRefreshScNotify {
    #[prost(message, repeated, tag = "1")]
    pub refresh_group_list: ::prost::alloc::vec::Vec<SceneGroupRefreshInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mffaehngkmk {
    #[prost(uint32, tag = "14")]
    pub kafjddmebpi: u32,
    #[prost(uint32, tag = "7")]
    pub entry_id: u32,
    #[prost(uint32, tag = "2")]
    pub kfclhlpeclf: u32,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afjioldjdac {
    #[prost(message, optional, tag = "13")]
    pub ecglaijolji: ::core::option::Option<Mffaehngkmk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adeloidmhaj {
    #[prost(message, optional, tag = "2")]
    pub ecglaijolji: ::core::option::Option<Mffaehngkmk>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibklimbncaj {
    #[prost(message, optional, tag = "3")]
    pub ecglaijolji: ::core::option::Option<Mffaehngkmk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhglkmjngeg {
    #[prost(uint32, tag = "7")]
    pub plane_id: u32,
    #[prost(uint32, tag = "15")]
    pub floor_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfbcghclile {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fchnfpafjce {
    #[prost(message, repeated, tag = "15")]
    pub npbjclegekf: ::prost::alloc::vec::Vec<Hhglkmjngeg>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmimmdeibjp {
    #[prost(message, repeated, tag = "12")]
    pub npbjclegekf: ::prost::alloc::vec::Vec<Hhglkmjngeg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alnoccdimoo {
    #[prost(string, tag = "14")]
    pub hpjcegjfonl: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub cacgcajplen: u32,
    #[prost(message, optional, tag = "10")]
    pub gakgdpdjaon: ::core::option::Option<MotionInfo>,
    #[prost(uint32, repeated, tag = "1")]
    pub nihnniamfep: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acmnhhbiohi {
    #[prost(string, tag = "11")]
    pub hpjcegjfonl: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(bool, tag = "5")]
    pub icapgcmdeeg: bool,
    #[prost(uint32, tag = "4")]
    pub cacgcajplen: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdkgcjiojgp {
    #[prost(uint32, tag = "13")]
    pub cacgcajplen: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub nihnniamfep: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, tag = "9")]
    pub hpjcegjfonl: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhanminamdm {
    #[prost(uint32, repeated, tag = "9")]
    pub nobkfliboog: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hcfaiekfahh {
    #[prost(uint32, repeated, tag = "3")]
    pub nobkfliboog: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gepdmafdacg {
    #[prost(uint32, repeated, tag = "5")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eohdhkaggoo {
    #[prost(uint32, tag = "7")]
    pub wave: u32,
    #[prost(uint32, tag = "1")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oppmfgcmpcn {
    #[prost(message, optional, tag = "1")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "14")]
    pub wave: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nodnjancekn {
    #[prost(uint32, tag = "8")]
    pub pekgflboeng: u32,
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggmdhhmbneb {
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    #[prost(uint32, tag = "4")]
    pub pekgflboeng: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enhpplmdnkj {
    #[prost(uint32, tag = "4")]
    pub dehbihbbbgo: u32,
    #[prost(uint32, tag = "8")]
    pub entry_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Joaafcolcfi {
    #[prost(bytes = "vec", tag = "9")]
    pub data: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "4")]
    pub mblilnpigje: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgkbibgodnl {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odealbeankj {
    #[prost(message, repeated, tag = "1")]
    pub jaajbmbglad: ::prost::alloc::vec::Vec<Joaafcolcfi>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmmhlhpnieo {
    #[prost(uint32, tag = "9")]
    pub mblilnpigje: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmnelhmeocj {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub pjdlkendnal: ::core::option::Option<Joaafcolcfi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kiinnopdhco {
    #[prost(message, optional, tag = "14")]
    pub pjdlkendnal: ::core::option::Option<Joaafcolcfi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgocgngpkoi {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub mblilnpigje: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Shop {
    #[prost(uint64, tag = "4")]
    pub city_taken_level_reward: u64,
    #[prost(uint32, tag = "2")]
    pub city_exp: u32,
    #[prost(int64, tag = "15")]
    pub end_time: i64,
    #[prost(uint32, tag = "8")]
    pub city_level: u32,
    #[prost(uint32, tag = "14")]
    pub shop_id: u32,
    #[prost(message, repeated, tag = "9")]
    pub goods_list: ::prost::alloc::vec::Vec<Goods>,
    #[prost(int64, tag = "10")]
    pub begin_time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goods {
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
    #[prost(int64, tag = "15")]
    pub end_time: i64,
    #[prost(uint32, tag = "13")]
    pub buy_times: u32,
    #[prost(uint32, tag = "10")]
    pub goods_id: u32,
    #[prost(int64, tag = "14")]
    pub begin_time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipljnkegfch {
    #[prost(uint32, tag = "2")]
    pub edhoecbcbjo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShopListScRsp {
    #[prost(uint32, tag = "6")]
    pub shop_type: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub shop_list: ::prost::alloc::vec::Vec<Shop>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fggleeelkcn {
    #[prost(uint32, tag = "13")]
    pub hioldiglggj: u32,
    #[prost(uint32, tag = "5")]
    pub edahdalkobk: u32,
    #[prost(uint32, tag = "4")]
    pub pdgjhkmmclo: u32,
    #[prost(uint32, tag = "3")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "6")]
    pub olbbmfeknhj: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyGoodsScRsp {
    #[prost(message, optional, tag = "14")]
    pub return_item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub goods_id: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub goods_buy_times: u32,
    #[prost(uint32, tag = "3")]
    pub shop_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afbflnbhiem {
    #[prost(uint32, tag = "3")]
    pub hioldiglggj: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeCityShopRewardScRsp {
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub shop_id: u32,
    #[prost(uint32, tag = "9")]
    pub level: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CityShopInfoScNotify {
    #[prost(uint32, tag = "8")]
    pub exp: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(uint64, tag = "5")]
    pub taken_level_reward: u64,
    #[prost(uint32, tag = "9")]
    pub shop_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppcopniacje {
    #[prost(uint32, repeated, tag = "3")]
    pub iiohekhehdk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub fdojfkifodo: u32,
    #[prost(uint32, tag = "7")]
    pub oipbkmkigbg: u32,
    #[prost(bool, tag = "4")]
    pub imcidcofomh: bool,
    #[prost(uint32, tag = "9")]
    pub unique_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pngoobncnkj {
    #[prost(uint32, tag = "1")]
    pub oipbkmkigbg: u32,
    #[prost(uint32, tag = "11")]
    pub jnadeghhade: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmclhhehfoj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffbfknjjmdj {
    #[prost(uint32, repeated, tag = "5")]
    pub dmmmfiagkjm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "14")]
    pub dbidhckblhd: ::prost::alloc::vec::Vec<Pngoobncnkj>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub agfmdkpibkc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "13")]
    pub bacidkiflke: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub gnafclilkap: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub jddodnjgckk: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub nailddognnd: ::prost::alloc::vec::Vec<Ppcopniacje>,
    #[prost(uint32, tag = "10")]
    pub dmlkhohhnom: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjfpfbijllb {
    #[prost(uint32, repeated, tag = "3")]
    pub danipfdafok: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub clhnjcbddbh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afdcohcemij {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub ijpbklldlko: ::core::option::Option<Ppcopniacje>,
    #[prost(bool, tag = "6")]
    pub copmbochiad: bool,
    #[prost(message, repeated, tag = "5")]
    pub abkhidgdmeo: ::prost::alloc::vec::Vec<Pngoobncnkj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aegebifpbfe {
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
    #[prost(uint32, tag = "8")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahmobnkmbae {
    #[prost(bool, tag = "13")]
    pub copmbochiad: bool,
    #[prost(message, repeated, tag = "15")]
    pub abkhidgdmeo: ::prost::alloc::vec::Vec<Pngoobncnkj>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub aniildaplad: ::core::option::Option<Ppcopniacje>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldaffacncim {
    #[prost(uint32, tag = "14")]
    pub pincefamlda: u32,
    #[prost(uint32, tag = "11")]
    pub okihgkhhogm: u32,
    #[prost(uint32, tag = "10")]
    pub op_type: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdplndckhff {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub jddodnjgckk: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khgbhpfflib {
    #[prost(uint32, repeated, tag = "8")]
    pub anilffejpnc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjeldncclmm {
    #[prost(uint32, repeated, tag = "2")]
    pub okmghdjedme: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnocmdlppoc {
    #[prost(message, repeated, tag = "12")]
    pub djcbfpjojpm: ::prost::alloc::vec::Vec<Ppcopniacje>,
    #[prost(bool, tag = "15")]
    pub copmbochiad: bool,
    #[prost(bool, tag = "4")]
    pub midpglpkcbl: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edabhfgdmde {
    #[prost(uint32, tag = "3")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aohbkfaecbm {
    #[prost(uint32, tag = "13")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lipklkcndkn {
    #[prost(uint32, tag = "11")]
    pub ohjnfhlhmjh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nigplglpfob {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub ohjnfhlhmjh: u32,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbchegjclei {
    #[prost(uint32, tag = "10")]
    pub hnegangajhp: u32,
    #[prost(uint32, tag = "13")]
    pub fjncdcbcpfd: u32,
    #[prost(uint32, tag = "12")]
    pub libllkckfbd: u32,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(bool, tag = "2")]
    pub lmdkgeicefn: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdjoepohkap {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgifijpijni {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub mihjigcehlo: ::prost::alloc::vec::Vec<Nbchegjclei>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnhcbggnkfd {
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "14")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plpdbanadja {
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    #[prost(uint32, tag = "9")]
    pub ehajmefgmgl: u32,
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<Fnhcbggnkfd>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffjlbfloacg {
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "9")]
    pub ehajmefgmgl: u32,
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjbjijkbbgd {
    #[prost(message, optional, tag = "11")]
    pub hceeinjcnpf: ::core::option::Option<Nbchegjclei>,
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gllcegffakb {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eolkdennfdj {
    #[prost(uint32, repeated, tag = "9")]
    pub nebckoilacf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub ijgcfmgpmdn: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agopjkmmlng {
    #[prost(uint32, repeated, tag = "1")]
    pub nebckoilacf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub phijkiidpgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub ijgcfmgpmdn: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikankkhbfdn {
    #[prost(uint32, tag = "5")]
    pub ijgcfmgpmdn: u32,
    #[prost(enumeration = "Nglajaapjdn", tag = "14")]
    pub fbkbiocfkbb: i32,
    #[prost(uint32, tag = "2")]
    pub nabpfkcmakf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfhddincfal {
    #[prost(uint32, repeated, tag = "5")]
    pub himgdjegfmg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub pecjbfgbfbo: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StrongChallengeAvatar {
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "7")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmabegmknjg {
    #[prost(message, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
    #[prost(uint32, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kphleakepnm {
    #[prost(uint32, tag = "8")]
    pub dnallopkkfi: u32,
    #[prost(uint32, tag = "9")]
    pub kljpbaagnfn: u32,
    #[prost(uint32, tag = "3")]
    pub gjcoacjdhoi: u32,
    #[prost(uint32, tag = "10")]
    pub stage_id: u32,
    #[prost(message, optional, tag = "12")]
    pub dighbcmiafn: ::core::option::Option<Lmabegmknjg>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhmhbeppcmj {
    #[prost(map = "uint32, message", tag = "5")]
    pub ihjceiflido: ::std::collections::HashMap<u32, Kphleakepnm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbankhidmaf {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oinbhcfobii {
    #[prost(message, optional, tag = "13")]
    pub lhioddhneom: ::core::option::Option<Bhmhbeppcmj>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Injcfbdefpo {
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpamhnfagda {
    #[prost(message, optional, tag = "5")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inghgojcbde {
    #[prost(uint32, tag = "10")]
    pub jclgapnoidm: u32,
    #[prost(uint32, tag = "15")]
    pub oggklhikobo: u32,
    #[prost(uint32, tag = "4")]
    pub total_damage: u32,
    #[prost(uint32, tag = "5")]
    pub kljpbaagnfn: u32,
    #[prost(uint32, tag = "14")]
    pub aefhkcbeddk: u32,
    #[prost(uint32, tag = "9")]
    pub stage_id: u32,
    #[prost(enumeration = "BattleEndStatus", tag = "1")]
    pub end_status: i32,
    #[prost(uint32, tag = "2")]
    pub bpoadhbcpje: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nagpgjmfahk {
    #[prost(uint32, tag = "14")]
    pub homiedhkjjd: u32,
    #[prost(uint32, tag = "13")]
    pub stamina: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jaofedcebna {
    #[prost(bool, tag = "1")]
    pub eaneldecgbg: bool,
    #[prost(string, tag = "12")]
    pub ldcholahmei: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "13")]
    pub ggnjaoeegkn: ::prost::alloc::vec::Vec<Khpnemhhlol>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarSync {
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjdomleepim {
    #[prost(uint32, repeated, tag = "2")]
    pub jlfjdkiijdb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "3")]
    pub ndechiccehn: ::prost::alloc::vec::Vec<Aafagkccael>,
    #[prost(message, repeated, tag = "12")]
    pub ljgjeelffdd: ::prost::alloc::vec::Vec<Mission>,
    #[prost(uint32, repeated, tag = "13")]
    pub enihmnnpkfb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub kogffhahfmn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub bpjejdogdko: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "6")]
    pub jjaljclbjli: ::prost::alloc::vec::Vec<Idanaepffnp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eeanehjjcng {
    #[prost(message, repeated, tag = "13")]
    pub lakdcghjpaa: ::prost::alloc::vec::Vec<Mission>,
    #[prost(uint32, repeated, tag = "9")]
    pub khohophhdem: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub nbhhplhomap: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSyncScNotify {
    #[prost(message, repeated, tag = "11")]
    pub lgjeabihdpn: ::prost::alloc::vec::Vec<Aahedljhoeb>,
    #[prost(uint32, repeated, tag = "1")]
    pub ipnkigfoikl: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "210")]
    pub biahmcppikj: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, repeated, tag = "64")]
    pub kabejpffmca: ::prost::alloc::vec::Vec<Mggjbkmling>,
    #[prost(message, repeated, tag = "3")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    #[prost(uint32, tag = "1725")]
    pub ppajjpccnkd: u32,
    #[prost(message, optional, tag = "10")]
    pub ppobjajkacb: ::core::option::Option<Gjdomleepim>,
    #[prost(uint32, repeated, tag = "144")]
    pub piamcddiadd: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "9")]
    pub gdhhpnbindd: ::core::option::Option<Eeanehjjcng>,
    #[prost(message, optional, tag = "5")]
    pub avatar_sync: ::core::option::Option<AvatarSync>,
    #[prost(message, optional, tag = "337")]
    pub kanbdbedimo: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "1665")]
    pub akbafgnpenp: ::core::option::Option<Jaofedcebna>,
    #[prost(message, optional, tag = "8")]
    pub jalgacmoffl: ::core::option::Option<Nagpgjmfahk>,
    #[prost(message, repeated, tag = "6")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    #[prost(message, repeated, tag = "14")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, optional, tag = "4")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    #[prost(message, repeated, tag = "2")]
    pub basic_type_info_list: ::prost::alloc::vec::Vec<HeroBasicTypeInfo>,
    #[prost(message, repeated, tag = "15")]
    pub gbpfmlkagek: ::prost::alloc::vec::Vec<Pcminmfongb>,
    #[prost(uint32, repeated, tag = "13")]
    pub idgakomjiio: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "222")]
    pub nimllpbicen: ::prost::alloc::vec::Vec<Jhcfpnbcclb>,
    #[prost(message, repeated, tag = "245")]
    pub oncphoenlib: ::prost::alloc::vec::Vec<Nglngbhcacb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcTakenRewardCsReq {
    #[prost(uint32, tag = "14")]
    pub npc_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcTakenRewardScRsp {
    #[prost(uint32, repeated, tag = "7")]
    pub talk_event_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub npc_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTalkRewardCsReq {
    #[prost(message, optional, tag = "10")]
    pub npc_location: ::core::option::Option<Vector>,
    #[prost(uint32, tag = "13")]
    pub talk_event_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTalkRewardScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub talk_event_id: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcCsReq {
    #[prost(uint32, repeated, tag = "1")]
    pub series_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcMeetStatus {
    #[prost(bool, tag = "7")]
    pub is_meet: bool,
    #[prost(uint32, tag = "11")]
    pub series_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub npc_meet_status_list: ::prost::alloc::vec::Vec<NpcMeetStatus>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkNpcCsReq {
    #[prost(uint32, tag = "8")]
    pub series_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkNpcScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub series_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbdnlodhohc {
    #[prost(uint32, tag = "2")]
    pub lbohbjamfip: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgdkhdmnkkm {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub lbohbjamfip: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pghekcopokm {
    #[prost(uint32, tag = "14")]
    pub ldcaeblnbco: u32,
    #[prost(bool, tag = "4")]
    pub is_meet: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Peabfdfkmim {
    #[prost(uint32, repeated, tag = "14")]
    pub kajphbfibik: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmpodfchomf {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub npc_meet_status_list: ::prost::alloc::vec::Vec<Pghekcopokm>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njdcilpofek {
    #[prost(uint32, tag = "2")]
    pub ldcaeblnbco: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffeochjnbia {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub ldcaeblnbco: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Libgppmmjca {
    #[prost(uint32, tag = "9")]
    pub ajkohhaobei: u32,
    #[prost(uint32, tag = "11")]
    pub kljpbaagnfn: u32,
    #[prost(uint32, tag = "1")]
    pub ghgfcdndbom: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kblemioiogc {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cockejbmhei {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "3")]
    pub fgmcdagnfbf: ::prost::alloc::vec::Vec<Libgppmmjca>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfkadblmcgj {
    #[prost(message, repeated, tag = "12")]
    pub fgmcdagnfbf: ::prost::alloc::vec::Vec<Libgppmmjca>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjkcigiellm {
    #[prost(uint32, tag = "8")]
    pub bckigkkgpnc: u32,
    #[prost(message, optional, tag = "7")]
    pub ifdcimaamgl: ::core::option::Option<Libgppmmjca>,
    #[prost(uint32, tag = "13")]
    pub hgldgojegkc: u32,
    #[prost(uint32, tag = "9")]
    pub agmglikfbog: u32,
    #[prost(uint32, tag = "2")]
    pub gggcfbbolmm: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eglmhiplhod {
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "10")]
    pub edglnhhadgl: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Makeefebdhd {
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<Eglmhiplhod>,
    #[prost(uint32, tag = "5")]
    pub ghgfcdndbom: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgejaldidmg {
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub ghgfcdndbom: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgjomipailb {
    #[prost(string, tag = "6")]
    pub cflckigmaeb: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub ppigojefgak: u32,
    #[prost(string, tag = "4")]
    pub ejkanbclppm: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub ofammlmcmde: u32,
    #[prost(uint32, tag = "15")]
    pub pncechdafnc: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfhbieanpde {
    #[prost(uint32, tag = "9")]
    pub ppigojefgak: u32,
    #[prost(uint32, tag = "15")]
    pub ofammlmcmde: u32,
    #[prost(string, tag = "6")]
    pub ejkanbclppm: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aeabhkaphfe {
    #[prost(string, tag = "11")]
    pub ejkanbclppm: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub ofammlmcmde: u32,
    #[prost(uint32, tag = "7")]
    pub ppigojefgak: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpahdalhppl {
    #[prost(uint32, repeated, tag = "3")]
    pub ecehgnljcjb: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agnnjajjmjp {
    #[prost(message, repeated, tag = "5")]
    pub lnmjjpmcpil: ::prost::alloc::vec::Vec<Dgjomipailb>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfaekadlfbk {
    #[prost(message, repeated, tag = "12")]
    pub lnmjjpmcpil: ::prost::alloc::vec::Vec<Dgjomipailb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Modiembnijk {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub lnmjjpmcpil: ::prost::alloc::vec::Vec<Dgjomipailb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkhbpcgbkjd {
    #[prost(bool, tag = "11")]
    pub is_meet: bool,
    #[prost(uint32, tag = "1")]
    pub oepgonlledi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klacklgdbae {
    #[prost(uint32, tag = "8")]
    pub oepgonlledi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Moelmpkhobl {
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub oepgonlledi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obbmkfbpkdn {
    #[prost(uint32, repeated, tag = "8")]
    pub fhkdholknpd: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pebfdfdepkh {
    #[prost(message, repeated, tag = "1")]
    pub ndhhoficcgi: ::prost::alloc::vec::Vec<Hkhbpcgbkjd>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fophppoamlp {
    #[prost(uint64, tag = "2")]
    pub lpfdgleicah: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nafngeeaino {
    #[prost(uint32, tag = "8")]
    pub oepgonlledi: u32,
    #[prost(enumeration = "TrainVisitorRewardSendType", tag = "13")]
    pub r#type: i32,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmbnakcocne {
    #[prost(uint32, repeated, tag = "11")]
    pub pphbjdlalgi: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "7")]
    pub ajdcddknifg: bool,
    #[prost(uint32, tag = "13")]
    pub oajhhabnaab: u32,
    #[prost(uint32, tag = "14")]
    pub oepgonlledi: u32,
    #[prost(enumeration = "TrainVisitorStatus", tag = "5")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgmchngkhco {
    #[prost(enumeration = "TrainVisitorRegisterGetType", tag = "15")]
    pub r#type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkbjkibmhnb {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub damibclmegm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "9")]
    pub bolhlilmlhg: ::prost::alloc::vec::Vec<Jmbnakcocne>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmgooompceg {
    #[prost(uint32, tag = "2")]
    pub oepgonlledi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pegndbpknhc {
    #[prost(uint32, tag = "8")]
    pub oepgonlledi: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub pphbjdlalgi: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igdeocgnpeg {
    #[prost(uint32, repeated, tag = "15")]
    pub damibclmegm: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jabkaidobep {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghbfmphplgc {
    #[prost(int32, tag = "2")]
    pub klmeekphonb: i32,
    #[prost(uint64, tag = "8")]
    pub unique_id: u64,
    #[prost(uint32, tag = "11")]
    pub gcldghmgmma: u32,
    #[prost(uint32, tag = "1")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "4")]
    pub mmimgblecaa: u32,
    #[prost(int32, tag = "6")]
    pub ggfomnhibfn: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnapkglaenf {
    #[prost(uint32, tag = "15")]
    pub inmjgoeaakb: u32,
    #[prost(enumeration = "Cmdahlbmklc", tag = "7")]
    pub noicpkddpee: i32,
    #[prost(message, repeated, tag = "5")]
    pub pfoknkknace: ::prost::alloc::vec::Vec<Ghbfmphplgc>,
    #[prost(uint32, tag = "6")]
    pub mnboaolhcof: u32,
    #[prost(enumeration = "TravelBrochurePageStatus", tag = "2")]
    pub mafmebchomj: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceipnfefecg {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khfojkkcnbf {
    #[prost(map = "uint32, message", tag = "1")]
    pub nibokkaieid: ::std::collections::HashMap<u32, Gnapkglaenf>,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub akphbfphkgc: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "10")]
    pub lmfadlckloe: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obheaaklhkb {
    #[prost(uint32, tag = "9")]
    pub mnboaolhcof: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Biagglppeib {
    #[prost(uint32, tag = "15")]
    pub mnboaolhcof: u32,
    #[prost(uint32, tag = "1")]
    pub inmjgoeaakb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgmcpeomcld {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub kmacknpoghf: ::core::option::Option<Gnapkglaenf>,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceboliofdan {
    #[prost(uint32, tag = "14")]
    pub kongbcnifjk: u32,
    #[prost(int32, tag = "4")]
    pub ggfomnhibfn: i32,
    #[prost(uint32, tag = "6")]
    pub mnboaolhcof: u32,
    #[prost(uint32, tag = "15")]
    pub mmimgblecaa: u32,
    #[prost(int32, tag = "11")]
    pub klmeekphonb: i32,
    #[prost(uint32, tag = "3")]
    pub gcldghmgmma: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egnpofabfga {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub kmacknpoghf: ::core::option::Option<Gnapkglaenf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ochdgebopfl {
    #[prost(uint64, tag = "13")]
    pub unique_id: u64,
    #[prost(uint32, tag = "12")]
    pub mnboaolhcof: u32,
    #[prost(uint32, tag = "11")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lafhialnhpl {
    #[prost(message, optional, tag = "10")]
    pub kmacknpoghf: ::core::option::Option<Gnapkglaenf>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjmcocgameb {
    #[prost(int32, tag = "5")]
    pub ggfomnhibfn: i32,
    #[prost(uint64, tag = "8")]
    pub unique_id: u64,
    #[prost(uint32, tag = "4")]
    pub mnboaolhcof: u32,
    #[prost(uint32, tag = "12")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "7")]
    pub mmimgblecaa: u32,
    #[prost(int32, tag = "13")]
    pub klmeekphonb: i32,
    #[prost(uint32, tag = "14")]
    pub gcldghmgmma: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jckplbdpmpc {
    #[prost(message, optional, tag = "7")]
    pub kmacknpoghf: ::core::option::Option<Gnapkglaenf>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhgdebpglje {
    #[prost(uint32, tag = "11")]
    pub num: u32,
    #[prost(uint32, tag = "6")]
    pub ocffghlnjlf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhcfpnbcclb {
    #[prost(uint32, tag = "11")]
    pub ocffghlnjlf: u32,
    #[prost(uint32, tag = "4")]
    pub num: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eooebeccgic {
    #[prost(uint32, tag = "4")]
    pub value: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckahbmgdamg {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkloodkande {
    #[prost(uint32, tag = "11")]
    pub mnboaolhcof: u32,
    #[prost(enumeration = "Cmdahlbmklc", tag = "3")]
    pub moiabhhdbcc: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apocolapmik {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgkcbmnhgnc {
    #[prost(uint32, tag = "13")]
    pub mnboaolhcof: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gafgcpobkjj {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub kmacknpoghf: ::core::option::Option<Gnapkglaenf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbblfgfpjjj {
    #[prost(uint32, tag = "9")]
    pub kongbcnifjk: u32,
    #[prost(uint32, tag = "1")]
    pub mmimgblecaa: u32,
    #[prost(uint32, tag = "7")]
    pub gcldghmgmma: u32,
    #[prost(int32, tag = "14")]
    pub ggfomnhibfn: i32,
    #[prost(int32, tag = "11")]
    pub klmeekphonb: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Haeojhjhefc {
    #[prost(uint32, tag = "11")]
    pub mnboaolhcof: u32,
    #[prost(message, repeated, tag = "13")]
    pub knnokcfimln: ::prost::alloc::vec::Vec<Dbblfgfpjjj>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plomkogfhkc {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub kmacknpoghf: ::core::option::Option<Gnapkglaenf>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonRecordData {
    #[prost(uint32, tag = "8")]
    pub param_2: u32,
    #[prost(enumeration = "Bdlgakeipob", tag = "13")]
    pub r#type: i32,
    #[prost(uint32, tag = "7")]
    pub target_grid_id: u32,
    #[prost(uint32, tag = "9")]
    pub param_1: u32,
    #[prost(uint32, tag = "2")]
    pub source_grid_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Leoifhpidng {
    #[prost(message, optional, tag = "15")]
    pub hlbhkmfojee: ::core::option::Option<Ghpgkkipcoi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kaokkoiamja {
    #[prost(map = "uint32, uint32", tag = "13")]
    pub fhpmaefjjbk: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "2")]
    pub pcggfedmgae: u32,
    #[prost(map = "uint32, uint32", tag = "3")]
    pub cojhdhpbmej: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "15")]
    pub dmhammiigmh: u32,
    #[prost(bool, tag = "5")]
    pub bmikmflhmjd: bool,
    #[prost(uint32, tag = "4")]
    pub kbpcbchbdnj: u32,
    #[prost(uint32, tag = "11")]
    pub mmpjplbkehb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghpgkkipcoi {
    #[prost(bool, tag = "808")]
    pub igjkpembbbm: bool,
    #[prost(message, repeated, tag = "14")]
    pub klgkmedcfob: ::prost::alloc::vec::Vec<TreasureDungeonRecordData>,
    #[prost(uint32, tag = "11")]
    pub dmhammiigmh: u32,
    #[prost(uint32, tag = "3")]
    pub aiaajmnhigl: u32,
    #[prost(uint32, tag = "15")]
    pub kbpcbchbdnj: u32,
    #[prost(bool, tag = "1957")]
    pub bdinbedonjd: bool,
    #[prost(message, repeated, tag = "1040")]
    pub avatar_list: ::prost::alloc::vec::Vec<Gjhnlalenep>,
    #[prost(bool, tag = "2038")]
    pub nnlhifdameh: bool,
    #[prost(message, repeated, tag = "8")]
    pub kobfdlnjndh: ::prost::alloc::vec::Vec<Fodjfbnfpjc>,
    #[prost(uint32, tag = "4")]
    pub ijmmefniapa: u32,
    #[prost(message, repeated, tag = "1137")]
    pub gidiepffgmn: ::prost::alloc::vec::Vec<Gjhnlalenep>,
    #[prost(message, repeated, tag = "2041")]
    pub item_list: ::prost::alloc::vec::Vec<Dojppndknac>,
    #[prost(message, repeated, tag = "386")]
    pub lcciikmgkfg: ::prost::alloc::vec::Vec<Ompcpeghaid>,
    #[prost(message, repeated, tag = "929")]
    pub buff_list: ::prost::alloc::vec::Vec<Oapecjldcgl>,
    #[prost(uint32, tag = "1")]
    pub fchhpbogcmj: u32,
    #[prost(uint32, tag = "12")]
    pub plahjcdlfbh: u32,
    #[prost(uint32, tag = "9")]
    pub pinjpejnano: u32,
    #[prost(uint32, tag = "1699")]
    pub dgkkkhkijcp: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dojppndknac {
    #[prost(uint32, tag = "3")]
    pub nakamomhjck: u32,
    #[prost(uint32, tag = "13")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjhnlalenep {
    #[prost(uint32, tag = "4")]
    pub hicpkpofmai: u32,
    #[prost(message, optional, tag = "12")]
    pub sp: ::core::option::Option<AmountInfo>,
    #[prost(uint32, tag = "7")]
    pub hp: u32,
    #[prost(uint32, tag = "6")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "13")]
    pub avatar_type: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ompcpeghaid {
    #[prost(uint32, tag = "9")]
    pub edglnhhadgl: u32,
    #[prost(uint32, tag = "8")]
    pub avatar_type: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oapecjldcgl {
    #[prost(uint32, tag = "11")]
    pub daimooemhjf: u32,
    #[prost(uint32, tag = "12")]
    pub ppojcicjnlf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fodjfbnfpjc {
    #[prost(bool, tag = "9")]
    pub libmphilenj: bool,
    #[prost(uint32, tag = "8")]
    pub mblhnaidfgd: u32,
    #[prost(message, repeated, tag = "744")]
    pub buff_list: ::prost::alloc::vec::Vec<Hkmcmfconnn>,
    #[prost(bool, tag = "14")]
    pub pieaokdoall: bool,
    #[prost(bool, tag = "5")]
    pub ldnhcnjecpd: bool,
    #[prost(bool, tag = "15")]
    pub oodegdnohnf: bool,
    #[prost(uint32, tag = "10")]
    pub clfmfciaefa: u32,
    #[prost(uint32, tag = "11")]
    pub cfhgkfogbkb: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkmcmfconnn {
    #[prost(uint32, tag = "9")]
    pub dohcphhkace: u32,
    #[prost(uint32, tag = "11")]
    pub ldanffffdjn: u32,
    #[prost(uint32, tag = "4")]
    pub mblhnaidfgd: u32,
    #[prost(uint32, tag = "3")]
    pub ppekmfpchph: u32,
    #[prost(uint32, tag = "2")]
    pub daimooemhjf: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpmcahgfini {
    #[prost(uint32, tag = "5")]
    pub dmdlfibikhb: u32,
    #[prost(uint32, tag = "15")]
    pub fchhpbogcmj: u32,
    #[prost(uint32, tag = "14")]
    pub ijmmefniapa: u32,
    #[prost(uint32, tag = "2")]
    pub dmhammiigmh: u32,
    #[prost(bool, tag = "8")]
    pub gagdnjmapla: bool,
    #[prost(uint32, tag = "9")]
    pub kbpcbchbdnj: u32,
    #[prost(bool, tag = "11")]
    pub meiaeckgfpe: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glmkpnhcnfj {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klihcjlegjh {
    #[prost(message, repeated, tag = "11")]
    pub haclgbjbngh: ::prost::alloc::vec::Vec<Lpmcahgfini>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bephocneljm {
    #[prost(message, repeated, tag = "3")]
    pub avatar_list: ::prost::alloc::vec::Vec<Lghoibnmlkb>,
    #[prost(uint32, tag = "2")]
    pub dmhammiigmh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipgmohkieaj {
    #[prost(message, optional, tag = "7")]
    pub hlbhkmfojee: ::core::option::Option<Ghpgkkipcoi>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eekncgpkncp {
    #[prost(uint32, tag = "3")]
    pub dmhammiigmh: u32,
    #[prost(uint32, tag = "15")]
    pub mblhnaidfgd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdgbohbhahk {
    #[prost(message, optional, tag = "10")]
    pub hlbhkmfojee: ::core::option::Option<Ghpgkkipcoi>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cllghmkfhak {
    #[prost(uint32, tag = "3")]
    pub mblhnaidfgd: u32,
    #[prost(uint32, tag = "9")]
    pub nmhpkmdmmpa: u32,
    #[prost(uint32, tag = "4")]
    pub dmhammiigmh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onbcljdbfie {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub hlbhkmfojee: ::core::option::Option<Ghpgkkipcoi>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mplcjocdndl {
    #[prost(uint32, tag = "5")]
    pub mblhnaidfgd: u32,
    #[prost(uint32, tag = "13")]
    pub dmhammiigmh: u32,
    #[prost(uint32, tag = "12")]
    pub kongbcnifjk: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eigjldoaogi {
    #[prost(message, optional, tag = "9")]
    pub hlbhkmfojee: ::core::option::Option<Ghpgkkipcoi>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lghoibnmlkb {
    #[prost(uint32, tag = "10")]
    pub edglnhhadgl: u32,
    #[prost(enumeration = "AvatarType", tag = "4")]
    pub avatar_type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aepgbppknal {
    #[prost(uint32, tag = "1")]
    pub dmhammiigmh: u32,
    #[prost(message, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<Lghoibnmlkb>,
    #[prost(uint32, tag = "9")]
    pub mblhnaidfgd: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihbdopkcbaj {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icocjjpcplo {
    #[prost(bool, tag = "15")]
    pub klfpokblolh: bool,
    #[prost(uint32, tag = "2")]
    pub dmhammiigmh: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Diglphepppn {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tutorial {
    #[prost(uint32, tag = "6")]
    pub id: u32,
    #[prost(enumeration = "TutorialStatus", tag = "14")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TutorialGuide {
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(enumeration = "TutorialStatus", tag = "4")]
    pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialScRsp {
    #[prost(message, repeated, tag = "12")]
    pub tutorial_list: ::prost::alloc::vec::Vec<Tutorial>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideCsReq {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideScRsp {
    #[prost(message, repeated, tag = "9")]
    pub tutorial_guide_list: ::prost::alloc::vec::Vec<TutorialGuide>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTutorialCsReq {
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTutorialScRsp {
    #[prost(message, optional, tag = "3")]
    pub tutorial: ::core::option::Option<Tutorial>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTutorialGuideCsReq {
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTutorialGuideScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialCsReq {
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub tutorial: ::core::option::Option<Tutorial>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideCsReq {
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "14")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgfomecdgjb {
    #[prost(uint32, tag = "12")]
    pub dnlkjbekahl: u32,
    #[prost(bool, tag = "6")]
    pub cdhekghjjce: bool,
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkigecpddpo {
    #[prost(uint32, tag = "12")]
    pub id: u32,
    #[prost(bool, tag = "6")]
    pub cdhekghjjce: bool,
    #[prost(uint32, repeated, tag = "14")]
    pub ahijdajadka: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub jpfdjkdjboi: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffpfkgifaoe {
    #[prost(message, optional, tag = "10")]
    pub adilcdidenm: ::core::option::Option<Jkigecpddpo>,
    #[prost(message, repeated, tag = "15")]
    pub hbfhfldmegi: ::prost::alloc::vec::Vec<Cgfomecdgjb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhbomchnlbc {
    #[prost(uint32, tag = "13")]
    pub jjnfifblhmo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikijimlaelh {
    #[prost(uint32, tag = "14")]
    pub mcocognfiea: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub noiieoomlbo: ::core::option::Option<Ffpfkgifaoe>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plgcnmdfhmh {
    #[prost(uint32, tag = "2")]
    pub mfnialafjme: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkddnnbblfb {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub mcocognfiea: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oddlilpccfn {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgeogflkmnb {
    #[prost(message, repeated, tag = "4")]
    pub hlchnkpehai: ::prost::alloc::vec::Vec<Jkigecpddpo>,
    #[prost(uint32, tag = "6")]
    pub mcocognfiea: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbmjodcopki {
    #[prost(uint32, tag = "2")]
    pub jjnfifblhmo: u32,
    #[prost(uint32, tag = "10")]
    pub mfnialafjme: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccenppiglkg {
    #[prost(uint32, tag = "11")]
    pub gkbbapogodi: u32,
    #[prost(uint32, tag = "13")]
    pub jjnfifblhmo: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkgapgfnkkb {
    #[prost(uint32, tag = "11")]
    pub jjnfifblhmo: u32,
    #[prost(uint32, tag = "1")]
    pub gkbbapogodi: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phhndkkbecc {
    #[prost(message, optional, tag = "11")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "7")]
    pub jebmddjcadh: u32,
    #[prost(message, repeated, tag = "6")]
    pub jojfkijfeki: ::prost::alloc::vec::Vec<Vector>,
    #[prost(bool, tag = "4")]
    pub nmpeaingfpg: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Poghanmoacb {
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(uint32, tag = "11")]
    pub jebmddjcadh: u32,
    #[prost(message, optional, tag = "4")]
    pub pmaggbijfkc: ::core::option::Option<Phhndkkbecc>,
    #[prost(message, repeated, tag = "7")]
    pub jojfkijfeki: ::prost::alloc::vec::Vec<Vector>,
    #[prost(bool, tag = "12")]
    pub nmpeaingfpg: bool,
    #[prost(string, tag = "5")]
    pub npgnkdnhkna: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfmikggndbp {
    #[prost(message, optional, tag = "1")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(bool, tag = "9")]
    pub bepdahkjhih: bool,
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(message, optional, tag = "12")]
    pub ecglaijolji: ::core::option::Option<Mffaehngkmk>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amindjonjpm {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub gnonljjpfkh: ::core::option::Option<Poghanmoacb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bldabflkhgd {
    #[prost(uint32, tag = "4")]
    pub id: u32,
    #[prost(message, optional, tag = "12")]
    pub motion: ::core::option::Option<MotionInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdbpifehleg {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub gnonljjpfkh: ::core::option::Option<Poghanmoacb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbickbkcjkb {
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddekdbohgob {
    #[prost(message, optional, tag = "1")]
    pub gnonljjpfkh: ::core::option::Option<Poghanmoacb>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Biibefpgfeo {
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohffcbbgfai {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub gnonljjpfkh: ::core::option::Option<Poghanmoacb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kldjgajnpgl {
    #[prost(uint32, tag = "1")]
    pub id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iblehghnnel {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub gnonljjpfkh: ::core::option::Option<Poghanmoacb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opbmfoooacc {
    #[prost(message, optional, tag = "7")]
    pub gnonljjpfkh: ::core::option::Option<Poghanmoacb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fihjgbiiclm {
    #[prost(message, optional, tag = "13")]
    pub canocbklmcl: ::core::option::Option<Vector>,
    #[prost(uint32, repeated, tag = "5")]
    pub igkjjpeealc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbpihcaball {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub gnonljjpfkh: ::core::option::Option<Poghanmoacb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mnemhafanco {
    #[prost(message, optional, tag = "9")]
    pub canocbklmcl: ::core::option::Option<Vector>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddkcfgmonag {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub gnonljjpfkh: ::core::option::Option<Poghanmoacb>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcapbdbfhop {
    #[prost(uint32, tag = "9")]
    pub config_id: u32,
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmbofcaaonk {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jacafgbbhog {
    #[prost(uint32, repeated, tag = "6")]
    pub igkjjpeealc: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkhbkciidjd {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PacketHead {
    #[prost(uint32, tag = "1")]
    pub packet_id: u32,
    #[prost(uint32, tag = "2")]
    pub sign_type: u32,
    #[prost(uint32, tag = "3")]
    pub sign: u32,
    #[prost(uint32, tag = "4")]
    pub user_id: u32,
    #[prost(uint32, tag = "5")]
    pub src_addr: u32,
    #[prost(uint32, tag = "6")]
    pub dst_addr: u32,
    #[prost(uint32, tag = "7")]
    pub dispatch_type: u32,
    #[prost(uint32, tag = "8")]
    pub server_type: u32,
    #[prost(uint32, tag = "9")]
    pub dispatch_key: u32,
    #[prost(uint32, tag = "10")]
    pub user_session_id: u32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(uint32, tag = "12")]
    pub coroutine_id: u32,
    #[prost(uint32, tag = "13")]
    pub hop_cnt: u32,
}
#[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 {
            AvatarSlotType::AvatarSlot1 => "AVATAR_SLOT_1",
            AvatarSlotType::AvatarSlot2 => "AVATAR_SLOT_2",
            AvatarSlotType::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(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 {
            ItemType::None => "ITEM_TYPE_NONE",
            ItemType::ItemAvatarCard => "ITEM_AVATAR_CARD",
            ItemType::ItemEquipment => "ITEM_EQUIPMENT",
            ItemType::ItemMaterial => "ITEM_MATERIAL",
            ItemType::ItemAvatarExp => "ITEM_AVATAR_EXP",
            ItemType::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,
        }
    }
}
#[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,
    VirtualItemAchievementExp = 41,
    VirtualItemBpExp = 51,
    VirtualItemBpRealExp = 52,
    VirtualItemMuseumFunds = 53,
    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,
    VirtualItemRogueTournExp = 281022,
    VirtualItemMatchthreeCoin = 281024,
}
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 {
            VirtualItemType::VirtualItemNone => "VIRTUAL_ITEM_NONE",
            VirtualItemType::VirtualItemHcoin => "VIRTUAL_ITEM_HCOIN",
            VirtualItemType::VirtualItemScoin => "VIRTUAL_ITEM_SCOIN",
            VirtualItemType::VirtualItemMcoin => "VIRTUAL_ITEM_MCOIN",
            VirtualItemType::VirtualItemStamina => "VIRTUAL_ITEM_STAMINA",
            VirtualItemType::VirtualItemReserveStamina => "VIRTUAL_ITEM_RESERVE_STAMINA",
            VirtualItemType::VirtualItemAvatarExp => "VIRTUAL_ITEM_AVATAR_EXP",
            VirtualItemType::VirtualItemExp => "VIRTUAL_ITEM_EXP",
            VirtualItemType::VirtualItemDailyActivePoint => {
                "VIRTUAL_ITEM_DAILY_ACTIVE_POINT"
            }
            VirtualItemType::VirtualItemMpMax => "VIRTUAL_ITEM_MP_MAX",
            VirtualItemType::VirtualItemPlayerReturnPoint => {
                "VIRTUAL_ITEM_PLAYER_RETURN_POINT"
            }
            VirtualItemType::VirtualItemBattleCollegePoint => {
                "VIRTUAL_ITEM_BATTLE_COLLEGE_POINT"
            }
            VirtualItemType::VirtualItemRogueCoin => "VIRTUAL_ITEM_ROGUE_COIN",
            VirtualItemType::VirtualItemRogueTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_TALENT_COIN"
            }
            VirtualItemType::VirtualItemRogueRewardKey => "VIRTUAL_ITEM_ROGUE_REWARD_KEY",
            VirtualItemType::VirtualItemAchievementExp => "VIRTUAL_ITEM_ACHIEVEMENT_EXP",
            VirtualItemType::VirtualItemBpExp => "VIRTUAL_ITEM_BP_EXP",
            VirtualItemType::VirtualItemBpRealExp => "VIRTUAL_ITEM_BP_REAL_EXP",
            VirtualItemType::VirtualItemMuseumFunds => "VIRTUAL_ITEM_MUSEUM_FUNDS",
            VirtualItemType::VirtualItemWarriorExp => "VIRTUAL_ITEM_WARRIOR_EXP",
            VirtualItemType::VirtualItemRogueExp => "VIRTUAL_ITEM_ROGUE_EXP",
            VirtualItemType::VirtualItemMageExp => "VIRTUAL_ITEM_MAGE_EXP",
            VirtualItemType::VirtualItemShamanExp => "VIRTUAL_ITEM_SHAMAN_EXP",
            VirtualItemType::VirtualItemWarlockExp => "VIRTUAL_ITEM_WARLOCK_EXP",
            VirtualItemType::VirtualItemKnightExp => "VIRTUAL_ITEM_KNIGHT_EXP",
            VirtualItemType::VirtualItemPriestExp => "VIRTUAL_ITEM_PRIEST_EXP",
            VirtualItemType::VirtualItemPunkLordPoint => "VIRTUAL_ITEM_PUNK_LORD_POINT",
            VirtualItemType::VirtualItemGameplayCounterMonsterSneakVision => {
                "VIRTUAL_ITEM_GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION"
            }
            VirtualItemType::VirtualItemGameplayCounterWolfBroBullet => {
                "VIRTUAL_ITEM_GAMEPLAY_COUNTER_WOLF_BRO_BULLET"
            }
            VirtualItemType::VirtualItemAlleyFunds => "VIRTUAL_ITEM_ALLEY_FUNDS",
            VirtualItemType::VirtualItemRoguePumanCoupon => {
                "VIRTUAL_ITEM_ROGUE_PUMAN_COUPON"
            }
            VirtualItemType::VirtualItemMonthCard => "VIRTUAL_ITEM_MONTH_CARD",
            VirtualItemType::VirtualItemBpNormal => "VIRTUAL_ITEM_BP_NORMAL",
            VirtualItemType::VirtualItemBpDeluxe => "VIRTUAL_ITEM_BP_DELUXE",
            VirtualItemType::VirtualItemBpUpgrade => "VIRTUAL_ITEM_BP_UPGRADE",
            VirtualItemType::VirtualItemHeliobusFans => "VIRTUAL_ITEM_HELIOBUS_FANS",
            VirtualItemType::VirtualItemSpaceZooHybridItem => {
                "VIRTUAL_ITEM_SPACE_ZOO_HYBRID_ITEM"
            }
            VirtualItemType::VirtualItemSpaceZooExpPoint => {
                "VIRTUAL_ITEM_SPACE_ZOO_EXP_POINT"
            }
            VirtualItemType::VirtualItemRogueNousTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_NOUS_TALENT_COIN"
            }
            VirtualItemType::VirtualItemEvolveBuildCoin => {
                "VIRTUAL_ITEM_EVOLVE_BUILD_COIN"
            }
            VirtualItemType::VirtualItemDrinkMakerTip => "VIRTUAL_ITEM_DRINK_MAKER_TIP",
            VirtualItemType::VirtualItemMonopolyDice => "VIRTUAL_ITEM_MONOPOLY_DICE",
            VirtualItemType::VirtualItemMonopolyCoin => "VIRTUAL_ITEM_MONOPOLY_COIN",
            VirtualItemType::VirtualItemMonopolyCheatdice => {
                "VIRTUAL_ITEM_MONOPOLY_CHEATDICE"
            }
            VirtualItemType::VirtualItemMonopolyReroll => "VIRTUAL_ITEM_MONOPOLY_REROLL",
            VirtualItemType::VirtualItemRogueTournPermanentTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_TOURN_PERMANENT_TALENT_COIN"
            }
            VirtualItemType::VirtualItemRogueTournExp => "VIRTUAL_ITEM_ROGUE_TOURN_EXP",
            VirtualItemType::VirtualItemMatchthreeCoin => "VIRTUAL_ITEM_MATCHTHREE_COIN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "VIRTUAL_ITEM_NONE" => Some(Self::VirtualItemNone),
            "VIRTUAL_ITEM_HCOIN" => Some(Self::VirtualItemHcoin),
            "VIRTUAL_ITEM_SCOIN" => Some(Self::VirtualItemScoin),
            "VIRTUAL_ITEM_MCOIN" => Some(Self::VirtualItemMcoin),
            "VIRTUAL_ITEM_STAMINA" => Some(Self::VirtualItemStamina),
            "VIRTUAL_ITEM_RESERVE_STAMINA" => Some(Self::VirtualItemReserveStamina),
            "VIRTUAL_ITEM_AVATAR_EXP" => Some(Self::VirtualItemAvatarExp),
            "VIRTUAL_ITEM_EXP" => Some(Self::VirtualItemExp),
            "VIRTUAL_ITEM_DAILY_ACTIVE_POINT" => Some(Self::VirtualItemDailyActivePoint),
            "VIRTUAL_ITEM_MP_MAX" => Some(Self::VirtualItemMpMax),
            "VIRTUAL_ITEM_PLAYER_RETURN_POINT" => {
                Some(Self::VirtualItemPlayerReturnPoint)
            }
            "VIRTUAL_ITEM_BATTLE_COLLEGE_POINT" => {
                Some(Self::VirtualItemBattleCollegePoint)
            }
            "VIRTUAL_ITEM_ROGUE_COIN" => Some(Self::VirtualItemRogueCoin),
            "VIRTUAL_ITEM_ROGUE_TALENT_COIN" => Some(Self::VirtualItemRogueTalentCoin),
            "VIRTUAL_ITEM_ROGUE_REWARD_KEY" => Some(Self::VirtualItemRogueRewardKey),
            "VIRTUAL_ITEM_ACHIEVEMENT_EXP" => Some(Self::VirtualItemAchievementExp),
            "VIRTUAL_ITEM_BP_EXP" => Some(Self::VirtualItemBpExp),
            "VIRTUAL_ITEM_BP_REAL_EXP" => Some(Self::VirtualItemBpRealExp),
            "VIRTUAL_ITEM_MUSEUM_FUNDS" => Some(Self::VirtualItemMuseumFunds),
            "VIRTUAL_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_EXP" => Some(Self::VirtualItemRogueTournExp),
            "VIRTUAL_ITEM_MATCHTHREE_COIN" => Some(Self::VirtualItemMatchthreeCoin),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GameCounterType {
    GameplayCounterNone = 0,
    GameplayCounterMonsterSneakVision = 280001,
}
impl GameCounterType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            GameCounterType::GameplayCounterNone => "GAMEPLAY_COUNTER_NONE",
            GameCounterType::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(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 {
            BlackLimitLevel::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(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 {
            AreaType::AreaNone => "AREA_NONE",
            AreaType::AreaCn => "AREA_CN",
            AreaType::AreaJp => "AREA_JP",
            AreaType::AreaAsia => "AREA_ASIA",
            AreaType::AreaWest => "AREA_WEST",
            AreaType::AreaKr => "AREA_KR",
            AreaType::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(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 {
            EntityType::EntityNone => "ENTITY_NONE",
            EntityType::EntityAvatar => "ENTITY_AVATAR",
            EntityType::EntityMonster => "ENTITY_MONSTER",
            EntityType::EntityNpc => "ENTITY_NPC",
            EntityType::EntityProp => "ENTITY_PROP",
            EntityType::EntityTrigger => "ENTITY_TRIGGER",
            EntityType::EntityEnv => "ENTITY_ENV",
            EntityType::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(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 {
            LanguageType::LanguageNone => "LANGUAGE_NONE",
            LanguageType::LanguageSc => "LANGUAGE_SC",
            LanguageType::LanguageTc => "LANGUAGE_TC",
            LanguageType::LanguageEn => "LANGUAGE_EN",
            LanguageType::LanguageKr => "LANGUAGE_KR",
            LanguageType::LanguageJp => "LANGUAGE_JP",
            LanguageType::LanguageFr => "LANGUAGE_FR",
            LanguageType::LanguageDe => "LANGUAGE_DE",
            LanguageType::LanguageEs => "LANGUAGE_ES",
            LanguageType::LanguagePt => "LANGUAGE_PT",
            LanguageType::LanguageRu => "LANGUAGE_RU",
            LanguageType::LanguageTh => "LANGUAGE_TH",
            LanguageType::LanguageVi => "LANGUAGE_VI",
            LanguageType::LanguageId => "LANGUAGE_ID",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LANGUAGE_NONE" => Some(Self::LanguageNone),
            "LANGUAGE_SC" => Some(Self::LanguageSc),
            "LANGUAGE_TC" => Some(Self::LanguageTc),
            "LANGUAGE_EN" => Some(Self::LanguageEn),
            "LANGUAGE_KR" => Some(Self::LanguageKr),
            "LANGUAGE_JP" => Some(Self::LanguageJp),
            "LANGUAGE_FR" => Some(Self::LanguageFr),
            "LANGUAGE_DE" => Some(Self::LanguageDe),
            "LANGUAGE_ES" => Some(Self::LanguageEs),
            "LANGUAGE_PT" => Some(Self::LanguagePt),
            "LANGUAGE_RU" => Some(Self::LanguageRu),
            "LANGUAGE_TH" => Some(Self::LanguageTh),
            "LANGUAGE_VI" => Some(Self::LanguageVi),
            "LANGUAGE_ID" => Some(Self::LanguageId),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlatformType {
    Editor = 0,
    Ios = 1,
    Android = 2,
    Pc = 3,
    Web = 4,
    Wap = 5,
    Ps4 = 6,
    Nintendo = 7,
    CloudAndroid = 8,
    CloudPc = 9,
    CloudIos = 10,
    Ps5 = 11,
    Mac = 12,
    CloudMac = 13,
    CloudWebAndroid = 20,
    CloudWebIos = 21,
    CloudWebPc = 22,
    CloudWebMac = 23,
    CloudWebTouch = 24,
    CloudWebKeyboard = 25,
}
impl PlatformType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            PlatformType::Editor => "EDITOR",
            PlatformType::Ios => "IOS",
            PlatformType::Android => "ANDROID",
            PlatformType::Pc => "PC",
            PlatformType::Web => "WEB",
            PlatformType::Wap => "WAP",
            PlatformType::Ps4 => "PS4",
            PlatformType::Nintendo => "NINTENDO",
            PlatformType::CloudAndroid => "CLOUD_ANDROID",
            PlatformType::CloudPc => "CLOUD_PC",
            PlatformType::CloudIos => "CLOUD_IOS",
            PlatformType::Ps5 => "PS5",
            PlatformType::Mac => "MAC",
            PlatformType::CloudMac => "CLOUD_MAC",
            PlatformType::CloudWebAndroid => "CLOUD_WEB_ANDROID",
            PlatformType::CloudWebIos => "CLOUD_WEB_IOS",
            PlatformType::CloudWebPc => "CLOUD_WEB_PC",
            PlatformType::CloudWebMac => "CLOUD_WEB_MAC",
            PlatformType::CloudWebTouch => "CLOUD_WEB_TOUCH",
            PlatformType::CloudWebKeyboard => "CLOUD_WEB_KEYBOARD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EDITOR" => Some(Self::Editor),
            "IOS" => Some(Self::Ios),
            "ANDROID" => Some(Self::Android),
            "PC" => Some(Self::Pc),
            "WEB" => Some(Self::Web),
            "WAP" => Some(Self::Wap),
            "PS4" => Some(Self::Ps4),
            "NINTENDO" => Some(Self::Nintendo),
            "CLOUD_ANDROID" => Some(Self::CloudAndroid),
            "CLOUD_PC" => Some(Self::CloudPc),
            "CLOUD_IOS" => Some(Self::CloudIos),
            "PS5" => Some(Self::Ps5),
            "MAC" => Some(Self::Mac),
            "CLOUD_MAC" => Some(Self::CloudMac),
            "CLOUD_WEB_ANDROID" => Some(Self::CloudWebAndroid),
            "CLOUD_WEB_IOS" => Some(Self::CloudWebIos),
            "CLOUD_WEB_PC" => Some(Self::CloudWebPc),
            "CLOUD_WEB_MAC" => Some(Self::CloudWebMac),
            "CLOUD_WEB_TOUCH" => Some(Self::CloudWebTouch),
            "CLOUD_WEB_KEYBOARD" => Some(Self::CloudWebKeyboard),
            _ => None,
        }
    }
}
#[derive(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 {
            ReloginType::NoKick => "NO_KICK",
            ReloginType::ForceKick => "FORCE_KICK",
            ReloginType::IdleKick => "IDLE_KICK",
            ReloginType::Silence => "SILENCE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NO_KICK" => Some(Self::NoKick),
            "FORCE_KICK" => Some(Self::ForceKick),
            "IDLE_KICK" => Some(Self::IdleKick),
            "SILENCE" => Some(Self::Silence),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AvatarType {
    None = 0,
    AvatarTrialType = 1,
    AvatarLimitType = 2,
    AvatarFormalType = 3,
    AvatarAssistType = 4,
    AvatarAetherDivideType = 5,
    AvatarUpgradeAvailableType = 6,
}
impl AvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            AvatarType::None => "AVATAR_TYPE_NONE",
            AvatarType::AvatarTrialType => "AVATAR_TRIAL_TYPE",
            AvatarType::AvatarLimitType => "AVATAR_LIMIT_TYPE",
            AvatarType::AvatarFormalType => "AVATAR_FORMAL_TYPE",
            AvatarType::AvatarAssistType => "AVATAR_ASSIST_TYPE",
            AvatarType::AvatarAetherDivideType => "AVATAR_AETHER_DIVIDE_TYPE",
            AvatarType::AvatarUpgradeAvailableType => "AVATAR_UPGRADE_AVAILABLE_TYPE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AVATAR_TYPE_NONE" => Some(Self::None),
            "AVATAR_TRIAL_TYPE" => Some(Self::AvatarTrialType),
            "AVATAR_LIMIT_TYPE" => Some(Self::AvatarLimitType),
            "AVATAR_FORMAL_TYPE" => Some(Self::AvatarFormalType),
            "AVATAR_ASSIST_TYPE" => Some(Self::AvatarAssistType),
            "AVATAR_AETHER_DIVIDE_TYPE" => Some(Self::AvatarAetherDivideType),
            "AVATAR_UPGRADE_AVAILABLE_TYPE" => Some(Self::AvatarUpgradeAvailableType),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum HeroBasicType {
    None = 0,
    BoyWarrior = 8001,
    GirlWarrior = 8002,
    BoyKnight = 8003,
    GirlKnight = 8004,
    BoyShaman = 8005,
    GirlShaman = 8006,
    BoyMage = 8007,
    GirlMage = 8008,
    BoyRogue = 8009,
    GirlRogue = 8010,
    BoyWarlock = 8011,
    GirlWarlock = 8012,
    BoyPriest = 8013,
    GirlPriest = 8014,
}
impl HeroBasicType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            HeroBasicType::None => "None",
            HeroBasicType::BoyWarrior => "BoyWarrior",
            HeroBasicType::GirlWarrior => "GirlWarrior",
            HeroBasicType::BoyKnight => "BoyKnight",
            HeroBasicType::GirlKnight => "GirlKnight",
            HeroBasicType::BoyShaman => "BoyShaman",
            HeroBasicType::GirlShaman => "GirlShaman",
            HeroBasicType::BoyMage => "BoyMage",
            HeroBasicType::GirlMage => "GirlMage",
            HeroBasicType::BoyRogue => "BoyRogue",
            HeroBasicType::GirlRogue => "GirlRogue",
            HeroBasicType::BoyWarlock => "BoyWarlock",
            HeroBasicType::GirlWarlock => "GirlWarlock",
            HeroBasicType::BoyPriest => "BoyPriest",
            HeroBasicType::GirlPriest => "GirlPriest",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "None" => Some(Self::None),
            "BoyWarrior" => Some(Self::BoyWarrior),
            "GirlWarrior" => Some(Self::GirlWarrior),
            "BoyKnight" => Some(Self::BoyKnight),
            "GirlKnight" => Some(Self::GirlKnight),
            "BoyShaman" => Some(Self::BoyShaman),
            "GirlShaman" => Some(Self::GirlShaman),
            "BoyMage" => Some(Self::BoyMage),
            "GirlMage" => Some(Self::GirlMage),
            "BoyRogue" => Some(Self::BoyRogue),
            "GirlRogue" => Some(Self::GirlRogue),
            "BoyWarlock" => Some(Self::BoyWarlock),
            "GirlWarlock" => Some(Self::GirlWarlock),
            "BoyPriest" => Some(Self::BoyPriest),
            "GirlPriest" => Some(Self::GirlPriest),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gender {
    None = 0,
    Man = 1,
    Woman = 2,
}
impl Gender {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gender::None => "GenderNone",
            Gender::Man => "GenderMan",
            Gender::Woman => "GenderWoman",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GenderNone" => Some(Self::None),
            "GenderMan" => Some(Self::Man),
            "GenderWoman" => Some(Self::Woman),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProductType {
    ProductNone = 0,
    ProductNormal = 1,
    ProductLimit = 2,
    ProductLimitNoPay = 3,
    ProductNoProcessOrder = 4,
}
impl ProductType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ProductType::ProductNone => "PRODUCT_NONE",
            ProductType::ProductNormal => "PRODUCT_NORMAL",
            ProductType::ProductLimit => "PRODUCT_LIMIT",
            ProductType::ProductLimitNoPay => "PRODUCT_LIMIT_NO_PAY",
            ProductType::ProductNoProcessOrder => "PRODUCT_NO_PROCESS_ORDER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PRODUCT_NONE" => Some(Self::ProductNone),
            "PRODUCT_NORMAL" => Some(Self::ProductNormal),
            "PRODUCT_LIMIT" => Some(Self::ProductLimit),
            "PRODUCT_LIMIT_NO_PAY" => Some(Self::ProductLimitNoPay),
            "PRODUCT_NO_PROCESS_ORDER" => Some(Self::ProductNoProcessOrder),
            _ => None,
        }
    }
}
#[derive(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,
}
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 {
            ProductGiftType::ProductGiftNone => "PRODUCT_GIFT_NONE",
            ProductGiftType::ProductGiftCoin => "PRODUCT_GIFT_COIN",
            ProductGiftType::ProductGiftMonthCard => "PRODUCT_GIFT_MONTH_CARD",
            ProductGiftType::ProductGiftBp68 => "PRODUCT_GIFT_BP_68",
            ProductGiftType::ProductGiftBp128 => "PRODUCT_GIFT_BP_128",
            ProductGiftType::ProductGiftBp68Upgrade128 => "PRODUCT_GIFT_BP68_UPGRADE_128",
            ProductGiftType::ProductGiftPointCard => "PRODUCT_GIFT_POINT_CARD",
            ProductGiftType::ProductGiftPsPreOrder1 => "PRODUCT_GIFT_PS_PRE_ORDER_1",
            ProductGiftType::ProductGiftPsPreOrder2 => "PRODUCT_GIFT_PS_PRE_ORDER_2",
            ProductGiftType::ProductGiftGooglePoints100 => {
                "PRODUCT_GIFT_GOOGLE_POINTS_100"
            }
            ProductGiftType::ProductGiftGooglePoints150 => {
                "PRODUCT_GIFT_GOOGLE_POINTS_150"
            }
            ProductGiftType::ProductGiftPsPointCard030 => {
                "PRODUCT_GIFT_PS_POINT_CARD_030"
            }
            ProductGiftType::ProductGiftPsPointCard050 => {
                "PRODUCT_GIFT_PS_POINT_CARD_050"
            }
            ProductGiftType::ProductGiftPsPointCard100 => {
                "PRODUCT_GIFT_PS_POINT_CARD_100"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PRODUCT_GIFT_NONE" => Some(Self::ProductGiftNone),
            "PRODUCT_GIFT_COIN" => Some(Self::ProductGiftCoin),
            "PRODUCT_GIFT_MONTH_CARD" => Some(Self::ProductGiftMonthCard),
            "PRODUCT_GIFT_BP_68" => Some(Self::ProductGiftBp68),
            "PRODUCT_GIFT_BP_128" => Some(Self::ProductGiftBp128),
            "PRODUCT_GIFT_BP68_UPGRADE_128" => Some(Self::ProductGiftBp68Upgrade128),
            "PRODUCT_GIFT_POINT_CARD" => Some(Self::ProductGiftPointCard),
            "PRODUCT_GIFT_PS_PRE_ORDER_1" => Some(Self::ProductGiftPsPreOrder1),
            "PRODUCT_GIFT_PS_PRE_ORDER_2" => Some(Self::ProductGiftPsPreOrder2),
            "PRODUCT_GIFT_GOOGLE_POINTS_100" => Some(Self::ProductGiftGooglePoints100),
            "PRODUCT_GIFT_GOOGLE_POINTS_150" => Some(Self::ProductGiftGooglePoints150),
            "PRODUCT_GIFT_PS_POINT_CARD_030" => Some(Self::ProductGiftPsPointCard030),
            "PRODUCT_GIFT_PS_POINT_CARD_050" => Some(Self::ProductGiftPsPointCard050),
            "PRODUCT_GIFT_PS_POINT_CARD_100" => Some(Self::ProductGiftPsPointCard100),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FeatureSwitchType {
    FeatureSwitchNone = 0,
    FeatureSwitchShop = 1,
    FeatureSwitchLineupName = 2,
    FeatureSwitchRechargeShop = 3,
    FeatureSwitchNickname = 4,
    FeatureSwitchSignature = 5,
    FeatureSwitchBattlepass = 6,
    FeatureSwitchPunkLord = 7,
    FeatureSwitchMonthcardDaily = 8,
    FeatureSwitchPictureShare = 9,
    FeatureSwitchRogue = 10,
    FeatureSwitchChallenge = 11,
    FeatureSwitchCocoon = 12,
    FeatureSwitchRaid = 13,
    FeatureSwitchMazePlaneEvent = 14,
    FeatureSwitchActivityPanel = 15,
    FeatureSwitchMailbox = 16,
    FeatureSwitchQuest = 17,
    FeatureSwitchGacha = 18,
    FeatureSwitchChat = 19,
    FeatureSwitchModifyFriendAlias = 20,
    FeatureSwitchUseItem = 21,
    FeatureSwitchActivitySchedule = 22,
    FeatureSwitchFarmElement = 23,
    FeatureSwitchAchievementLevel = 24,
    FeatureSwitchDailyActiveLevel = 25,
    FeatureSwitchPlayerReturn = 26,
    FeatureSwitchFirstSetNickname = 27,
    FeatureSwitchMainMissionReward = 28,
    FeatureSwitchSubMissionReward = 29,
    FeatureSwitchPamMission = 30,
    FeatureSwitchDailyMission = 31,
    FeatureSwitchDestroyItem = 32,
    FeatureSwitchConsumeItemTurn = 33,
    FeatureSwitchRogueModifier = 34,
    FeatureSwitchChessRogue = 35,
    FeatureSwitchChessRogueBoard = 36,
    FeatureSwitchRollShop = 37,
    FeatureSwitchH5Return = 38,
    FeatureSwitchOffering = 39,
    FeatureSwitchServerRedPoint = 40,
    FeatureSwitchMonopolyOptionRatio = 41,
    FeatureSwitchMonopolyGetRaffleTicket = 42,
    FeatureSwitchMonopolyTakeRaffleReward = 43,
    FeatureSwitchChallengeRecommendLineup = 44,
    FeatureSwitchPsnMemberShipCheck = 45,
    FeatureSwitchPlayerBoardDevelopment = 46,
    FeatureSwitchPvp = 47,
}
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 {
            FeatureSwitchType::FeatureSwitchNone => "FEATURE_SWITCH_NONE",
            FeatureSwitchType::FeatureSwitchShop => "FEATURE_SWITCH_SHOP",
            FeatureSwitchType::FeatureSwitchLineupName => "FEATURE_SWITCH_LINEUP_NAME",
            FeatureSwitchType::FeatureSwitchRechargeShop => {
                "FEATURE_SWITCH_RECHARGE_SHOP"
            }
            FeatureSwitchType::FeatureSwitchNickname => "FEATURE_SWITCH_NICKNAME",
            FeatureSwitchType::FeatureSwitchSignature => "FEATURE_SWITCH_SIGNATURE",
            FeatureSwitchType::FeatureSwitchBattlepass => "FEATURE_SWITCH_BATTLEPASS",
            FeatureSwitchType::FeatureSwitchPunkLord => "FEATURE_SWITCH_PUNK_LORD",
            FeatureSwitchType::FeatureSwitchMonthcardDaily => {
                "FEATURE_SWITCH_MONTHCARD_DAILY"
            }
            FeatureSwitchType::FeatureSwitchPictureShare => {
                "FEATURE_SWITCH_PICTURE_SHARE"
            }
            FeatureSwitchType::FeatureSwitchRogue => "FEATURE_SWITCH_ROGUE",
            FeatureSwitchType::FeatureSwitchChallenge => "FEATURE_SWITCH_CHALLENGE",
            FeatureSwitchType::FeatureSwitchCocoon => "FEATURE_SWITCH_COCOON",
            FeatureSwitchType::FeatureSwitchRaid => "FEATURE_SWITCH_RAID",
            FeatureSwitchType::FeatureSwitchMazePlaneEvent => {
                "FEATURE_SWITCH_MAZE_PLANE_EVENT"
            }
            FeatureSwitchType::FeatureSwitchActivityPanel => {
                "FEATURE_SWITCH_ACTIVITY_PANEL"
            }
            FeatureSwitchType::FeatureSwitchMailbox => "FEATURE_SWITCH_MAILBOX",
            FeatureSwitchType::FeatureSwitchQuest => "FEATURE_SWITCH_QUEST",
            FeatureSwitchType::FeatureSwitchGacha => "FEATURE_SWITCH_GACHA",
            FeatureSwitchType::FeatureSwitchChat => "FEATURE_SWITCH_CHAT",
            FeatureSwitchType::FeatureSwitchModifyFriendAlias => {
                "FEATURE_SWITCH_MODIFY_FRIEND_ALIAS"
            }
            FeatureSwitchType::FeatureSwitchUseItem => "FEATURE_SWITCH_USE_ITEM",
            FeatureSwitchType::FeatureSwitchActivitySchedule => {
                "FEATURE_SWITCH_ACTIVITY_SCHEDULE"
            }
            FeatureSwitchType::FeatureSwitchFarmElement => "FEATURE_SWITCH_FARM_ELEMENT",
            FeatureSwitchType::FeatureSwitchAchievementLevel => {
                "FEATURE_SWITCH_ACHIEVEMENT_LEVEL"
            }
            FeatureSwitchType::FeatureSwitchDailyActiveLevel => {
                "FEATURE_SWITCH_DAILY_ACTIVE_LEVEL"
            }
            FeatureSwitchType::FeatureSwitchPlayerReturn => {
                "FEATURE_SWITCH_PLAYER_RETURN"
            }
            FeatureSwitchType::FeatureSwitchFirstSetNickname => {
                "FEATURE_SWITCH_FIRST_SET_NICKNAME"
            }
            FeatureSwitchType::FeatureSwitchMainMissionReward => {
                "FEATURE_SWITCH_MAIN_MISSION_REWARD"
            }
            FeatureSwitchType::FeatureSwitchSubMissionReward => {
                "FEATURE_SWITCH_SUB_MISSION_REWARD"
            }
            FeatureSwitchType::FeatureSwitchPamMission => "FEATURE_SWITCH_PAM_MISSION",
            FeatureSwitchType::FeatureSwitchDailyMission => {
                "FEATURE_SWITCH_DAILY_MISSION"
            }
            FeatureSwitchType::FeatureSwitchDestroyItem => "FEATURE_SWITCH_DESTROY_ITEM",
            FeatureSwitchType::FeatureSwitchConsumeItemTurn => {
                "FEATURE_SWITCH_CONSUME_ITEM_TURN"
            }
            FeatureSwitchType::FeatureSwitchRogueModifier => {
                "FEATURE_SWITCH_ROGUE_MODIFIER"
            }
            FeatureSwitchType::FeatureSwitchChessRogue => "FEATURE_SWITCH_CHESS_ROGUE",
            FeatureSwitchType::FeatureSwitchChessRogueBoard => {
                "FEATURE_SWITCH_CHESS_ROGUE_BOARD"
            }
            FeatureSwitchType::FeatureSwitchRollShop => "FEATURE_SWITCH_ROLL_SHOP",
            FeatureSwitchType::FeatureSwitchH5Return => "FEATURE_SWITCH_H5_RETURN",
            FeatureSwitchType::FeatureSwitchOffering => "FEATURE_SWITCH_OFFERING",
            FeatureSwitchType::FeatureSwitchServerRedPoint => {
                "FEATURE_SWITCH_SERVER_RED_POINT"
            }
            FeatureSwitchType::FeatureSwitchMonopolyOptionRatio => {
                "FEATURE_SWITCH_MONOPOLY_OPTION_RATIO"
            }
            FeatureSwitchType::FeatureSwitchMonopolyGetRaffleTicket => {
                "FEATURE_SWITCH_MONOPOLY_GET_RAFFLE_TICKET"
            }
            FeatureSwitchType::FeatureSwitchMonopolyTakeRaffleReward => {
                "FEATURE_SWITCH_MONOPOLY_TAKE_RAFFLE_REWARD"
            }
            FeatureSwitchType::FeatureSwitchChallengeRecommendLineup => {
                "FEATURE_SWITCH_CHALLENGE_RECOMMEND_LINEUP"
            }
            FeatureSwitchType::FeatureSwitchPsnMemberShipCheck => {
                "FEATURE_SWITCH_PSN_MEMBER_SHIP_CHECK"
            }
            FeatureSwitchType::FeatureSwitchPlayerBoardDevelopment => {
                "FEATURE_SWITCH_PLAYER_BOARD_DEVELOPMENT"
            }
            FeatureSwitchType::FeatureSwitchPvp => "FEATURE_SWITCH_PVP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEATURE_SWITCH_NONE" => Some(Self::FeatureSwitchNone),
            "FEATURE_SWITCH_SHOP" => Some(Self::FeatureSwitchShop),
            "FEATURE_SWITCH_LINEUP_NAME" => Some(Self::FeatureSwitchLineupName),
            "FEATURE_SWITCH_RECHARGE_SHOP" => Some(Self::FeatureSwitchRechargeShop),
            "FEATURE_SWITCH_NICKNAME" => Some(Self::FeatureSwitchNickname),
            "FEATURE_SWITCH_SIGNATURE" => Some(Self::FeatureSwitchSignature),
            "FEATURE_SWITCH_BATTLEPASS" => Some(Self::FeatureSwitchBattlepass),
            "FEATURE_SWITCH_PUNK_LORD" => Some(Self::FeatureSwitchPunkLord),
            "FEATURE_SWITCH_MONTHCARD_DAILY" => Some(Self::FeatureSwitchMonthcardDaily),
            "FEATURE_SWITCH_PICTURE_SHARE" => Some(Self::FeatureSwitchPictureShare),
            "FEATURE_SWITCH_ROGUE" => Some(Self::FeatureSwitchRogue),
            "FEATURE_SWITCH_CHALLENGE" => Some(Self::FeatureSwitchChallenge),
            "FEATURE_SWITCH_COCOON" => Some(Self::FeatureSwitchCocoon),
            "FEATURE_SWITCH_RAID" => Some(Self::FeatureSwitchRaid),
            "FEATURE_SWITCH_MAZE_PLANE_EVENT" => Some(Self::FeatureSwitchMazePlaneEvent),
            "FEATURE_SWITCH_ACTIVITY_PANEL" => Some(Self::FeatureSwitchActivityPanel),
            "FEATURE_SWITCH_MAILBOX" => Some(Self::FeatureSwitchMailbox),
            "FEATURE_SWITCH_QUEST" => Some(Self::FeatureSwitchQuest),
            "FEATURE_SWITCH_GACHA" => Some(Self::FeatureSwitchGacha),
            "FEATURE_SWITCH_CHAT" => Some(Self::FeatureSwitchChat),
            "FEATURE_SWITCH_MODIFY_FRIEND_ALIAS" => {
                Some(Self::FeatureSwitchModifyFriendAlias)
            }
            "FEATURE_SWITCH_USE_ITEM" => Some(Self::FeatureSwitchUseItem),
            "FEATURE_SWITCH_ACTIVITY_SCHEDULE" => {
                Some(Self::FeatureSwitchActivitySchedule)
            }
            "FEATURE_SWITCH_FARM_ELEMENT" => Some(Self::FeatureSwitchFarmElement),
            "FEATURE_SWITCH_ACHIEVEMENT_LEVEL" => {
                Some(Self::FeatureSwitchAchievementLevel)
            }
            "FEATURE_SWITCH_DAILY_ACTIVE_LEVEL" => {
                Some(Self::FeatureSwitchDailyActiveLevel)
            }
            "FEATURE_SWITCH_PLAYER_RETURN" => Some(Self::FeatureSwitchPlayerReturn),
            "FEATURE_SWITCH_FIRST_SET_NICKNAME" => {
                Some(Self::FeatureSwitchFirstSetNickname)
            }
            "FEATURE_SWITCH_MAIN_MISSION_REWARD" => {
                Some(Self::FeatureSwitchMainMissionReward)
            }
            "FEATURE_SWITCH_SUB_MISSION_REWARD" => {
                Some(Self::FeatureSwitchSubMissionReward)
            }
            "FEATURE_SWITCH_PAM_MISSION" => Some(Self::FeatureSwitchPamMission),
            "FEATURE_SWITCH_DAILY_MISSION" => Some(Self::FeatureSwitchDailyMission),
            "FEATURE_SWITCH_DESTROY_ITEM" => Some(Self::FeatureSwitchDestroyItem),
            "FEATURE_SWITCH_CONSUME_ITEM_TURN" => {
                Some(Self::FeatureSwitchConsumeItemTurn)
            }
            "FEATURE_SWITCH_ROGUE_MODIFIER" => Some(Self::FeatureSwitchRogueModifier),
            "FEATURE_SWITCH_CHESS_ROGUE" => Some(Self::FeatureSwitchChessRogue),
            "FEATURE_SWITCH_CHESS_ROGUE_BOARD" => {
                Some(Self::FeatureSwitchChessRogueBoard)
            }
            "FEATURE_SWITCH_ROLL_SHOP" => Some(Self::FeatureSwitchRollShop),
            "FEATURE_SWITCH_H5_RETURN" => Some(Self::FeatureSwitchH5Return),
            "FEATURE_SWITCH_OFFERING" => Some(Self::FeatureSwitchOffering),
            "FEATURE_SWITCH_SERVER_RED_POINT" => Some(Self::FeatureSwitchServerRedPoint),
            "FEATURE_SWITCH_MONOPOLY_OPTION_RATIO" => {
                Some(Self::FeatureSwitchMonopolyOptionRatio)
            }
            "FEATURE_SWITCH_MONOPOLY_GET_RAFFLE_TICKET" => {
                Some(Self::FeatureSwitchMonopolyGetRaffleTicket)
            }
            "FEATURE_SWITCH_MONOPOLY_TAKE_RAFFLE_REWARD" => {
                Some(Self::FeatureSwitchMonopolyTakeRaffleReward)
            }
            "FEATURE_SWITCH_CHALLENGE_RECOMMEND_LINEUP" => {
                Some(Self::FeatureSwitchChallengeRecommendLineup)
            }
            "FEATURE_SWITCH_PSN_MEMBER_SHIP_CHECK" => {
                Some(Self::FeatureSwitchPsnMemberShipCheck)
            }
            "FEATURE_SWITCH_PLAYER_BOARD_DEVELOPMENT" => {
                Some(Self::FeatureSwitchPlayerBoardDevelopment)
            }
            "FEATURE_SWITCH_PVP" => Some(Self::FeatureSwitchPvp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecretKeyType {
    SecretKeyNone = 0,
    SecretKeyServerCheck = 1,
    SecretKeyVideo = 2,
    SecretKeyBattleTime = 3,
}
impl SecretKeyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            SecretKeyType::SecretKeyNone => "SECRET_KEY_NONE",
            SecretKeyType::SecretKeyServerCheck => "SECRET_KEY_SERVER_CHECK",
            SecretKeyType::SecretKeyVideo => "SECRET_KEY_VIDEO",
            SecretKeyType::SecretKeyBattleTime => "SECRET_KEY_BATTLE_TIME",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SECRET_KEY_NONE" => Some(Self::SecretKeyNone),
            "SECRET_KEY_SERVER_CHECK" => Some(Self::SecretKeyServerCheck),
            "SECRET_KEY_VIDEO" => Some(Self::SecretKeyVideo),
            "SECRET_KEY_BATTLE_TIME" => Some(Self::SecretKeyBattleTime),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ReplayType {
    None = 0,
    PunkLord = 1,
}
impl ReplayType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ReplayType::None => "REPLAY_TYPE_NONE",
            ReplayType::PunkLord => "REPLAY_TYPE_PUNK_LORD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "REPLAY_TYPE_NONE" => Some(Self::None),
            "REPLAY_TYPE_PUNK_LORD" => Some(Self::PunkLord),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordShareType {
    None = 0,
    Friend = 1,
    All = 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 {
            PunkLordShareType::None => "PUNK_LORD_SHARE_TYPE_NONE",
            PunkLordShareType::Friend => "PUNK_LORD_SHARE_TYPE_FRIEND",
            PunkLordShareType::All => "PUNK_LORD_SHARE_TYPE_ALL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_SHARE_TYPE_NONE" => Some(Self::None),
            "PUNK_LORD_SHARE_TYPE_FRIEND" => Some(Self::Friend),
            "PUNK_LORD_SHARE_TYPE_ALL" => Some(Self::All),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordAttackerStatus {
    None = 0,
    Attacked = 1,
    Attacking = 2,
    AttackedAndAttacking = 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 {
            PunkLordAttackerStatus::None => "PUNK_LORD_ATTACKER_STATUS_NONE",
            PunkLordAttackerStatus::Attacked => "PUNK_LORD_ATTACKER_STATUS_ATTACKED",
            PunkLordAttackerStatus::Attacking => "PUNK_LORD_ATTACKER_STATUS_ATTACKING",
            PunkLordAttackerStatus::AttackedAndAttacking => {
                "PUNK_LORD_ATTACKER_STATUS_ATTACKED_AND_ATTACKING"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_ATTACKER_STATUS_NONE" => Some(Self::None),
            "PUNK_LORD_ATTACKER_STATUS_ATTACKED" => Some(Self::Attacked),
            "PUNK_LORD_ATTACKER_STATUS_ATTACKING" => Some(Self::Attacking),
            "PUNK_LORD_ATTACKER_STATUS_ATTACKED_AND_ATTACKING" => {
                Some(Self::AttackedAndAttacking)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordMonsterInfoNotifyReason {
    None = 0,
    EnterRaid = 1,
    BattleEnd = 2,
    LeaveRaid = 3,
}
impl PunkLordMonsterInfoNotifyReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            PunkLordMonsterInfoNotifyReason::None => {
                "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_NONE"
            }
            PunkLordMonsterInfoNotifyReason::EnterRaid => {
                "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_ENTER_RAID"
            }
            PunkLordMonsterInfoNotifyReason::BattleEnd => {
                "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_BATTLE_END"
            }
            PunkLordMonsterInfoNotifyReason::LeaveRaid => {
                "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_LEAVE_RAID"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_NONE" => Some(Self::None),
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_ENTER_RAID" => Some(Self::EnterRaid),
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_BATTLE_END" => Some(Self::BattleEnd),
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_LEAVE_RAID" => Some(Self::LeaveRaid),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChatType {
    None = 0,
    Private = 1,
    Group = 2,
}
impl ChatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ChatType::None => "CHAT_TYPE_NONE",
            ChatType::Private => "CHAT_TYPE_PRIVATE",
            ChatType::Group => "CHAT_TYPE_GROUP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHAT_TYPE_NONE" => Some(Self::None),
            "CHAT_TYPE_PRIVATE" => Some(Self::Private),
            "CHAT_TYPE_GROUP" => Some(Self::Group),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MsgType {
    None = 0,
    CustomText = 1,
    Emoji = 2,
    Invite = 3,
}
impl MsgType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MsgType::None => "MSG_TYPE_NONE",
            MsgType::CustomText => "MSG_TYPE_CUSTOM_TEXT",
            MsgType::Emoji => "MSG_TYPE_EMOJI",
            MsgType::Invite => "MSG_TYPE_INVITE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MSG_TYPE_NONE" => Some(Self::None),
            "MSG_TYPE_CUSTOM_TEXT" => Some(Self::CustomText),
            "MSG_TYPE_EMOJI" => Some(Self::Emoji),
            "MSG_TYPE_INVITE" => Some(Self::Invite),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ShieldType {
    None = 0,
    Replace = 1,
    Shied = 2,
}
impl ShieldType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ShieldType::None => "SHIELD_TYPE_NONE",
            ShieldType::Replace => "SHIELD_TYPE_REPLACE",
            ShieldType::Shied => "SHIELD_TYPE_SHIED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SHIELD_TYPE_NONE" => Some(Self::None),
            "SHIELD_TYPE_REPLACE" => Some(Self::Replace),
            "SHIELD_TYPE_SHIED" => Some(Self::Shied),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FuncUnlockId {
    None = 0,
    Relic = 403,
    RelicNum = 404,
    Equipment = 401,
    Skilltree = 402,
    Gacha = 2300,
    Expedition = 3100,
    Compose = 4100,
    Fightactivity = 3700,
}
impl FuncUnlockId {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            FuncUnlockId::None => "FUNC_UNLOCK_ID_NONE",
            FuncUnlockId::Relic => "FUNC_UNLOCK_ID_RELIC",
            FuncUnlockId::RelicNum => "FUNC_UNLOCK_ID_RELIC_NUM",
            FuncUnlockId::Equipment => "FUNC_UNLOCK_ID_EQUIPMENT",
            FuncUnlockId::Skilltree => "FUNC_UNLOCK_ID_SKILLTREE",
            FuncUnlockId::Gacha => "FUNC_UNLOCK_ID_GACHA",
            FuncUnlockId::Expedition => "FUNC_UNLOCK_ID_EXPEDITION",
            FuncUnlockId::Compose => "FUNC_UNLOCK_ID_COMPOSE",
            FuncUnlockId::Fightactivity => "FUNC_UNLOCK_ID_FIGHTACTIVITY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FUNC_UNLOCK_ID_NONE" => Some(Self::None),
            "FUNC_UNLOCK_ID_RELIC" => Some(Self::Relic),
            "FUNC_UNLOCK_ID_RELIC_NUM" => Some(Self::RelicNum),
            "FUNC_UNLOCK_ID_EQUIPMENT" => Some(Self::Equipment),
            "FUNC_UNLOCK_ID_SKILLTREE" => Some(Self::Skilltree),
            "FUNC_UNLOCK_ID_GACHA" => Some(Self::Gacha),
            "FUNC_UNLOCK_ID_EXPEDITION" => Some(Self::Expedition),
            "FUNC_UNLOCK_ID_COMPOSE" => Some(Self::Compose),
            "FUNC_UNLOCK_ID_FIGHTACTIVITY" => Some(Self::Fightactivity),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AssistAvatarType {
    AssistAvatarUnknow = 0,
    AssistAvatarLevel = 1,
    AssistAvatarRank = 2,
}
impl AssistAvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            AssistAvatarType::AssistAvatarUnknow => "ASSIST_AVATAR_UNKNOW",
            AssistAvatarType::AssistAvatarLevel => "ASSIST_AVATAR_LEVEL",
            AssistAvatarType::AssistAvatarRank => "ASSIST_AVATAR_RANK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ASSIST_AVATAR_UNKNOW" => Some(Self::AssistAvatarUnknow),
            "ASSIST_AVATAR_LEVEL" => Some(Self::AssistAvatarLevel),
            "ASSIST_AVATAR_RANK" => Some(Self::AssistAvatarRank),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DevelopmentType {
    DevelopmentNone = 0,
    DevelopmentRogueCosmos = 1,
    DevelopmentRogueChess = 2,
    DevelopmentRogueChessNous = 3,
    DevelopmentMemoryChallenge = 4,
    DevelopmentStoryChallenge = 5,
    DevelopmentUnlockAvatar = 6,
    DevelopmentUnlockEquipment = 7,
    DevelopmentActivityStart = 8,
    DevelopmentActivityEnd = 9,
    DevelopmentBossChallenge = 10,
    DevelopmentRogueTourn = 11,
    DevelopmentRogueTournWeek = 12,
}
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 {
            DevelopmentType::DevelopmentNone => "DEVELOPMENT_NONE",
            DevelopmentType::DevelopmentRogueCosmos => "DEVELOPMENT_ROGUE_COSMOS",
            DevelopmentType::DevelopmentRogueChess => "DEVELOPMENT_ROGUE_CHESS",
            DevelopmentType::DevelopmentRogueChessNous => "DEVELOPMENT_ROGUE_CHESS_NOUS",
            DevelopmentType::DevelopmentMemoryChallenge => "DEVELOPMENT_MEMORY_CHALLENGE",
            DevelopmentType::DevelopmentStoryChallenge => "DEVELOPMENT_STORY_CHALLENGE",
            DevelopmentType::DevelopmentUnlockAvatar => "DEVELOPMENT_UNLOCK_AVATAR",
            DevelopmentType::DevelopmentUnlockEquipment => "DEVELOPMENT_UNLOCK_EQUIPMENT",
            DevelopmentType::DevelopmentActivityStart => "DEVELOPMENT_ACTIVITY_START",
            DevelopmentType::DevelopmentActivityEnd => "DEVELOPMENT_ACTIVITY_END",
            DevelopmentType::DevelopmentBossChallenge => "DEVELOPMENT_BOSS_CHALLENGE",
            DevelopmentType::DevelopmentRogueTourn => "DEVELOPMENT_ROGUE_TOURN",
            DevelopmentType::DevelopmentRogueTournWeek => "DEVELOPMENT_ROGUE_TOURN_WEEK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DEVELOPMENT_NONE" => Some(Self::DevelopmentNone),
            "DEVELOPMENT_ROGUE_COSMOS" => Some(Self::DevelopmentRogueCosmos),
            "DEVELOPMENT_ROGUE_CHESS" => Some(Self::DevelopmentRogueChess),
            "DEVELOPMENT_ROGUE_CHESS_NOUS" => Some(Self::DevelopmentRogueChessNous),
            "DEVELOPMENT_MEMORY_CHALLENGE" => Some(Self::DevelopmentMemoryChallenge),
            "DEVELOPMENT_STORY_CHALLENGE" => Some(Self::DevelopmentStoryChallenge),
            "DEVELOPMENT_UNLOCK_AVATAR" => Some(Self::DevelopmentUnlockAvatar),
            "DEVELOPMENT_UNLOCK_EQUIPMENT" => Some(Self::DevelopmentUnlockEquipment),
            "DEVELOPMENT_ACTIVITY_START" => Some(Self::DevelopmentActivityStart),
            "DEVELOPMENT_ACTIVITY_END" => Some(Self::DevelopmentActivityEnd),
            "DEVELOPMENT_BOSS_CHALLENGE" => Some(Self::DevelopmentBossChallenge),
            "DEVELOPMENT_ROGUE_TOURN" => Some(Self::DevelopmentRogueTourn),
            "DEVELOPMENT_ROGUE_TOURN_WEEK" => Some(Self::DevelopmentRogueTournWeek),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlayingState {
    None = 0,
    PlayingRogueCosmos = 1,
    PlayingRogueChess = 2,
    PlayingRogueChessNous = 3,
    PlayingChallengeMemory = 4,
    PlayingChallengeStory = 5,
    PlayingChallengeBoss = 6,
    PlayingRogueTourn = 7,
}
impl PlayingState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            PlayingState::None => "PLAYING_STATE_NONE",
            PlayingState::PlayingRogueCosmos => "PLAYING_ROGUE_COSMOS",
            PlayingState::PlayingRogueChess => "PLAYING_ROGUE_CHESS",
            PlayingState::PlayingRogueChessNous => "PLAYING_ROGUE_CHESS_NOUS",
            PlayingState::PlayingChallengeMemory => "PLAYING_CHALLENGE_MEMORY",
            PlayingState::PlayingChallengeStory => "PLAYING_CHALLENGE_STORY",
            PlayingState::PlayingChallengeBoss => "PLAYING_CHALLENGE_BOSS",
            PlayingState::PlayingRogueTourn => "PLAYING_ROGUE_TOURN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLAYING_STATE_NONE" => Some(Self::None),
            "PLAYING_ROGUE_COSMOS" => Some(Self::PlayingRogueCosmos),
            "PLAYING_ROGUE_CHESS" => Some(Self::PlayingRogueChess),
            "PLAYING_ROGUE_CHESS_NOUS" => Some(Self::PlayingRogueChessNous),
            "PLAYING_CHALLENGE_MEMORY" => Some(Self::PlayingChallengeMemory),
            "PLAYING_CHALLENGE_STORY" => Some(Self::PlayingChallengeStory),
            "PLAYING_CHALLENGE_BOSS" => Some(Self::PlayingChallengeBoss),
            "PLAYING_ROGUE_TOURN" => Some(Self::PlayingRogueTourn),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MatchRoomCharacter {
    None = 0,
    Leader = 1,
    Member = 2,
    Watcher = 3,
}
impl MatchRoomCharacter {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MatchRoomCharacter::None => "MatchRoomCharacter_None",
            MatchRoomCharacter::Leader => "MatchRoomCharacter_Leader",
            MatchRoomCharacter::Member => "MatchRoomCharacter_Member",
            MatchRoomCharacter::Watcher => "MatchRoomCharacter_Watcher",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchRoomCharacter_None" => Some(Self::None),
            "MatchRoomCharacter_Leader" => Some(Self::Leader),
            "MatchRoomCharacter_Member" => Some(Self::Member),
            "MatchRoomCharacter_Watcher" => Some(Self::Watcher),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MatchRoomCharacterStatus {
    None = 0,
    Idle = 1,
    Operating = 2,
    Ready = 3,
    Fighting = 4,
    Watching = 5,
}
impl MatchRoomCharacterStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MatchRoomCharacterStatus::None => "MatchRoomCharacterStatus_None",
            MatchRoomCharacterStatus::Idle => "MatchRoomCharacterStatus_Idle",
            MatchRoomCharacterStatus::Operating => "MatchRoomCharacterStatus_Operating",
            MatchRoomCharacterStatus::Ready => "MatchRoomCharacterStatus_Ready",
            MatchRoomCharacterStatus::Fighting => "MatchRoomCharacterStatus_Fighting",
            MatchRoomCharacterStatus::Watching => "MatchRoomCharacterStatus_Watching",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchRoomCharacterStatus_None" => Some(Self::None),
            "MatchRoomCharacterStatus_Idle" => Some(Self::Idle),
            "MatchRoomCharacterStatus_Operating" => Some(Self::Operating),
            "MatchRoomCharacterStatus_Ready" => Some(Self::Ready),
            "MatchRoomCharacterStatus_Fighting" => Some(Self::Fighting),
            "MatchRoomCharacterStatus_Watching" => Some(Self::Watching),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleCheckStrategyType {
    BattleCheckStrategyIdentical = 0,
    BattleCheckStrategyServer = 1,
    BattleCheckStrategyClient = 2,
}
impl BattleCheckStrategyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BattleCheckStrategyType::BattleCheckStrategyIdentical => {
                "BATTLE_CHECK_STRATEGY_IDENTICAL"
            }
            BattleCheckStrategyType::BattleCheckStrategyServer => {
                "BATTLE_CHECK_STRATEGY_SERVER"
            }
            BattleCheckStrategyType::BattleCheckStrategyClient => {
                "BATTLE_CHECK_STRATEGY_CLIENT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_CHECK_STRATEGY_IDENTICAL" => Some(Self::BattleCheckStrategyIdentical),
            "BATTLE_CHECK_STRATEGY_SERVER" => Some(Self::BattleCheckStrategyServer),
            "BATTLE_CHECK_STRATEGY_CLIENT" => Some(Self::BattleCheckStrategyClient),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleCheckResultType {
    BattleCheckResultSucc = 0,
    BattleCheckResultFail = 1,
    BattleCheckResultPass = 2,
}
impl BattleCheckResultType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BattleCheckResultType::BattleCheckResultSucc => "BATTLE_CHECK_RESULT_SUCC",
            BattleCheckResultType::BattleCheckResultFail => "BATTLE_CHECK_RESULT_FAIL",
            BattleCheckResultType::BattleCheckResultPass => "BATTLE_CHECK_RESULT_PASS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_CHECK_RESULT_SUCC" => Some(Self::BattleCheckResultSucc),
            "BATTLE_CHECK_RESULT_FAIL" => Some(Self::BattleCheckResultFail),
            "BATTLE_CHECK_RESULT_PASS" => Some(Self::BattleCheckResultPass),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleModuleType {
    BattleModuleMaze = 0,
    BattleModuleChallenge = 1,
    BattleModuleCocoon = 2,
    BattleModuleRogue = 3,
    BattleModuleChallengeActivity = 4,
    BattleModuleTrialLevel = 5,
    BattleModuleAetherDivide = 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 {
            BattleModuleType::BattleModuleMaze => "BATTLE_MODULE_MAZE",
            BattleModuleType::BattleModuleChallenge => "BATTLE_MODULE_CHALLENGE",
            BattleModuleType::BattleModuleCocoon => "BATTLE_MODULE_COCOON",
            BattleModuleType::BattleModuleRogue => "BATTLE_MODULE_ROGUE",
            BattleModuleType::BattleModuleChallengeActivity => {
                "BATTLE_MODULE_CHALLENGE_ACTIVITY"
            }
            BattleModuleType::BattleModuleTrialLevel => "BATTLE_MODULE_TRIAL_LEVEL",
            BattleModuleType::BattleModuleAetherDivide => "BATTLE_MODULE_AETHER_DIVIDE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_MODULE_MAZE" => Some(Self::BattleModuleMaze),
            "BATTLE_MODULE_CHALLENGE" => Some(Self::BattleModuleChallenge),
            "BATTLE_MODULE_COCOON" => Some(Self::BattleModuleCocoon),
            "BATTLE_MODULE_ROGUE" => Some(Self::BattleModuleRogue),
            "BATTLE_MODULE_CHALLENGE_ACTIVITY" => {
                Some(Self::BattleModuleChallengeActivity)
            }
            "BATTLE_MODULE_TRIAL_LEVEL" => Some(Self::BattleModuleTrialLevel),
            "BATTLE_MODULE_AETHER_DIVIDE" => Some(Self::BattleModuleAetherDivide),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AetherdivideSpiritLineupType {
    AetherdivideSpiritLineupNone = 0,
    AetherdivideSpiritLineupNormal = 1,
    AetherdivideSpiritLineupTrial = 2,
}
impl AetherdivideSpiritLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            AetherdivideSpiritLineupType::AetherdivideSpiritLineupNone => {
                "AETHERDIVIDE_SPIRIT_LINEUP_NONE"
            }
            AetherdivideSpiritLineupType::AetherdivideSpiritLineupNormal => {
                "AETHERDIVIDE_SPIRIT_LINEUP_NORMAL"
            }
            AetherdivideSpiritLineupType::AetherdivideSpiritLineupTrial => {
                "AETHERDIVIDE_SPIRIT_LINEUP_TRIAL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AETHERDIVIDE_SPIRIT_LINEUP_NONE" => Some(Self::AetherdivideSpiritLineupNone),
            "AETHERDIVIDE_SPIRIT_LINEUP_NORMAL" => {
                Some(Self::AetherdivideSpiritLineupNormal)
            }
            "AETHERDIVIDE_SPIRIT_LINEUP_TRIAL" => {
                Some(Self::AetherdivideSpiritLineupTrial)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleTargetType {
    None = 0,
    Score = 1,
    Achievement = 2,
    Raid = 3,
    ChallengeScore = 4,
    Common = 5,
}
impl BattleTargetType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BattleTargetType::None => "BATTLE_TARGET_TYPE_NONE",
            BattleTargetType::Score => "BATTLE_TARGET_TYPE_SCORE",
            BattleTargetType::Achievement => "BATTLE_TARGET_TYPE_ACHIEVEMENT",
            BattleTargetType::Raid => "BATTLE_TARGET_TYPE_RAID",
            BattleTargetType::ChallengeScore => "BATTLE_TARGET_TYPE_CHALLENGE_SCORE",
            BattleTargetType::Common => "BATTLE_TARGET_TYPE_COMMON",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_TARGET_TYPE_NONE" => Some(Self::None),
            "BATTLE_TARGET_TYPE_SCORE" => Some(Self::Score),
            "BATTLE_TARGET_TYPE_ACHIEVEMENT" => Some(Self::Achievement),
            "BATTLE_TARGET_TYPE_RAID" => Some(Self::Raid),
            "BATTLE_TARGET_TYPE_CHALLENGE_SCORE" => Some(Self::ChallengeScore),
            "BATTLE_TARGET_TYPE_COMMON" => Some(Self::Common),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ghbiabdnmfa {
    Unknown = 0,
    KilledByOthers = 1,
    KilledBySelf = 2,
    Escape = 3,
}
impl Ghbiabdnmfa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ghbiabdnmfa::Unknown => "UNKNOWN",
            Ghbiabdnmfa::KilledByOthers => "KILLED_BY_OTHERS",
            Ghbiabdnmfa::KilledBySelf => "KILLED_BY_SELF",
            Ghbiabdnmfa::Escape => "ESCAPE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UNKNOWN" => Some(Self::Unknown),
            "KILLED_BY_OTHERS" => Some(Self::KilledByOthers),
            "KILLED_BY_SELF" => Some(Self::KilledBySelf),
            "ESCAPE" => Some(Self::Escape),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ndcidehccag {
    TagNone = 0,
    TagHideNpcMonster = 1,
}
impl Ndcidehccag {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ndcidehccag::TagNone => "TAG_NONE",
            Ndcidehccag::TagHideNpcMonster => "TAG_HIDE_NPC_MONSTER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TAG_NONE" => Some(Self::TagNone),
            "TAG_HIDE_NPC_MONSTER" => Some(Self::TagHideNpcMonster),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hpgbmfahhne {
    NormalCreate = 0,
    FormChange = 1,
}
impl Hpgbmfahhne {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hpgbmfahhne::NormalCreate => "NORMAL_CREATE",
            Hpgbmfahhne::FormChange => "FORM_CHANGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NORMAL_CREATE" => Some(Self::NormalCreate),
            "FORM_CHANGE" => Some(Self::FormChange),
            _ => None,
        }
    }
}
#[derive(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 {
            BattleEndReason::None => "BATTLE_END_REASON_NONE",
            BattleEndReason::AllDie => "BATTLE_END_REASON_ALL_DIE",
            BattleEndReason::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,
        }
    }
}
#[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,
}
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 {
            BattleStaticticEventType::BattleStaticticEventNone => {
                "BATTLE_STATICTIC_EVENT_NONE"
            }
            BattleStaticticEventType::BattleStaticticEventTreasureDungeonAddExplore => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_ADD_EXPLORE"
            }
            BattleStaticticEventType::BattleStaticticEventTreasureDungeonOpenGrid => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_OPEN_GRID"
            }
            BattleStaticticEventType::BattleStaticticEventTreasureDungeonPickupItem => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_PICKUP_ITEM"
            }
            BattleStaticticEventType::BattleStaticticEventTreasureDungeonUseBuff => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_USE_BUFF"
            }
            BattleStaticticEventType::BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer => {
                "BATTLE_STATICTIC_EVENT_TELEVISION_ACTIVITY_UPDATE_MAZE_BUFF_LAYER"
            }
        }
    }
    /// 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)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleEndStatus {
    BattleEndNone = 0,
    BattleEndWin = 1,
    BattleEndLose = 2,
    BattleEndQuit = 3,
}
impl BattleEndStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BattleEndStatus::BattleEndNone => "BATTLE_END_NONE",
            BattleEndStatus::BattleEndWin => "BATTLE_END_WIN",
            BattleEndStatus::BattleEndLose => "BATTLE_END_LOSE",
            BattleEndStatus::BattleEndQuit => "BATTLE_END_QUIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_END_NONE" => Some(Self::BattleEndNone),
            "BATTLE_END_WIN" => Some(Self::BattleEndWin),
            "BATTLE_END_LOSE" => Some(Self::BattleEndLose),
            "BATTLE_END_QUIT" => Some(Self::BattleEndQuit),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightGameModeType {
    FightGameModeNone = 0,
    FightGameModeMatch3 = 1,
}
impl FightGameModeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            FightGameModeType::FightGameModeNone => "FIGHT_GAME_MODE_NONE",
            FightGameModeType::FightGameModeMatch3 => "FIGHT_GAME_MODE_MATCH3",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_GAME_MODE_NONE" => Some(Self::FightGameModeNone),
            "FIGHT_GAME_MODE_MATCH3" => Some(Self::FightGameModeMatch3),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightKickout {
    Unknown = 0,
    Black = 1,
    ByGm = 2,
    Timeout = 3,
    SessionReset = 4,
}
impl FightKickout {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            FightKickout::Unknown => "FIGHT_KICKOUT_UNKNOWN",
            FightKickout::Black => "FIGHT_KICKOUT_BLACK",
            FightKickout::ByGm => "FIGHT_KICKOUT_BY_GM",
            FightKickout::Timeout => "FIGHT_KICKOUT_TIMEOUT",
            FightKickout::SessionReset => "FIGHT_KICKOUT_SESSION_RESET",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_KICKOUT_UNKNOWN" => Some(Self::Unknown),
            "FIGHT_KICKOUT_BLACK" => Some(Self::Black),
            "FIGHT_KICKOUT_BY_GM" => Some(Self::ByGm),
            "FIGHT_KICKOUT_TIMEOUT" => Some(Self::Timeout),
            "FIGHT_KICKOUT_SESSION_RESET" => Some(Self::SessionReset),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyCharacter {
    None = 0,
    Leader = 1,
    Member = 2,
    Watcher = 3,
}
impl LobbyCharacter {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            LobbyCharacter::None => "LobbyCharacter_None",
            LobbyCharacter::Leader => "LobbyCharacter_Leader",
            LobbyCharacter::Member => "LobbyCharacter_Member",
            LobbyCharacter::Watcher => "LobbyCharacter_Watcher",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyCharacter_None" => Some(Self::None),
            "LobbyCharacter_Leader" => Some(Self::Leader),
            "LobbyCharacter_Member" => Some(Self::Member),
            "LobbyCharacter_Watcher" => Some(Self::Watcher),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyCharacterStatus {
    None = 0,
    Idle = 1,
    Operating = 2,
    Ready = 3,
    Fighting = 4,
    Watching = 5,
    Matching = 6,
}
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 {
            LobbyCharacterStatus::None => "LobbyCharacterStatus_None",
            LobbyCharacterStatus::Idle => "LobbyCharacterStatus_Idle",
            LobbyCharacterStatus::Operating => "LobbyCharacterStatus_Operating",
            LobbyCharacterStatus::Ready => "LobbyCharacterStatus_Ready",
            LobbyCharacterStatus::Fighting => "LobbyCharacterStatus_Fighting",
            LobbyCharacterStatus::Watching => "LobbyCharacterStatus_Watching",
            LobbyCharacterStatus::Matching => "LobbyCharacterStatus_Matching",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyCharacterStatus_None" => Some(Self::None),
            "LobbyCharacterStatus_Idle" => Some(Self::Idle),
            "LobbyCharacterStatus_Operating" => Some(Self::Operating),
            "LobbyCharacterStatus_Ready" => Some(Self::Ready),
            "LobbyCharacterStatus_Fighting" => Some(Self::Fighting),
            "LobbyCharacterStatus_Watching" => Some(Self::Watching),
            "LobbyCharacterStatus_Matching" => Some(Self::Matching),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyModifyType {
    None = 0,
    Idle = 1,
    Ready = 2,
    Operating = 3,
    CancelMatch = 4,
    Match = 5,
    QuitLobby = 6,
    KickOut = 7,
    TimeOut = 8,
    JoinLobby = 9,
    LobbyDismiss = 10,
    MatchTimeOut = 11,
    FightStart = 12,
    Logout = 13,
    FightEnd = 14,
    FightRoomDestroyInInit = 15,
}
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 {
            LobbyModifyType::None => "LobbyModifyType_None",
            LobbyModifyType::Idle => "LobbyModifyType_Idle",
            LobbyModifyType::Ready => "LobbyModifyType_Ready",
            LobbyModifyType::Operating => "LobbyModifyType_Operating",
            LobbyModifyType::CancelMatch => "LobbyModifyType_CancelMatch",
            LobbyModifyType::Match => "LobbyModifyType_Match",
            LobbyModifyType::QuitLobby => "LobbyModifyType_QuitLobby",
            LobbyModifyType::KickOut => "LobbyModifyType_KickOut",
            LobbyModifyType::TimeOut => "LobbyModifyType_TimeOut",
            LobbyModifyType::JoinLobby => "LobbyModifyType_JoinLobby",
            LobbyModifyType::LobbyDismiss => "LobbyModifyType_LobbyDismiss",
            LobbyModifyType::MatchTimeOut => "LobbyModifyType_MatchTimeOut",
            LobbyModifyType::FightStart => "LobbyModifyType_FightStart",
            LobbyModifyType::Logout => "LobbyModifyType_Logout",
            LobbyModifyType::FightEnd => "LobbyModifyType_FightEnd",
            LobbyModifyType::FightRoomDestroyInInit => {
                "LobbyModifyType_FightRoomDestroyInInit"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyModifyType_None" => Some(Self::None),
            "LobbyModifyType_Idle" => Some(Self::Idle),
            "LobbyModifyType_Ready" => Some(Self::Ready),
            "LobbyModifyType_Operating" => Some(Self::Operating),
            "LobbyModifyType_CancelMatch" => Some(Self::CancelMatch),
            "LobbyModifyType_Match" => Some(Self::Match),
            "LobbyModifyType_QuitLobby" => Some(Self::QuitLobby),
            "LobbyModifyType_KickOut" => Some(Self::KickOut),
            "LobbyModifyType_TimeOut" => Some(Self::TimeOut),
            "LobbyModifyType_JoinLobby" => Some(Self::JoinLobby),
            "LobbyModifyType_LobbyDismiss" => Some(Self::LobbyDismiss),
            "LobbyModifyType_MatchTimeOut" => Some(Self::MatchTimeOut),
            "LobbyModifyType_FightStart" => Some(Self::FightStart),
            "LobbyModifyType_Logout" => Some(Self::Logout),
            "LobbyModifyType_FightEnd" => Some(Self::FightEnd),
            "LobbyModifyType_FightRoomDestroyInInit" => {
                Some(Self::FightRoomDestroyInInit)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightRoomDestroyReason {
    None = 0,
    SvrStop = 1,
    GameEnd = 2,
}
impl FightRoomDestroyReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            FightRoomDestroyReason::None => "FIGHT_ROOM_DESTROY_REASON_NONE",
            FightRoomDestroyReason::SvrStop => "FIGHT_ROOM_DESTROY_REASON_SVR_STOP",
            FightRoomDestroyReason::GameEnd => "FIGHT_ROOM_DESTROY_REASON_GAME_END",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_ROOM_DESTROY_REASON_NONE" => Some(Self::None),
            "FIGHT_ROOM_DESTROY_REASON_SVR_STOP" => Some(Self::SvrStop),
            "FIGHT_ROOM_DESTROY_REASON_GAME_END" => Some(Self::GameEnd),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Match3FinishReason {
    Default = 0,
    Leave = 1,
    Die = 2,
    Gameend = 3,
    Kickout = 4,
}
impl Match3FinishReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Match3FinishReason::Default => "MATCH3_FINISH_REASON_DEFAULT",
            Match3FinishReason::Leave => "MATCH3_FINISH_REASON_LEAVE",
            Match3FinishReason::Die => "MATCH3_FINISH_REASON_DIE",
            Match3FinishReason::Gameend => "MATCH3_FINISH_REASON_GAMEEND",
            Match3FinishReason::Kickout => "MATCH3_FINISH_REASON_KICKOUT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_FINISH_REASON_DEFAULT" => Some(Self::Default),
            "MATCH3_FINISH_REASON_LEAVE" => Some(Self::Leave),
            "MATCH3_FINISH_REASON_DIE" => Some(Self::Die),
            "MATCH3_FINISH_REASON_GAMEEND" => Some(Self::Gameend),
            "MATCH3_FINISH_REASON_KICKOUT" => Some(Self::Kickout),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MatchUnitType {
    None = 0,
    Normal = 1,
    Robot = 2,
    Gm = 3,
}
impl MatchUnitType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MatchUnitType::None => "MATCH_UNIT_TYPE_NONE",
            MatchUnitType::Normal => "MATCH_UNIT_TYPE_NORMAL",
            MatchUnitType::Robot => "MATCH_UNIT_TYPE_ROBOT",
            MatchUnitType::Gm => "MATCH_UNIT_TYPE_GM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH_UNIT_TYPE_NONE" => Some(Self::None),
            "MATCH_UNIT_TYPE_NORMAL" => Some(Self::Normal),
            "MATCH_UNIT_TYPE_ROBOT" => Some(Self::Robot),
            "MATCH_UNIT_TYPE_GM" => Some(Self::Gm),
            _ => None,
        }
    }
}
#[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,
    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,
    RetSkilltreePointUnlock = 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,
    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,
    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,
    RetMailNotExist = 1700,
    RetMailRangeInvalid = 1701,
    RetMailMailIdInvalid = 1702,
    RetMailNoMailTakeAttachment = 1703,
    RetMailNoMailToDel = 1704,
    RetMailTypeInvalid = 1705,
    RetMailParaInvalid = 1706,
    RetMailAttachementInvalid = 1707,
    RetMailTicketInvalid = 1708,
    RetMailTicketRepeated = 1709,
    RetStageSettleError = 1800,
    RetStageConfigNotExist = 1801,
    RetStageNotFound = 1802,
    RetStageCocoonPropNotValid = 1804,
    RetStageCocoonWaveNotValid = 1805,
    RetStagePropIdNotEqual = 1806,
    RetStageCocoonWaveOver = 1807,
    RetStageWeekCocoonOverCnt = 1808,
    RetStageCocoonNotOpen = 1809,
    RetStageTrialNotOpen = 1810,
    RetStageFarmNotOpen = 1811,
    RetStageFarmTypeError = 1812,
    RetChapterLock = 1900,
    RetChapterChallengeNumNotEnough = 1901,
    RetChapterRewardIdNotExist = 1902,
    RetChapterRewardAlreadyTaken = 1903,
    RetBattleStageNotMatch = 2000,
    RetInBattleNow = 2001,
    RetBattleCheat = 2002,
    RetBattleFail = 2003,
    RetBattleNoLineup = 2004,
    RetBattleLineupEmpty = 2005,
    RetBattleVersionNotMatch = 2006,
    RetBattleQuitByServer = 2007,
    RetInBattleCheck = 2008,
    RetBattleCheckNeedRetry = 2009,
    RetBattleCostTimeCheckFail = 2010,
    RetLackExchangeStaminaTimes = 2100,
    RetLackStamina = 2101,
    RetStaminaFull = 2102,
    RetAuthkeySignTypeError = 2103,
    RetAuthkeySignVerError = 2104,
    RetNicknameFormatError = 2105,
    RetSensitiveWords = 2106,
    RetLevelRewardHasTaken = 2107,
    RetLevelRewardLevelError = 2108,
    RetLanguageInvalid = 2109,
    RetNicknameInCd = 2110,
    RetGameplayBirthdayInvalid = 2111,
    RetGameplayBirthdayAlreadySet = 2112,
    RetNicknameUtf8Error = 2113,
    RetNicknameDigitLimitError = 2114,
    RetSensitiveWordsPlatformError = 2115,
    RetPlayerSettingTypeInvalid = 2116,
    RetMazeLackTicket = 2201,
    RetMazeNotUnlock = 2202,
    RetMazeNoAbility = 2204,
    RetMazeNoPlane = 2205,
    RetMazeMapNotExist = 2207,
    RetMazeMpNotEnough = 2213,
    RetSpringNotEnable = 2214,
    RetSpringTooFar = 2216,
    RetNotInMaze = 2218,
    RetMazeTimeOfDayTypeError = 2223,
    RetSceneTransferLockedByTask = 2224,
    RetPlotNotUnlock = 2300,
    RetMissionNotExist = 2400,
    RetMissionAlreadyDone = 2401,
    RetDailyTaskNotFinish = 2402,
    RetDailyTaskRewardHasTaken = 2403,
    RetMissionNotFinish = 2404,
    RetMissionNotDoing = 2405,
    RetMissionFinishWayNotMatch = 2406,
    RetMissionSceneNotMatch = 2407,
    RetMissionCustomValueNotValid = 2408,
    RetMissionSubMissionNotMatch = 2409,
    RetAdventureMapNotExist = 2500,
    RetSceneEntityNotExist = 2600,
    RetNotInScene = 2601,
    RetSceneMonsterNotExist = 2602,
    RetInteractConfigNotExist = 2603,
    RetUnsupportedPropState = 2604,
    RetSceneEntryIdNotMatch = 2605,
    RetSceneEntityMoveCheckFailed = 2606,
    RetAssistMonsterCountLimit = 2607,
    RetSceneUseSkillFail = 2608,
    RetPropIsHidden = 2609,
    RetLoadingSuccAlready = 2610,
    RetSceneEntityTypeInvalid = 2611,
    RetInteractTypeInvalid = 2612,
    RetInteractNotInRegion = 2613,
    RetInteractSubTypeInvalid = 2614,
    RetNotLeaderEntity = 2615,
    RetMonsterIsNotFarmElement = 2616,
    RetMonsterConfigNotExist = 2617,
    RetAvatarHpAlreadyFull = 2618,
    RetCurInteractEntityNotMatch = 2619,
    RetPlaneTypeNotAllow = 2620,
    RetGroupNotExist = 2621,
    RetGroupSaveDataInCd = 2622,
    RetGroupSaveLenghReachMax = 2623,
    RetRecentElementNotExist = 2624,
    RetRecentElementStageNotMatch = 2625,
    RetScenePositionVersionNotMatch = 2626,
    RetGameplayCounterNotExist = 2627,
    RetGameplayCounterNotEnough = 2628,
    RetGroupStateNotMatch = 2629,
    RetSceneEntityPosNotMatch = 2630,
    RetGroupStateCustomSaveDataOff = 2631,
    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,
    RetBasicTypeAlready = 2850,
    RetNoBasicType = 2851,
    RetNotChooseBasicType = 2852,
    RetNotFuncClose = 2853,
    RetNotChooseGender = 2854,
    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,
    RetMissionEventConfigNotExist = 2951,
    RetMissionEventNotClient = 2952,
    RetMissionEventFinished = 2953,
    RetMissionEventDoing = 2954,
    RetHasChallengeMissionEvent = 2955,
    RetNotChallengeMissionEvent = 2956,
    RetGachaIdNotExist = 3001,
    RetGachaNumInvalid = 3002,
    RetGachaFirstGachaMustOne = 3003,
    RetGachaReqDuplicated = 3004,
    RetGachaNotInSchedule = 3005,
    RetGachaNewbieClose = 3006,
    RetGachaTodayLimited = 3007,
    RetGachaNotSupport = 3008,
    RetGachaCeilingNotEnough = 3009,
    RetGachaCeilingClose = 3010,
    RetNotInRaid = 3101,
    RetRaidDoing = 3102,
    RetNotProp = 3103,
    RetRaidIdNotMatch = 3104,
    RetRaidRestartNotMatch = 3105,
    RetRaidLimit = 3106,
    RetRaidAvatarListEmpty = 3107,
    RetRaidAvatarNotExist = 3108,
    RetChallengeRaidRewardAlready = 3109,
    RetChallengeRaidScoreNotReach = 3110,
    RetChallengeRaidNotOpen = 3111,
    RetRaidFinished = 3112,
    RetRaidWorldLevelNotLock = 3113,
    RetRaidCannotUseAssist = 3114,
    RetRaidAvatarNotMatch = 3115,
    RetRaidCanNotSave = 3116,
    RetRaidNoSave = 3117,
    RetActivityRaidNotOpen = 3118,
    RetRaidAvatarCaptainNotExist = 3119,
    RetRaidStoryLineNotMatch = 3120,
    RetTalkEventAlreadyTaken = 3151,
    RetNpcAlreadyMeet = 3152,
    RetNpcNotInConfig = 3153,
    RetDialogueGroupDismatch = 3154,
    RetDialogueEventInvalid = 3155,
    RetTalkEventTakeProtoNotMatch = 3156,
    RetTalkEventNotValid = 3157,
    RetExpeditionConfigNotExist = 3201,
    RetExpeditionRewardConfigNotExist = 3202,
    RetExpeditionNotUnlocked = 3203,
    RetExpeditionAlreadyAccepted = 3204,
    RetExpeditionRepeatedAvatar = 3205,
    RetAvatarAlreadyDispatched = 3206,
    RetExpeditionNotAccepted = 3207,
    RetExpeditionNotFinish = 3208,
    RetExpeditionAlreadyFinish = 3209,
    RetExpeditionTeamCountLimit = 3210,
    RetExpeditionAvatarNumNotMatch = 3211,
    RetExpeditionNotOpen = 3212,
    RetExpeditionFriendAvatarNotValid = 3213,
    RetExpeditionNotPublished = 3214,
    RetLoginActivityHasTaken = 3301,
    RetLoginActivityDaysLack = 3302,
    RetTrialActivityRewardAlreadyTake = 3303,
    RetTrialActivityStageNotFinish = 3304,
    RetMonsterResearchActivityHasTaken = 3305,
    RetMonsterResearchActivityMaterialNotSubmitted = 3306,
    RetMonsterResearchActivityMaterialAlreadySubmitted = 3307,
    RetFantasticStoryActivityStoryError = 3308,
    RetFantasticStoryActivityStoryNotOpen = 3309,
    RetFantasticStoryActivityBattleError = 3310,
    RetFantasticStoryActivityBattleNotOpen = 3311,
    RetFantasticStoryActivityBattleAvatarError = 3312,
    RetFantasticStoryActivityBattleBuffError = 3313,
    RetFantasticStoryActivityPreBattleScoreNotEnough = 3314,
    RetTrialActivityAlreadyInTrialActivity = 3315,
    RetMessageConfigNotExist = 3501,
    RetMessageSectionNotTake = 3502,
    RetMessageGroupNotTake = 3503,
    RetMessageSectionIdNotMatch = 3504,
    RetMessageSectionCanNotFinish = 3505,
    RetMessageItemCanNotFinish = 3506,
    RetMessageItemRaidCanNotFinish = 3507,
    RetFriendAlreadyIsFriend = 3601,
    RetFriendIsNotFriend = 3602,
    RetFriendApplyExpire = 3603,
    RetFriendInBlacklist = 3604,
    RetFriendNotInBlacklist = 3605,
    RetFriendNumberLimit = 3606,
    RetFriendBlacklistNumberLimit = 3607,
    RetFriendDailyApplyLimit = 3608,
    RetFriendInHandleLimit = 3609,
    RetFriendApplyInCd = 3610,
    RetFriendRemarkNameFormatError = 3611,
    RetFriendPlayerNotFound = 3612,
    RetFriendInTargetBlacklist = 3613,
    RetFriendTargetNumberLimit = 3614,
    RetAssistQueryTooFast = 3615,
    RetAssistNotExist = 3616,
    RetAssistUsedAlready = 3617,
    RetFriendReportReasonFormatError = 3618,
    RetFriendReportSensitiveWords = 3619,
    RetAssistUsedTimesOver = 3620,
    RetAssistQuitAlready = 3621,
    RetAssistAvatarInLineup = 3622,
    RetAssistNoReward = 3623,
    RetFriendSearchNumLimit = 3624,
    RetFriendSearchInCd = 3625,
    RetFriendRemarkNameUtf8Error = 3626,
    RetFriendReportReasonUtf8Error = 3627,
    RetAssistSetAlready = 3628,
    RetFriendTargetForbidOtherApply = 3629,
    RetFriendMarkedCntMax = 3630,
    RetFriendMarkedAlready = 3631,
    RetFriendNotMarked = 3632,
    RetFriendChallengeLineupRecommendInCd = 3633,
    RetViewPlayerCardInCd = 3634,
    RetViewPlayerBattleRecordInCd = 3635,
    RetPlayerBoardHeadIconNotExist = 3701,
    RetPlayerBoardHeadIconLocked = 3702,
    RetPlayerBoardHeadIconAlreadyUnlocked = 3703,
    RetPlayerBoardDisplayAvatarNotExist = 3704,
    RetPlayerBoardDisplayAvatarExceedLimit = 3705,
    RetPlayerBoardDisplayRepeatedAvatar = 3706,
    RetPlayerBoardDisplayAvatarSamePos = 3707,
    RetPlayerBoardDisplayAvatarLocked = 3708,
    RetSignatureLengthExceedLimit = 3709,
    RetSignatureSensitiveWords = 3710,
    RetPlayerBoardAssistAvatarNotExist = 3712,
    RetPlayerBoardAssistAvatarLocked = 3713,
    RetSignatureUtf8Error = 3714,
    RetPlayerBoardAssistAvatarCntError = 3715,
    RetBattlePassTierNotValid = 3801,
    RetBattlePassLevelNotMeet = 3802,
    RetBattlePassRewardTakeAlready = 3803,
    RetBattlePassNotPremium = 3804,
    RetBattlePassNotDoing = 3805,
    RetBattlePassLevelInvalid = 3806,
    RetBattlePassNotUnlock = 3807,
    RetBattlePassNoReward = 3808,
    RetBattlePassQuestNotValid = 3809,
    RetBattlePassNotChooseOptional = 3810,
    RetBattlePassNotTakeReward = 3811,
    RetBattlePassOptionalNotValid = 3812,
    RetBattlePassBuyAlready = 3813,
    RetBattlePassNearEnd = 3814,
    RetMusicLocked = 3901,
    RetMusicNotExist = 3902,
    RetMusicUnlockFailed = 3903,
    RetPunkLordLackSummonTimes = 4001,
    RetPunkLordAttackingMonsterLimit = 4002,
    RetPunkLordMonsterNotExist = 4003,
    RetPunkLordMonsterAlreadyShared = 4004,
    RetPunkLordMonsterExpired = 4005,
    RetPunkLordSelfMonsterAttackLimit = 4006,
    RetPunkLordLackSupportTimes = 4007,
    RetPunkLordMonsterAlreadyKilled = 4008,
    RetPunkLordMonsterAttackerLimit = 4009,
    RetPunkLordWorldLevleNotValid = 4010,
    RetPunkLordRewardLevleNotExist = 4011,
    RetPunkLordPointNotMeet = 4012,
    RetPunkLordInAttacking = 4013,
    RetPunkLordOperationInCd = 4014,
    RetPunkLordRewardAlreadyTaken = 4015,
    RetPunkLordOverBonusRewardLimit = 4016,
    RetPunkLordNotInSchedule = 4017,
    RetPunkLordMonsterNotAttacked = 4018,
    RetPunkLordMonsterNotKilled = 4019,
    RetPunkLordMonsterKilledScoreAlreadyTake = 4020,
    RetPunkLordRewardLevleAlreadyTake = 4021,
    RetDailyActiveLevelInvalid = 4101,
    RetDailyActiveLevelRewardAlreadyTaken = 4102,
    RetDailyActiveLevelApNotEnough = 4103,
    RetDailyMeetPam = 4201,
    RetReplayIdNotMatch = 4251,
    RetReplayReqNotValid = 4252,
    RetFightActivityDifficultyLevelNotPassed = 4301,
    RetFightActivityDifficultyLevelRewardAlreadyTake = 4302,
    RetFightActivityStageNotOpen = 4303,
    RetFightActivityLevelNotUnlock = 4304,
    RetTrainVisitorVisitorNotExist = 4351,
    RetTrainVisitorBehaviorNotExist = 4352,
    RetTrainVisitorBehaviorFinished = 4353,
    RetTrainVisitorAllBehaviorRewardTaken = 4354,
    RetTrainVisitorGetOnMissionNotFinish = 4355,
    RetTrainVisitorNotGetOff = 4356,
    RetTextJoinUnknowIsOverride = 4401,
    RetTextJoinIdNotExist = 4402,
    RetTextJoinCanNotOverride = 4403,
    RetTextJoinItemIdError = 4404,
    RetTextJoinSensitiveCheckError = 4405,
    RetTextJoinMustOverride = 4406,
    RetTextJoinTextEmpty = 4407,
    RetTextJoinTextFormatError = 4408,
    RetTextJoinTextUtf8Error = 4409,
    RetTextJoinBatchReqIdRepeat = 4410,
    RetTextJoinTypeNotSupportBatchReq = 4411,
    RetTextJoinAvatarIdNotExist = 4412,
    RetTextJoinUnknowType = 4413,
    RetPamMissionMissionIdError = 4451,
    RetPamMissionMissionExpire = 4452,
    RetChatTypeNotExist = 4501,
    RetMsgTypeNotExist = 4502,
    RetChatNoTargetUid = 4503,
    RetChatMsgEmpty = 4504,
    RetChatMsgExceedLimit = 4505,
    RetChatMsgSensitiveCheckError = 4506,
    RetChatMsgUtf8Error = 4507,
    RetChatForbidSwitchOpen = 4508,
    RetChatForbid = 4509,
    RetChatMsgIncludeSpecialStr = 4510,
    RetChatMsgEmojiNotExist = 4511,
    RetChatMsgEmojiGenderNotMatch = 4512,
    RetChatMsgEmojiNotMarked = 4513,
    RetChatMsgEmojiAlreadyMarked = 4514,
    RetChatMsgEmojiMarkedMaxLimit = 4515,
    RetBoxingClubChallengeNotOpen = 4601,
    RetMuseumNotOpen = 4651,
    RetMuseumTurnCntNotMatch = 4652,
    RetMuseumPhaseNotReach = 4653,
    RetMuseumUnknowStuff = 4654,
    RetMuseumUnknowArea = 4655,
    RetMuseumUnknowPos = 4656,
    RetMuseumStuffAlreadyInArea = 4657,
    RetMuseumStuffNotInArea = 4658,
    RetMuseumGetNpcRepeat = 4659,
    RetMuseumGetNpcUnlock = 4660,
    RetMuseumGetNpcNotEnough = 4661,
    RetMuseumChangeStuffAreaError = 4662,
    RetMuseumNotInit = 4663,
    RetMuseumEventError = 4664,
    RetMuseumUnknowChooseEventId = 4665,
    RetMuseumEventOrderNotMatch = 4666,
    RetMuseumEventPhaseNotUnlock = 4667,
    RetMuseumEventMissionNotFound = 4668,
    RetMuseumAreaLevelUpAlready = 4669,
    RetMuseumStuffAlreadyUsed = 4670,
    RetMuseumEventRoundNotUnlock = 4671,
    RetMuseumStuffInArea = 4672,
    RetMuseumStuffDispatch = 4673,
    RetMuseumIsEnd = 4674,
    RetMuseumStuffLeaving = 4675,
    RetMuseumEventMissionNotFinish = 4678,
    RetMuseumCollectRewardNotExist = 4679,
    RetMuseumCollectRewardAlreadyTaken = 4680,
    RetMuseumAcceptMissionMaxLimit = 4681,
    RetRogueChallengeNotOpen = 4701,
    RetRogueChallengeAssisRefreshLimit = 4702,
    RetAlleyNotInit = 4721,
    RetAlleyNotOpen = 4722,
    RetAlleyMapNotExist = 4724,
    RetAlleyEmptyPosList = 4725,
    RetAlleyLinePosInvalid = 4726,
    RetAlleyShopNotUnlock = 4727,
    RetAlleyDepotFull = 4728,
    RetAlleyShopNotInclude = 4729,
    RetAlleyEventNotUnlock = 4730,
    RetAlleyEventNotRefresh = 4731,
    RetAlleyEventStateDoing = 4732,
    RetAlleyEventStateFinish = 4733,
    RetAlleyEventError = 4734,
    RetAlleyRewardLevelError = 4735,
    RetAlleyRewardPrestigeNotEnough = 4736,
    RetAlleyShipEmpty = 4737,
    RetAlleyShipIdDismatch = 4738,
    RetAlleyShipNotExist = 4739,
    RetAlleyShipNotUnlock = 4740,
    RetAlleyGoodsNotExist = 4741,
    RetAlleyGoodsNotUnlock = 4742,
    RetAlleyProfitNotPositive = 4743,
    RetAlleySpecialOrderDismatch = 4744,
    RetAlleyOrderGoodsOverLimit = 4745,
    RetAlleySpecialOrderConditionNotMeet = 4746,
    RetAlleyDepotSizeOverLimit = 4747,
    RetAlleyGoodsNotEnough = 4748,
    RetAlleyOrderIndexInvalid = 4749,
    RetAlleyRewardAlreadyTake = 4750,
    RetAlleyRewardNotExist = 4751,
    RetAlleyMainMissionNotDoing = 4752,
    RetAlleyCriticalEventNotFinish = 4753,
    RetAlleyShopGoodsNotValid = 4754,
    RetAlleySlashNotOpen = 4755,
    RetAlleyPlacingAnchorInvalid = 4756,
    RetAlleyPlacingGoodsIndexInvalid = 4757,
    RetAlleySaveMapTooQuick = 4758,
    RetAlleyMapNotLink = 4759,
    RetAlleyFundsNotLowerBase = 4760,
    RetAlleyEventNotFinish = 4761,
    RetAlleyNormalOrderNotMeet = 4762,
    RetPlayerReturnNotOpen = 4801,
    RetPlayerReturnIsSigned = 4802,
    RetPlayerReturnPointNotEnough = 4803,
    RetPlayerReturnConditionInvalid = 4804,
    RetPlayerReturnHasSigned = 4805,
    RetPlayerReturnRewardTaken = 4806,
    RetAetherDivideNoLineup = 4851,
    RetAetherDivideLineupInvalid = 4852,
    RetChatBubbleIdError = 4901,
    RetChatBubbleIdNotUnlock = 4902,
    RetPhoneThemeIdError = 4903,
    RetPhoneThemeIdNotUnlock = 4904,
    RetChatBubbleSelectIsCurrent = 4905,
    RetPhoneThemeSelectIsCurrent = 4906,
    RetChessRogueConfigNotFound = 4951,
    RetChessRogueConfigInvalid = 4952,
    RetChessRogueNoValidRoom = 4963,
    RetChessRogueNoCellInfo = 4964,
    RetChessRogueCellNotFinish = 4965,
    RetChessRogueCellIsLocked = 4966,
    RetChessRogueScheduleNotMatch = 4967,
    RetChessRogueStatusFail = 4968,
    RetChessRogueAreaNotExist = 4969,
    RetChessRogueLineupFail = 4970,
    RetChessRogueAeonFail = 4980,
    RetChessRogueEnterCellFail = 4981,
    RetChessRogueRollDiceFail = 4982,
    RetChessRogueDiceStatusFail = 4983,
    RetChessRogueDiceCntNotFull = 4984,
    RetChessRogueUnlock = 4985,
    RetChessRoguePickAvatarFail = 4986,
    RetChessRogueAvatarInvalid = 4987,
    RetChessRogueCellCanNotSelect = 4988,
    RetChessRogueDiceConfirmed = 4989,
    RetChessRogueNousDiceNotMatch = 4990,
    RetChessRogueNousDiceRarityFail = 4991,
    RetChessRogueNousDiceSurfaceDuplicate = 4992,
    RetChessRogueNotInRogue = 4993,
    RetChessRogueNousDiceBranchLimit = 4994,
    RetHeliobusNotOpen = 5101,
    RetHeliobusSnsPostNotUnlock = 5102,
    RetHeliobusSnsAlreadyRead = 5103,
    RetHeliobusSnsAlreadyLiked = 5104,
    RetHeliobusSnsAlreadyCommented = 5105,
    RetHeliobusSnsInMission = 5106,
    RetHeliobusSnsAlreadyPosted = 5107,
    RetHeliobusSnsNotDoingMission = 5108,
    RetHeliobusRewardLevelMax = 5109,
    RetHeliobusIncomeNotEnough = 5110,
    RetHeliobusSnsCommentNotUnlock = 5111,
    RetHeliobusChallengeNotUnlock = 5112,
    RetHeliobusChallengeIdError = 5113,
    RetHeliobusSkillNotUnlock = 5114,
    RetHeliobusAcceptPostMissionFail = 5115,
    RetHeliobusSkillNotSelected = 5116,
    RetHeliobusPlaneTypeInvalid = 5117,
    RetReddotParamInvalid = 5151,
    RetReddotActivityNotOpen = 5152,
    RetRogueEndlessActivityConfigError = 5201,
    RetRogueEndlessActivityNotOpen = 5202,
    RetRogueEndlessActivityOverBonusRewardLimit = 5203,
    RetRogueEndlessActivityScoreNotMeet = 5204,
    RetRogueEndlessActivityRewardLevleAlreadyTake = 5205,
    RetHeartDialScriptNotFound = 5251,
    RetHeartDialScriptEmotionTheSame = 5252,
    RetHeartDialScriptStepNotNormal = 5253,
    RetHeartDialScriptConditionNotMatch = 5254,
    RetHeartDialScriptSubmitItemNumNotMatch = 5255,
    RetHeartDialScriptSubmitItemIdNotMatch = 5256,
    RetHeartDialDialogueNotFound = 5257,
    RetHeartDialDialogueAlreadyPerformed = 5258,
    RetHeartDialNpcNotFound = 5259,
    RetHeartDialTraceConfigNotFound = 5260,
    RetHeartDialFloorTraceExist = 5261,
    RetHeartDialTraceFloorNotMatch = 5262,
    RetTravelBrochureConfigError = 5301,
    RetTravelBrochureParamInvalid = 5302,
    RetTravelBrochureLocked = 5303,
    RetTravelBrochureCannotOperate = 5304,
    RetTravelBrochureWorldIdNotMatch = 5305,
    RetTravelBrochureHasNoWorldBook = 5306,
    RetTravelBrochurePageFull = 5307,
    RetMapRotationNotInRegion = 5351,
    RetMapRotationRotaterAlreadyDeployed = 5352,
    RetMapRotationEnergyNotEnough = 5353,
    RetMapRotationEntityNotOnCurPose = 5354,
    RetMapRotationRotaterNotDeployed = 5355,
    RetMapRotationPoseRotaterMismatch = 5356,
    RetMapRotationRotaterNotRemovable = 5357,
    RetMapRotationRotaterDisposable = 5358,
    RetSpaceZooActivityCatNotFound = 5401,
    RetSpaceZooActivityCatParamInvalid = 5402,
    RetSpaceZooActivityCatItemNotEnough = 5403,
    RetSpaceZooActivityCatBagFull = 5404,
    RetSpaceZooActivityCatNotToMutate = 5405,
    RetSpaceZooActivityCatStateError = 5406,
    RetSpaceZooActivityCatCatteryLocked = 5407,
    RetSpaceZooActivityCatOutNow = 5408,
    RetSpaceZooActivityCatConfigNotFound = 5409,
    RetSpaceZooActivityCatFeatureNotFound = 5410,
    RetSpaceZooActivityCatAddCatError = 5411,
    RetSpaceZooActivityCatMoneyNotEnough = 5412,
    RetSpaceZooActivityCatCondNotMatch = 5413,
    RetStrongChallengeActivityStageCfgMiss = 5501,
    RetStrongChallengeActivityStageNotOpen = 5502,
    RetStrongChallengeActivityBuffError = 5503,
    RetRollShopNotFound = 5551,
    RetRollShopGroupEmpty = 5552,
    RetRollShopEmpty = 5553,
    RetRollShopGachaReqDuplicated = 5554,
    RetRollShopRandomError = 5555,
    RetRollShopGroupTypeNotFound = 5556,
    RetRollShopHasStoredRewardAlready = 5557,
    RetRollShopNoStoredReward = 5558,
    RetRollShopNotInValidScene = 5559,
    RetRollShopInvalidRollShopType = 5560,
    RetActivityRaidCollectionPrevNotFinish = 5601,
    RetOfferingNotUnlock = 5651,
    RetOfferingLevelNotUnlock = 5652,
    RetOfferingReachMaxLevel = 5653,
    RetOfferingItemNotEnough = 5654,
    RetOfferingLongtailNotOpen = 5655,
    RetOfferingRewardCondition = 5656,
    RetDrinkMakerChatInvalid = 5701,
    RetDrinkMakerParamInvalid = 5702,
    RetDrinkMakerParamNotUnlock = 5703,
    RetDrinkMakerConfigNotFound = 5704,
    RetDrinkMakerNotLastChat = 5705,
    RetDrinkMakerDayAndFreePhaseNotOpen = 5706,
    RetMonopolyNotOpen = 5751,
    RetMonopolyConfigError = 5752,
    RetMonopolyDiceNotEnough = 5753,
    RetMonopolyCurCellNotFinish = 5754,
    RetMonopolyCoinNotEnough = 5755,
    RetMonopolyCellWaitPending = 5756,
    RetMonopolyCellStateError = 5757,
    RetMonopolyCellContentError = 5758,
    RetMonopolyItemNotEnough = 5759,
    RetMonopolyCellContentCannotGiveup = 5760,
    RetMonopolyAssetLevelInvalid = 5761,
    RetMonopolyTurnNotFinish = 5762,
    RetMonopolyGuideNotFinish = 5763,
    RetMonopolyRaffleRewardReissued = 5764,
    RetMonopolyNoGameActive = 5771,
    RetMonopolyGameRatioNotIncreasable = 5772,
    RetMonopolyGameRatioMax = 5773,
    RetMonopolyGameTargetRatioInvalid = 5774,
    RetMonopolyGameBingoFlipPosInvalid = 5775,
    RetMonopolyGameGuessAlreadyChoose = 5776,
    RetMonopolyGameGuessChooseInvalid = 5777,
    RetMonopolyGameGuessInformationAlreadyBought = 5778,
    RetMonopolyGameRaiseRatioNotUnlock = 5779,
    RetMonopolyFriendNotSynced = 5785,
    RetMonopolyGetFriendRankingListInCd = 5786,
    RetMonopolyLikeTargetNotFriend = 5787,
    RetMonopolyDailyAlreadyLiked = 5788,
    RetMonopolySocialEventStatusNotMatch = 5789,
    RetMonopolySocialEventServerCacheNotExist = 5790,
    RetMonopolyActivityIdNotMatch = 5791,
    RetMonopolyRafflePoolNotExist = 5792,
    RetMonopolyRafflePoolTimeNotMatch = 5793,
    RetMonopolyRafflePoolPhaseNotMeet = 5794,
    RetMonopolyRafflePoolShowTimeNotMeet = 5795,
    RetMonopolyRaffleTicketNotFound = 5796,
    RetMonopolyRaffleTicketTimeNotMeet = 5797,
    RetMonopolyRaffleTicketRewardAlreadyTaken = 5798,
    RetMonopolyRafflePoolNotInRaffleTime = 5799,
    RetMonopolyMbtiReportRewardAlreadyTaken = 5800,
    RetEvolveBuildLevelGaming = 5801,
    RetEveolveBuildLevelBanRandom = 5802,
    RetEvolveBuildFirstRewardAlreadyTaken = 5803,
    RetEvolveBuildLevelUnfinish = 5804,
    RetEvolveBuildShopAbilityMaxLevel = 5805,
    RetEvolveBuildShopAbilityMinLevel = 5806,
    RetEvolveBuildShopAbilityNotGet = 5807,
    RetEvolveBuildLevelLock = 5808,
    RetEvolveBuildExpNotEnough = 5809,
    RetEvolveBuildShopAbilityLevelError = 5810,
    RetEvolveBuildActivityNotOpen = 5811,
    RetEvolveBuildShopAbilityEmpty = 5812,
    RetEvolveBuildLevelNotStart = 5813,
    RetEvolveBuildShopLock = 5814,
    RetEvolveBuildRewardLock = 5815,
    RetEvolveBuildRewardLevelMax = 5816,
    RetEvolveBuildRewardAlreadyAllTaken = 5717,
    RetClockParkConfigError = 5851,
    RetClockParkEffectError = 5852,
    RetClockParkScriptAlreadyUnlock = 5853,
    RetClockParkScriptUnlockConditionNotMeet = 5854,
    RetClockParkTalentAlreadyUnlock = 5855,
    RetClockParkScriptLocked = 5856,
    RetClockParkHasOngoingScript = 5857,
    RetClockParkNoOngoingScript = 5858,
    RetClockParkDicePlacementError = 5859,
    RetClockParkMismatchStatus = 5860,
    RetClockParkNoBuff = 5861,
    RetClockParkSlotMachineGachaReqDuplicated = 5862,
    RetClockParkSlotMachineCostNotEnough = 5863,
    RetClockParkSlotMachineGachaCntExceedLimit = 5864,
    RetClockParkNotOpen = 5865,
    RetTournRogueStatusMismatch = 5901,
    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,
}
impl Retcode {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Retcode::RetSucc => "RET_SUCC",
            Retcode::RetFail => "RET_FAIL",
            Retcode::RetServerInternalError => "RET_SERVER_INTERNAL_ERROR",
            Retcode::RetTimeout => "RET_TIMEOUT",
            Retcode::RetRepeatedReq => "RET_REPEATED_REQ",
            Retcode::RetReqParaInvalid => "RET_REQ_PARA_INVALID",
            Retcode::RetPlayerDataError => "RET_PLAYER_DATA_ERROR",
            Retcode::RetPlayerClientPaused => "RET_PLAYER_CLIENT_PAUSED",
            Retcode::RetFuncCheckFailed => "RET_FUNC_CHECK_FAILED",
            Retcode::RetFeatureSwitchClosed => "RET_FEATURE_SWITCH_CLOSED",
            Retcode::RetFreqOverLimit => "RET_FREQ_OVER_LIMIT",
            Retcode::RetSystemBusy => "RET_SYSTEM_BUSY",
            Retcode::RetPlayerNotOnline => "RET_PLAYER_NOT_ONLINE",
            Retcode::RetRepeateLogin => "RET_REPEATE_LOGIN",
            Retcode::RetRetryLogin => "RET_RETRY_LOGIN",
            Retcode::RetWaitLogin => "RET_WAIT_LOGIN",
            Retcode::RetNotInWhiteList => "RET_NOT_IN_WHITE_LIST",
            Retcode::RetInBlackList => "RET_IN_BLACK_LIST",
            Retcode::RetAccountVerifyError => "RET_ACCOUNT_VERIFY_ERROR",
            Retcode::RetAccountParaError => "RET_ACCOUNT_PARA_ERROR",
            Retcode::RetAntiAddictLogin => "RET_ANTI_ADDICT_LOGIN",
            Retcode::RetCheckSumError => "RET_CHECK_SUM_ERROR",
            Retcode::RetReachMaxPlayerNum => "RET_REACH_MAX_PLAYER_NUM",
            Retcode::RetAlreadyRegistered => "RET_ALREADY_REGISTERED",
            Retcode::RetGenderError => "RET_GENDER_ERROR",
            Retcode::SetNicknameRetCallbackProcessing => {
                "SET_NICKNAME_RET_CALLBACK_PROCESSING"
            }
            Retcode::RetInGmBindAccess => "RET_IN_GM_BIND_ACCESS",
            Retcode::RetQuestRewardAlreadyTaken => "RET_QUEST_REWARD_ALREADY_TAKEN",
            Retcode::RetQuestNotAccept => "RET_QUEST_NOT_ACCEPT",
            Retcode::RetQuestNotFinish => "RET_QUEST_NOT_FINISH",
            Retcode::RetQuestStatusError => "RET_QUEST_STATUS_ERROR",
            Retcode::RetAchievementLevelNotReach => "RET_ACHIEVEMENT_LEVEL_NOT_REACH",
            Retcode::RetAchievementLevelAlreadyTaken => {
                "RET_ACHIEVEMENT_LEVEL_ALREADY_TAKEN"
            }
            Retcode::RetAvatarNotExist => "RET_AVATAR_NOT_EXIST",
            Retcode::RetAvatarResExpNotEnough => "RET_AVATAR_RES_EXP_NOT_ENOUGH",
            Retcode::RetAvatarExpReachPromotionLimit => {
                "RET_AVATAR_EXP_REACH_PROMOTION_LIMIT"
            }
            Retcode::RetAvatarReachMaxPromotion => "RET_AVATAR_REACH_MAX_PROMOTION",
            Retcode::RetSkilltreeConfigNotExist => "RET_SKILLTREE_CONFIG_NOT_EXIST",
            Retcode::RetSkilltreeAlreadyUnlock => "RET_SKILLTREE_ALREADY_UNLOCK",
            Retcode::RetSkilltreePreLocked => "RET_SKILLTREE_PRE_LOCKED",
            Retcode::RetSkilltreeLevelNotMeet => "RET_SKILLTREE_LEVEL_NOT_MEET",
            Retcode::RetSkilltreeRankNotMeet => "RET_SKILLTREE_RANK_NOT_MEET",
            Retcode::RetAvatarDressNoEquipment => "RET_AVATAR_DRESS_NO_EQUIPMENT",
            Retcode::RetAvatarExpItemNotExist => "RET_AVATAR_EXP_ITEM_NOT_EXIST",
            Retcode::RetSkilltreePointUnlock => "RET_SKILLTREE_POINT_UNLOCK",
            Retcode::RetSkilltreePointLevelUpgradeNotMatch => {
                "RET_SKILLTREE_POINT_LEVEL_UPGRADE_NOT_MATCH"
            }
            Retcode::RetSkilltreePointLevelReachMax => {
                "RET_SKILLTREE_POINT_LEVEL_REACH_MAX"
            }
            Retcode::RetWorldLevelNotMeet => "RET_WORLD_LEVEL_NOT_MEET",
            Retcode::RetPlayerLevelNotMeet => "RET_PLAYER_LEVEL_NOT_MEET",
            Retcode::RetAvatarRankNotMatch => "RET_AVATAR_RANK_NOT_MATCH",
            Retcode::RetAvatarRankReachMax => "RET_AVATAR_RANK_REACH_MAX",
            Retcode::RetHeroBasicTypeNotMatch => "RET_HERO_BASIC_TYPE_NOT_MATCH",
            Retcode::RetAvatarPromotionNotMeet => "RET_AVATAR_PROMOTION_NOT_MEET",
            Retcode::RetPromotionRewardConfigNotExist => {
                "RET_PROMOTION_REWARD_CONFIG_NOT_EXIST"
            }
            Retcode::RetPromotionRewardAlreadyTaken => {
                "RET_PROMOTION_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetAvatarSkinItemNotExist => "RET_AVATAR_SKIN_ITEM_NOT_EXIST",
            Retcode::RetAvatarSkinAlreadyDressed => "RET_AVATAR_SKIN_ALREADY_DRESSED",
            Retcode::RetAvatarNotDressSkin => "RET_AVATAR_NOT_DRESS_SKIN",
            Retcode::RetAvatarSkinNotMatchAvatar => "RET_AVATAR_SKIN_NOT_MATCH_AVATAR",
            Retcode::RetItemNotExist => "RET_ITEM_NOT_EXIST",
            Retcode::RetItemCostNotEnough => "RET_ITEM_COST_NOT_ENOUGH",
            Retcode::RetItemCostTooMuch => "RET_ITEM_COST_TOO_MUCH",
            Retcode::RetItemNoCost => "RET_ITEM_NO_COST",
            Retcode::RetItemNotEnough => "RET_ITEM_NOT_ENOUGH",
            Retcode::RetItemInvalid => "RET_ITEM_INVALID",
            Retcode::RetItemConfigNotExist => "RET_ITEM_CONFIG_NOT_EXIST",
            Retcode::RetScoinNotEnough => "RET_SCOIN_NOT_ENOUGH",
            Retcode::RetItemRewardExceedLimit => "RET_ITEM_REWARD_EXCEED_LIMIT",
            Retcode::RetItemInvalidUse => "RET_ITEM_INVALID_USE",
            Retcode::RetItemUseConfigNotExist => "RET_ITEM_USE_CONFIG_NOT_EXIST",
            Retcode::RetRewardConfigNotExist => "RET_REWARD_CONFIG_NOT_EXIST",
            Retcode::RetItemExceedLimit => "RET_ITEM_EXCEED_LIMIT",
            Retcode::RetItemCountInvalid => "RET_ITEM_COUNT_INVALID",
            Retcode::RetItemUseTargetTypeInvalid => "RET_ITEM_USE_TARGET_TYPE_INVALID",
            Retcode::RetItemUseSatietyFull => "RET_ITEM_USE_SATIETY_FULL",
            Retcode::RetItemComposeNotExist => "RET_ITEM_COMPOSE_NOT_EXIST",
            Retcode::RetRelicComposeNotExist => "RET_RELIC_COMPOSE_NOT_EXIST",
            Retcode::RetItemCanNotSell => "RET_ITEM_CAN_NOT_SELL",
            Retcode::RetItemSellExceddLimit => "RET_ITEM_SELL_EXCEDD_LIMIT",
            Retcode::RetItemNotInCostList => "RET_ITEM_NOT_IN_COST_LIST",
            Retcode::RetItemSpecialCostNotEnough => "RET_ITEM_SPECIAL_COST_NOT_ENOUGH",
            Retcode::RetItemSpecialCostTooMuch => "RET_ITEM_SPECIAL_COST_TOO_MUCH",
            Retcode::RetItemFormulaNotExist => "RET_ITEM_FORMULA_NOT_EXIST",
            Retcode::RetItemAutoGiftOptionalNotExist => {
                "RET_ITEM_AUTO_GIFT_OPTIONAL_NOT_EXIST"
            }
            Retcode::RetRelicComposeRelicInvalid => "RET_RELIC_COMPOSE_RELIC_INVALID",
            Retcode::RetRelicComposeMainAffixIdInvalid => {
                "RET_RELIC_COMPOSE_MAIN_AFFIX_ID_INVALID"
            }
            Retcode::RetRelicComposeWrongFormulaType => {
                "RET_RELIC_COMPOSE_WRONG_FORMULA_TYPE"
            }
            Retcode::RetRelicComposeRelicNotExist => "RET_RELIC_COMPOSE_RELIC_NOT_EXIST",
            Retcode::RetRelicComposeBlackGoldCountInvalid => {
                "RET_RELIC_COMPOSE_BLACK_GOLD_COUNT_INVALID"
            }
            Retcode::RetRelicComposeBlackGoldNotNeed => {
                "RET_RELIC_COMPOSE_BLACK_GOLD_NOT_NEED"
            }
            Retcode::RetMonthCardCannotUse => "RET_MONTH_CARD_CANNOT_USE",
            Retcode::RetItemRewardExceedDisappear => "RET_ITEM_REWARD_EXCEED_DISAPPEAR",
            Retcode::RetItemNeedRecycle => "RET_ITEM_NEED_RECYCLE",
            Retcode::RetItemComposeExceedLimit => "RET_ITEM_COMPOSE_EXCEED_LIMIT",
            Retcode::RetItemCanNotDestroy => "RET_ITEM_CAN_NOT_DESTROY",
            Retcode::RetItemAlreadyMark => "RET_ITEM_ALREADY_MARK",
            Retcode::RetItemMarkExceedLimit => "RET_ITEM_MARK_EXCEED_LIMIT",
            Retcode::RetItemNotMark => "RET_ITEM_NOT_MARK",
            Retcode::RetItenTurnFoodNotSet => "RET_ITEN_TURN_FOOD_NOT_SET",
            Retcode::RetItemTurnFoodAlreadySet => "RET_ITEM_TURN_FOOD_ALREADY_SET",
            Retcode::RetItemTurnFoodConsumeTypeError => {
                "RET_ITEM_TURN_FOOD_CONSUME_TYPE_ERROR"
            }
            Retcode::RetItemTurnFoodSwitchAlreadyOpen => {
                "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_OPEN"
            }
            Retcode::RetItemTurnFoodSwitchAlreadyClose => {
                "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_CLOSE"
            }
            Retcode::RetHcoinExchangeTooMuch => "RET_HCOIN_EXCHANGE_TOO_MUCH",
            Retcode::RetItemTurnFoodSceneTypeError => {
                "RET_ITEM_TURN_FOOD_SCENE_TYPE_ERROR"
            }
            Retcode::RetEquipmentAlreadyDressed => "RET_EQUIPMENT_ALREADY_DRESSED",
            Retcode::RetEquipmentNotExist => "RET_EQUIPMENT_NOT_EXIST",
            Retcode::RetEquipmentReachLevelLimit => "RET_EQUIPMENT_REACH_LEVEL_LIMIT",
            Retcode::RetEquipmentConsumeSelf => "RET_EQUIPMENT_CONSUME_SELF",
            Retcode::RetEquipmentAlreadyLocked => "RET_EQUIPMENT_ALREADY_LOCKED",
            Retcode::RetEquipmentAlreadyUnlocked => "RET_EQUIPMENT_ALREADY_UNLOCKED",
            Retcode::RetEquipmentLocked => "RET_EQUIPMENT_LOCKED",
            Retcode::RetEquipmentSelectNumOverLimit => {
                "RET_EQUIPMENT_SELECT_NUM_OVER_LIMIT"
            }
            Retcode::RetEquipmentRankUpMustConsumeSameTid => {
                "RET_EQUIPMENT_RANK_UP_MUST_CONSUME_SAME_TID"
            }
            Retcode::RetEquipmentPromotionReachMax => "RET_EQUIPMENT_PROMOTION_REACH_MAX",
            Retcode::RetEquipmentRankUpReachMax => "RET_EQUIPMENT_RANK_UP_REACH_MAX",
            Retcode::RetEquipmentLevelReachMax => "RET_EQUIPMENT_LEVEL_REACH_MAX",
            Retcode::RetEquipmentExceedLimit => "RET_EQUIPMENT_EXCEED_LIMIT",
            Retcode::RetRelicNotExist => "RET_RELIC_NOT_EXIST",
            Retcode::RetRelicReachLevelLimit => "RET_RELIC_REACH_LEVEL_LIMIT",
            Retcode::RetRelicConsumeSelf => "RET_RELIC_CONSUME_SELF",
            Retcode::RetRelicAlreadyDressed => "RET_RELIC_ALREADY_DRESSED",
            Retcode::RetRelicLocked => "RET_RELIC_LOCKED",
            Retcode::RetRelicAlreadyLocked => "RET_RELIC_ALREADY_LOCKED",
            Retcode::RetRelicAlreadyUnlocked => "RET_RELIC_ALREADY_UNLOCKED",
            Retcode::RetRelicLevelIsNotZero => "RET_RELIC_LEVEL_IS_NOT_ZERO",
            Retcode::RetUniqueIdRepeated => "RET_UNIQUE_ID_REPEATED",
            Retcode::RetEquipmentLevelNotMeet => "RET_EQUIPMENT_LEVEL_NOT_MEET",
            Retcode::RetEquipmentItemNotInCostList => {
                "RET_EQUIPMENT_ITEM_NOT_IN_COST_LIST"
            }
            Retcode::RetEquipmentLevelGreaterThanOne => {
                "RET_EQUIPMENT_LEVEL_GREATER_THAN_ONE"
            }
            Retcode::RetEquipmentAlreadyRanked => "RET_EQUIPMENT_ALREADY_RANKED",
            Retcode::RetRelicExceedLimit => "RET_RELIC_EXCEED_LIMIT",
            Retcode::RetRelicAlreadyDiscarded => "RET_RELIC_ALREADY_DISCARDED",
            Retcode::RetRelicAlreadyUndiscarded => "RET_RELIC_ALREADY_UNDISCARDED",
            Retcode::RetEquipmentBatchLockTooFast => "RET_EQUIPMENT_BATCH_LOCK_TOO_FAST",
            Retcode::RetLineupInvalidIndex => "RET_LINEUP_INVALID_INDEX",
            Retcode::RetLineupInvalidMemberPos => "RET_LINEUP_INVALID_MEMBER_POS",
            Retcode::RetLineupSwapNotExist => "RET_LINEUP_SWAP_NOT_EXIST",
            Retcode::RetLineupAvatarAlreadyIn => "RET_LINEUP_AVATAR_ALREADY_IN",
            Retcode::RetLineupCreateAvatarError => "RET_LINEUP_CREATE_AVATAR_ERROR",
            Retcode::RetLineupAvatarInitError => "RET_LINEUP_AVATAR_INIT_ERROR",
            Retcode::RetLineupNotExist => "RET_LINEUP_NOT_EXIST",
            Retcode::RetLineupOnlyOneMember => "RET_LINEUP_ONLY_ONE_MEMBER",
            Retcode::RetLineupSameLeaderSlot => "RET_LINEUP_SAME_LEADER_SLOT",
            Retcode::RetLineupNoLeaderSelect => "RET_LINEUP_NO_LEADER_SELECT",
            Retcode::RetLineupSwapSameSlot => "RET_LINEUP_SWAP_SAME_SLOT",
            Retcode::RetLineupAvatarNotExist => "RET_LINEUP_AVATAR_NOT_EXIST",
            Retcode::RetLineupTrialAvatarCanNotQuit => {
                "RET_LINEUP_TRIAL_AVATAR_CAN_NOT_QUIT"
            }
            Retcode::RetLineupVirtualLineupPlaneNotMatch => {
                "RET_LINEUP_VIRTUAL_LINEUP_PLANE_NOT_MATCH"
            }
            Retcode::RetLineupNotValidLeader => "RET_LINEUP_NOT_VALID_LEADER",
            Retcode::RetLineupSameIndex => "RET_LINEUP_SAME_INDEX",
            Retcode::RetLineupIsEmpty => "RET_LINEUP_IS_EMPTY",
            Retcode::RetLineupNameFormatError => "RET_LINEUP_NAME_FORMAT_ERROR",
            Retcode::RetLineupTypeNotMatch => "RET_LINEUP_TYPE_NOT_MATCH",
            Retcode::RetLineupReplaceAllFailed => "RET_LINEUP_REPLACE_ALL_FAILED",
            Retcode::RetLineupNotAllowEdit => "RET_LINEUP_NOT_ALLOW_EDIT",
            Retcode::RetLineupAvatarIsAlive => "RET_LINEUP_AVATAR_IS_ALIVE",
            Retcode::RetLineupAssistHasOnlyMember => "RET_LINEUP_ASSIST_HAS_ONLY_MEMBER",
            Retcode::RetLineupAssistCannotSwitch => "RET_LINEUP_ASSIST_CANNOT_SWITCH",
            Retcode::RetLineupAvatarTypeInvalid => "RET_LINEUP_AVATAR_TYPE_INVALID",
            Retcode::RetLineupNameUtf8Error => "RET_LINEUP_NAME_UTF8_ERROR",
            Retcode::RetLineupLeaderLock => "RET_LINEUP_LEADER_LOCK",
            Retcode::RetLineupStoryLineNotMatch => "RET_LINEUP_STORY_LINE_NOT_MATCH",
            Retcode::RetLineupAvatarLock => "RET_LINEUP_AVATAR_LOCK",
            Retcode::RetLineupAvatarInvalid => "RET_LINEUP_AVATAR_INVALID",
            Retcode::RetLineupAvatarAlreadyInit => "RET_LINEUP_AVATAR_ALREADY_INIT",
            Retcode::RetMailNotExist => "RET_MAIL_NOT_EXIST",
            Retcode::RetMailRangeInvalid => "RET_MAIL_RANGE_INVALID",
            Retcode::RetMailMailIdInvalid => "RET_MAIL_MAIL_ID_INVALID",
            Retcode::RetMailNoMailTakeAttachment => "RET_MAIL_NO_MAIL_TAKE_ATTACHMENT",
            Retcode::RetMailNoMailToDel => "RET_MAIL_NO_MAIL_TO_DEL",
            Retcode::RetMailTypeInvalid => "RET_MAIL_TYPE_INVALID",
            Retcode::RetMailParaInvalid => "RET_MAIL_PARA_INVALID",
            Retcode::RetMailAttachementInvalid => "RET_MAIL_ATTACHEMENT_INVALID",
            Retcode::RetMailTicketInvalid => "RET_MAIL_TICKET_INVALID",
            Retcode::RetMailTicketRepeated => "RET_MAIL_TICKET_REPEATED",
            Retcode::RetStageSettleError => "RET_STAGE_SETTLE_ERROR",
            Retcode::RetStageConfigNotExist => "RET_STAGE_CONFIG_NOT_EXIST",
            Retcode::RetStageNotFound => "RET_STAGE_NOT_FOUND",
            Retcode::RetStageCocoonPropNotValid => "RET_STAGE_COCOON_PROP_NOT_VALID",
            Retcode::RetStageCocoonWaveNotValid => "RET_STAGE_COCOON_WAVE_NOT_VALID",
            Retcode::RetStagePropIdNotEqual => "RET_STAGE_PROP_ID_NOT_EQUAL",
            Retcode::RetStageCocoonWaveOver => "RET_STAGE_COCOON_WAVE_OVER",
            Retcode::RetStageWeekCocoonOverCnt => "RET_STAGE_WEEK_COCOON_OVER_CNT",
            Retcode::RetStageCocoonNotOpen => "RET_STAGE_COCOON_NOT_OPEN",
            Retcode::RetStageTrialNotOpen => "RET_STAGE_TRIAL_NOT_OPEN",
            Retcode::RetStageFarmNotOpen => "RET_STAGE_FARM_NOT_OPEN",
            Retcode::RetStageFarmTypeError => "RET_STAGE_FARM_TYPE_ERROR",
            Retcode::RetChapterLock => "RET_CHAPTER_LOCK",
            Retcode::RetChapterChallengeNumNotEnough => {
                "RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH"
            }
            Retcode::RetChapterRewardIdNotExist => "RET_CHAPTER_REWARD_ID_NOT_EXIST",
            Retcode::RetChapterRewardAlreadyTaken => "RET_CHAPTER_REWARD_ALREADY_TAKEN",
            Retcode::RetBattleStageNotMatch => "RET_BATTLE_STAGE_NOT_MATCH",
            Retcode::RetInBattleNow => "RET_IN_BATTLE_NOW",
            Retcode::RetBattleCheat => "RET_BATTLE_CHEAT",
            Retcode::RetBattleFail => "RET_BATTLE_FAIL",
            Retcode::RetBattleNoLineup => "RET_BATTLE_NO_LINEUP",
            Retcode::RetBattleLineupEmpty => "RET_BATTLE_LINEUP_EMPTY",
            Retcode::RetBattleVersionNotMatch => "RET_BATTLE_VERSION_NOT_MATCH",
            Retcode::RetBattleQuitByServer => "RET_BATTLE_QUIT_BY_SERVER",
            Retcode::RetInBattleCheck => "RET_IN_BATTLE_CHECK",
            Retcode::RetBattleCheckNeedRetry => "RET_BATTLE_CHECK_NEED_RETRY",
            Retcode::RetBattleCostTimeCheckFail => "RET_BATTLE_COST_TIME_CHECK_FAIL",
            Retcode::RetLackExchangeStaminaTimes => "RET_LACK_EXCHANGE_STAMINA_TIMES",
            Retcode::RetLackStamina => "RET_LACK_STAMINA",
            Retcode::RetStaminaFull => "RET_STAMINA_FULL",
            Retcode::RetAuthkeySignTypeError => "RET_AUTHKEY_SIGN_TYPE_ERROR",
            Retcode::RetAuthkeySignVerError => "RET_AUTHKEY_SIGN_VER_ERROR",
            Retcode::RetNicknameFormatError => "RET_NICKNAME_FORMAT_ERROR",
            Retcode::RetSensitiveWords => "RET_SENSITIVE_WORDS",
            Retcode::RetLevelRewardHasTaken => "RET_LEVEL_REWARD_HAS_TAKEN",
            Retcode::RetLevelRewardLevelError => "RET_LEVEL_REWARD_LEVEL_ERROR",
            Retcode::RetLanguageInvalid => "RET_LANGUAGE_INVALID",
            Retcode::RetNicknameInCd => "RET_NICKNAME_IN_CD",
            Retcode::RetGameplayBirthdayInvalid => "RET_GAMEPLAY_BIRTHDAY_INVALID",
            Retcode::RetGameplayBirthdayAlreadySet => "RET_GAMEPLAY_BIRTHDAY_ALREADY_SET",
            Retcode::RetNicknameUtf8Error => "RET_NICKNAME_UTF8_ERROR",
            Retcode::RetNicknameDigitLimitError => "RET_NICKNAME_DIGIT_LIMIT_ERROR",
            Retcode::RetSensitiveWordsPlatformError => {
                "RET_SENSITIVE_WORDS_PLATFORM_ERROR"
            }
            Retcode::RetPlayerSettingTypeInvalid => "RET_PLAYER_SETTING_TYPE_INVALID",
            Retcode::RetMazeLackTicket => "RET_MAZE_LACK_TICKET",
            Retcode::RetMazeNotUnlock => "RET_MAZE_NOT_UNLOCK",
            Retcode::RetMazeNoAbility => "RET_MAZE_NO_ABILITY",
            Retcode::RetMazeNoPlane => "RET_MAZE_NO_PLANE",
            Retcode::RetMazeMapNotExist => "RET_MAZE_MAP_NOT_EXIST",
            Retcode::RetMazeMpNotEnough => "RET_MAZE_MP_NOT_ENOUGH",
            Retcode::RetSpringNotEnable => "RET_SPRING_NOT_ENABLE",
            Retcode::RetSpringTooFar => "RET_SPRING_TOO_FAR",
            Retcode::RetNotInMaze => "RET_NOT_IN_MAZE",
            Retcode::RetMazeTimeOfDayTypeError => "RET_MAZE_TIME_OF_DAY_TYPE_ERROR",
            Retcode::RetSceneTransferLockedByTask => "RET_SCENE_TRANSFER_LOCKED_BY_TASK",
            Retcode::RetPlotNotUnlock => "RET_PLOT_NOT_UNLOCK",
            Retcode::RetMissionNotExist => "RET_MISSION_NOT_EXIST",
            Retcode::RetMissionAlreadyDone => "RET_MISSION_ALREADY_DONE",
            Retcode::RetDailyTaskNotFinish => "RET_DAILY_TASK_NOT_FINISH",
            Retcode::RetDailyTaskRewardHasTaken => "RET_DAILY_TASK_REWARD_HAS_TAKEN",
            Retcode::RetMissionNotFinish => "RET_MISSION_NOT_FINISH",
            Retcode::RetMissionNotDoing => "RET_MISSION_NOT_DOING",
            Retcode::RetMissionFinishWayNotMatch => "RET_MISSION_FINISH_WAY_NOT_MATCH",
            Retcode::RetMissionSceneNotMatch => "RET_MISSION_SCENE_NOT_MATCH",
            Retcode::RetMissionCustomValueNotValid => {
                "RET_MISSION_CUSTOM_VALUE_NOT_VALID"
            }
            Retcode::RetMissionSubMissionNotMatch => "RET_MISSION_SUB_MISSION_NOT_MATCH",
            Retcode::RetAdventureMapNotExist => "RET_ADVENTURE_MAP_NOT_EXIST",
            Retcode::RetSceneEntityNotExist => "RET_SCENE_ENTITY_NOT_EXIST",
            Retcode::RetNotInScene => "RET_NOT_IN_SCENE",
            Retcode::RetSceneMonsterNotExist => "RET_SCENE_MONSTER_NOT_EXIST",
            Retcode::RetInteractConfigNotExist => "RET_INTERACT_CONFIG_NOT_EXIST",
            Retcode::RetUnsupportedPropState => "RET_UNSUPPORTED_PROP_STATE",
            Retcode::RetSceneEntryIdNotMatch => "RET_SCENE_ENTRY_ID_NOT_MATCH",
            Retcode::RetSceneEntityMoveCheckFailed => {
                "RET_SCENE_ENTITY_MOVE_CHECK_FAILED"
            }
            Retcode::RetAssistMonsterCountLimit => "RET_ASSIST_MONSTER_COUNT_LIMIT",
            Retcode::RetSceneUseSkillFail => "RET_SCENE_USE_SKILL_FAIL",
            Retcode::RetPropIsHidden => "RET_PROP_IS_HIDDEN",
            Retcode::RetLoadingSuccAlready => "RET_LOADING_SUCC_ALREADY",
            Retcode::RetSceneEntityTypeInvalid => "RET_SCENE_ENTITY_TYPE_INVALID",
            Retcode::RetInteractTypeInvalid => "RET_INTERACT_TYPE_INVALID",
            Retcode::RetInteractNotInRegion => "RET_INTERACT_NOT_IN_REGION",
            Retcode::RetInteractSubTypeInvalid => "RET_INTERACT_SUB_TYPE_INVALID",
            Retcode::RetNotLeaderEntity => "RET_NOT_LEADER_ENTITY",
            Retcode::RetMonsterIsNotFarmElement => "RET_MONSTER_IS_NOT_FARM_ELEMENT",
            Retcode::RetMonsterConfigNotExist => "RET_MONSTER_CONFIG_NOT_EXIST",
            Retcode::RetAvatarHpAlreadyFull => "RET_AVATAR_HP_ALREADY_FULL",
            Retcode::RetCurInteractEntityNotMatch => "RET_CUR_INTERACT_ENTITY_NOT_MATCH",
            Retcode::RetPlaneTypeNotAllow => "RET_PLANE_TYPE_NOT_ALLOW",
            Retcode::RetGroupNotExist => "RET_GROUP_NOT_EXIST",
            Retcode::RetGroupSaveDataInCd => "RET_GROUP_SAVE_DATA_IN_CD",
            Retcode::RetGroupSaveLenghReachMax => "RET_GROUP_SAVE_LENGH_REACH_MAX",
            Retcode::RetRecentElementNotExist => "RET_RECENT_ELEMENT_NOT_EXIST",
            Retcode::RetRecentElementStageNotMatch => {
                "RET_RECENT_ELEMENT_STAGE_NOT_MATCH"
            }
            Retcode::RetScenePositionVersionNotMatch => {
                "RET_SCENE_POSITION_VERSION_NOT_MATCH"
            }
            Retcode::RetGameplayCounterNotExist => "RET_GAMEPLAY_COUNTER_NOT_EXIST",
            Retcode::RetGameplayCounterNotEnough => "RET_GAMEPLAY_COUNTER_NOT_ENOUGH",
            Retcode::RetGroupStateNotMatch => "RET_GROUP_STATE_NOT_MATCH",
            Retcode::RetSceneEntityPosNotMatch => "RET_SCENE_ENTITY_POS_NOT_MATCH",
            Retcode::RetGroupStateCustomSaveDataOff => {
                "RET_GROUP_STATE_CUSTOM_SAVE_DATA_OFF"
            }
            Retcode::RetBuyTimesLimit => "RET_BUY_TIMES_LIMIT",
            Retcode::RetBuyLimitType => "RET_BUY_LIMIT_TYPE",
            Retcode::RetShopNotOpen => "RET_SHOP_NOT_OPEN",
            Retcode::RetGoodsNotOpen => "RET_GOODS_NOT_OPEN",
            Retcode::RetCityLevelRewardTaken => "RET_CITY_LEVEL_REWARD_TAKEN",
            Retcode::RetCityLevelNotMeet => "RET_CITY_LEVEL_NOT_MEET",
            Retcode::RetSingleBuyLimit => "RET_SINGLE_BUY_LIMIT",
            Retcode::RetTutorialNotUnlock => "RET_TUTORIAL_NOT_UNLOCK",
            Retcode::RetTutorialUnlockAlready => "RET_TUTORIAL_UNLOCK_ALREADY",
            Retcode::RetTutorialFinishAlready => "RET_TUTORIAL_FINISH_ALREADY",
            Retcode::RetTutorialPreNotUnlock => "RET_TUTORIAL_PRE_NOT_UNLOCK",
            Retcode::RetTutorialPlayerLevelNotMatch => {
                "RET_TUTORIAL_PLAYER_LEVEL_NOT_MATCH"
            }
            Retcode::RetTutorialTutorialNotFound => "RET_TUTORIAL_TUTORIAL_NOT_FOUND",
            Retcode::RetChallengeNotExist => "RET_CHALLENGE_NOT_EXIST",
            Retcode::RetChallengeNotUnlock => "RET_CHALLENGE_NOT_UNLOCK",
            Retcode::RetChallengeAlready => "RET_CHALLENGE_ALREADY",
            Retcode::RetChallengeLineupEditForbidden => {
                "RET_CHALLENGE_LINEUP_EDIT_FORBIDDEN"
            }
            Retcode::RetChallengeLineupEmpty => "RET_CHALLENGE_LINEUP_EMPTY",
            Retcode::RetChallengeNotDoing => "RET_CHALLENGE_NOT_DOING",
            Retcode::RetChallengeNotFinish => "RET_CHALLENGE_NOT_FINISH",
            Retcode::RetChallengeTargetNotFinish => "RET_CHALLENGE_TARGET_NOT_FINISH",
            Retcode::RetChallengeTargetRewardTaken => "RET_CHALLENGE_TARGET_REWARD_TAKEN",
            Retcode::RetChallengeTimeNotValid => "RET_CHALLENGE_TIME_NOT_VALID",
            Retcode::RetChallengeStarsCountNotMeet => {
                "RET_CHALLENGE_STARS_COUNT_NOT_MEET"
            }
            Retcode::RetChallengeStarsRewardTaken => "RET_CHALLENGE_STARS_REWARD_TAKEN",
            Retcode::RetChallengeStarsNotExist => "RET_CHALLENGE_STARS_NOT_EXIST",
            Retcode::RetChallengeCurSceneNotEntryFloor => {
                "RET_CHALLENGE_CUR_SCENE_NOT_ENTRY_FLOOR"
            }
            Retcode::RetChallengeNoTeamArchive => "RET_CHALLENGE_NO_TEAM_ARCHIVE",
            Retcode::RetChallengeLineupAvatarTypeInvalid => {
                "RET_CHALLENGE_LINEUP_AVATAR_TYPE_INVALID"
            }
            Retcode::RetBasicTypeAlready => "RET_BASIC_TYPE_ALREADY",
            Retcode::RetNoBasicType => "RET_NO_BASIC_TYPE",
            Retcode::RetNotChooseBasicType => "RET_NOT_CHOOSE_BASIC_TYPE",
            Retcode::RetNotFuncClose => "RET_NOT_FUNC_CLOSE",
            Retcode::RetNotChooseGender => "RET_NOT_CHOOSE_GENDER",
            Retcode::RetRogueStatusNotMatch => "RET_ROGUE_STATUS_NOT_MATCH",
            Retcode::RetRogueSelectBuffNotExist => "RET_ROGUE_SELECT_BUFF_NOT_EXIST",
            Retcode::RetRogueCoinNotEnough => "RET_ROGUE_COIN_NOT_ENOUGH",
            Retcode::RetRogueStaminaNotEnough => "RET_ROGUE_STAMINA_NOT_ENOUGH",
            Retcode::RetRogueAppraisalCountNotEnough => {
                "RET_ROGUE_APPRAISAL_COUNT_NOT_ENOUGH"
            }
            Retcode::RetRoguePropAlreadyUsed => "RET_ROGUE_PROP_ALREADY_USED",
            Retcode::RetRogueRecordAlreadySaved => "RET_ROGUE_RECORD_ALREADY_SAVED",
            Retcode::RetRogueRollBuffMaxCount => "RET_ROGUE_ROLL_BUFF_MAX_COUNT",
            Retcode::RetRoguePickAvatarInvalid => "RET_ROGUE_PICK_AVATAR_INVALID",
            Retcode::RetRogueQuestExpire => "RET_ROGUE_QUEST_EXPIRE",
            Retcode::RetRogueQuestRewardAlready => "RET_ROGUE_QUEST_REWARD_ALREADY",
            Retcode::RetRogueReviveCountNotEnough => "RET_ROGUE_REVIVE_COUNT_NOT_ENOUGH",
            Retcode::RetRogueAreaInvalid => "RET_ROGUE_AREA_INVALID",
            Retcode::RetRogueScoreRewardPoolInvalid => {
                "RET_ROGUE_SCORE_REWARD_POOL_INVALID"
            }
            Retcode::RetRogueScoreRewardRowInvalid => {
                "RET_ROGUE_SCORE_REWARD_ROW_INVALID"
            }
            Retcode::RetRogueAeonLevelNotMeet => "RET_ROGUE_AEON_LEVEL_NOT_MEET",
            Retcode::RetRogueAeonLevelRewardAlreadyTaken => {
                "RET_ROGUE_AEON_LEVEL_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetRogueAeonConfigNotExist => "RET_ROGUE_AEON_CONFIG_NOT_EXIST",
            Retcode::RetRogueTrialAvatarInvalid => "RET_ROGUE_TRIAL_AVATAR_INVALID",
            Retcode::RetRogueHandbookRewardAlreadyTaken => {
                "RET_ROGUE_HANDBOOK_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetRogueRoomTypeNotMatch => "RET_ROGUE_ROOM_TYPE_NOT_MATCH",
            Retcode::RetRogueShopGoodNotFound => "RET_ROGUE_SHOP_GOOD_NOT_FOUND",
            Retcode::RetRogueShopGoodAlreadyBought => {
                "RET_ROGUE_SHOP_GOOD_ALREADY_BOUGHT"
            }
            Retcode::RetRogueShopGoodAlreadyOwn => "RET_ROGUE_SHOP_GOOD_ALREADY_OWN",
            Retcode::RetRogueShopMiracleNotExist => "RET_ROGUE_SHOP_MIRACLE_NOT_EXIST",
            Retcode::RetRogueShopNotExist => "RET_ROGUE_SHOP_NOT_EXIST",
            Retcode::RetRogueShopCannotRefresh => "RET_ROGUE_SHOP_CANNOT_REFRESH",
            Retcode::RetRogueSelectBuffCertainMismatch => {
                "RET_ROGUE_SELECT_BUFF_CERTAIN_MISMATCH"
            }
            Retcode::RetMissionEventConfigNotExist => {
                "RET_MISSION_EVENT_CONFIG_NOT_EXIST"
            }
            Retcode::RetMissionEventNotClient => "RET_MISSION_EVENT_NOT_CLIENT",
            Retcode::RetMissionEventFinished => "RET_MISSION_EVENT_FINISHED",
            Retcode::RetMissionEventDoing => "RET_MISSION_EVENT_DOING",
            Retcode::RetHasChallengeMissionEvent => "RET_HAS_CHALLENGE_MISSION_EVENT",
            Retcode::RetNotChallengeMissionEvent => "RET_NOT_CHALLENGE_MISSION_EVENT",
            Retcode::RetGachaIdNotExist => "RET_GACHA_ID_NOT_EXIST",
            Retcode::RetGachaNumInvalid => "RET_GACHA_NUM_INVALID",
            Retcode::RetGachaFirstGachaMustOne => "RET_GACHA_FIRST_GACHA_MUST_ONE",
            Retcode::RetGachaReqDuplicated => "RET_GACHA_REQ_DUPLICATED",
            Retcode::RetGachaNotInSchedule => "RET_GACHA_NOT_IN_SCHEDULE",
            Retcode::RetGachaNewbieClose => "RET_GACHA_NEWBIE_CLOSE",
            Retcode::RetGachaTodayLimited => "RET_GACHA_TODAY_LIMITED",
            Retcode::RetGachaNotSupport => "RET_GACHA_NOT_SUPPORT",
            Retcode::RetGachaCeilingNotEnough => "RET_GACHA_CEILING_NOT_ENOUGH",
            Retcode::RetGachaCeilingClose => "RET_GACHA_CEILING_CLOSE",
            Retcode::RetNotInRaid => "RET_NOT_IN_RAID",
            Retcode::RetRaidDoing => "RET_RAID_DOING",
            Retcode::RetNotProp => "RET_NOT_PROP",
            Retcode::RetRaidIdNotMatch => "RET_RAID_ID_NOT_MATCH",
            Retcode::RetRaidRestartNotMatch => "RET_RAID_RESTART_NOT_MATCH",
            Retcode::RetRaidLimit => "RET_RAID_LIMIT",
            Retcode::RetRaidAvatarListEmpty => "RET_RAID_AVATAR_LIST_EMPTY",
            Retcode::RetRaidAvatarNotExist => "RET_RAID_AVATAR_NOT_EXIST",
            Retcode::RetChallengeRaidRewardAlready => "RET_CHALLENGE_RAID_REWARD_ALREADY",
            Retcode::RetChallengeRaidScoreNotReach => {
                "RET_CHALLENGE_RAID_SCORE_NOT_REACH"
            }
            Retcode::RetChallengeRaidNotOpen => "RET_CHALLENGE_RAID_NOT_OPEN",
            Retcode::RetRaidFinished => "RET_RAID_FINISHED",
            Retcode::RetRaidWorldLevelNotLock => "RET_RAID_WORLD_LEVEL_NOT_LOCK",
            Retcode::RetRaidCannotUseAssist => "RET_RAID_CANNOT_USE_ASSIST",
            Retcode::RetRaidAvatarNotMatch => "RET_RAID_AVATAR_NOT_MATCH",
            Retcode::RetRaidCanNotSave => "RET_RAID_CAN_NOT_SAVE",
            Retcode::RetRaidNoSave => "RET_RAID_NO_SAVE",
            Retcode::RetActivityRaidNotOpen => "RET_ACTIVITY_RAID_NOT_OPEN",
            Retcode::RetRaidAvatarCaptainNotExist => "RET_RAID_AVATAR_CAPTAIN_NOT_EXIST",
            Retcode::RetRaidStoryLineNotMatch => "RET_RAID_STORY_LINE_NOT_MATCH",
            Retcode::RetTalkEventAlreadyTaken => "RET_TALK_EVENT_ALREADY_TAKEN",
            Retcode::RetNpcAlreadyMeet => "RET_NPC_ALREADY_MEET",
            Retcode::RetNpcNotInConfig => "RET_NPC_NOT_IN_CONFIG",
            Retcode::RetDialogueGroupDismatch => "RET_DIALOGUE_GROUP_DISMATCH",
            Retcode::RetDialogueEventInvalid => "RET_DIALOGUE_EVENT_INVALID",
            Retcode::RetTalkEventTakeProtoNotMatch => {
                "RET_TALK_EVENT_TAKE_PROTO_NOT_MATCH"
            }
            Retcode::RetTalkEventNotValid => "RET_TALK_EVENT_NOT_VALID",
            Retcode::RetExpeditionConfigNotExist => "RET_EXPEDITION_CONFIG_NOT_EXIST",
            Retcode::RetExpeditionRewardConfigNotExist => {
                "RET_EXPEDITION_REWARD_CONFIG_NOT_EXIST"
            }
            Retcode::RetExpeditionNotUnlocked => "RET_EXPEDITION_NOT_UNLOCKED",
            Retcode::RetExpeditionAlreadyAccepted => "RET_EXPEDITION_ALREADY_ACCEPTED",
            Retcode::RetExpeditionRepeatedAvatar => "RET_EXPEDITION_REPEATED_AVATAR",
            Retcode::RetAvatarAlreadyDispatched => "RET_AVATAR_ALREADY_DISPATCHED",
            Retcode::RetExpeditionNotAccepted => "RET_EXPEDITION_NOT_ACCEPTED",
            Retcode::RetExpeditionNotFinish => "RET_EXPEDITION_NOT_FINISH",
            Retcode::RetExpeditionAlreadyFinish => "RET_EXPEDITION_ALREADY_FINISH",
            Retcode::RetExpeditionTeamCountLimit => "RET_EXPEDITION_TEAM_COUNT_LIMIT",
            Retcode::RetExpeditionAvatarNumNotMatch => {
                "RET_EXPEDITION_AVATAR_NUM_NOT_MATCH"
            }
            Retcode::RetExpeditionNotOpen => "RET_EXPEDITION_NOT_OPEN",
            Retcode::RetExpeditionFriendAvatarNotValid => {
                "RET_EXPEDITION_FRIEND_AVATAR_NOT_VALID"
            }
            Retcode::RetExpeditionNotPublished => "RET_EXPEDITION_NOT_PUBLISHED",
            Retcode::RetLoginActivityHasTaken => "RET_LOGIN_ACTIVITY_HAS_TAKEN",
            Retcode::RetLoginActivityDaysLack => "RET_LOGIN_ACTIVITY_DAYS_LACK",
            Retcode::RetTrialActivityRewardAlreadyTake => {
                "RET_TRIAL_ACTIVITY_REWARD_ALREADY_TAKE"
            }
            Retcode::RetTrialActivityStageNotFinish => {
                "RET_TRIAL_ACTIVITY_STAGE_NOT_FINISH"
            }
            Retcode::RetMonsterResearchActivityHasTaken => {
                "RET_MONSTER_RESEARCH_ACTIVITY_HAS_TAKEN"
            }
            Retcode::RetMonsterResearchActivityMaterialNotSubmitted => {
                "RET_MONSTER_RESEARCH_ACTIVITY_MATERIAL_NOT_SUBMITTED"
            }
            Retcode::RetMonsterResearchActivityMaterialAlreadySubmitted => {
                "RET_MONSTER_RESEARCH_ACTIVITY_MATERIAL_ALREADY_SUBMITTED"
            }
            Retcode::RetFantasticStoryActivityStoryError => {
                "RET_FANTASTIC_STORY_ACTIVITY_STORY_ERROR"
            }
            Retcode::RetFantasticStoryActivityStoryNotOpen => {
                "RET_FANTASTIC_STORY_ACTIVITY_STORY_NOT_OPEN"
            }
            Retcode::RetFantasticStoryActivityBattleError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_ERROR"
            }
            Retcode::RetFantasticStoryActivityBattleNotOpen => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_NOT_OPEN"
            }
            Retcode::RetFantasticStoryActivityBattleAvatarError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_AVATAR_ERROR"
            }
            Retcode::RetFantasticStoryActivityBattleBuffError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_BUFF_ERROR"
            }
            Retcode::RetFantasticStoryActivityPreBattleScoreNotEnough => {
                "RET_FANTASTIC_STORY_ACTIVITY_PRE_BATTLE_SCORE_NOT_ENOUGH"
            }
            Retcode::RetTrialActivityAlreadyInTrialActivity => {
                "RET_TRIAL_ACTIVITY_ALREADY_IN_TRIAL_ACTIVITY"
            }
            Retcode::RetMessageConfigNotExist => "RET_MESSAGE_CONFIG_NOT_EXIST",
            Retcode::RetMessageSectionNotTake => "RET_MESSAGE_SECTION_NOT_TAKE",
            Retcode::RetMessageGroupNotTake => "RET_MESSAGE_GROUP_NOT_TAKE",
            Retcode::RetMessageSectionIdNotMatch => "RET_MESSAGE_SECTION_ID_NOT_MATCH",
            Retcode::RetMessageSectionCanNotFinish => {
                "RET_MESSAGE_SECTION_CAN_NOT_FINISH"
            }
            Retcode::RetMessageItemCanNotFinish => "RET_MESSAGE_ITEM_CAN_NOT_FINISH",
            Retcode::RetMessageItemRaidCanNotFinish => {
                "RET_MESSAGE_ITEM_RAID_CAN_NOT_FINISH"
            }
            Retcode::RetFriendAlreadyIsFriend => "RET_FRIEND_ALREADY_IS_FRIEND",
            Retcode::RetFriendIsNotFriend => "RET_FRIEND_IS_NOT_FRIEND",
            Retcode::RetFriendApplyExpire => "RET_FRIEND_APPLY_EXPIRE",
            Retcode::RetFriendInBlacklist => "RET_FRIEND_IN_BLACKLIST",
            Retcode::RetFriendNotInBlacklist => "RET_FRIEND_NOT_IN_BLACKLIST",
            Retcode::RetFriendNumberLimit => "RET_FRIEND_NUMBER_LIMIT",
            Retcode::RetFriendBlacklistNumberLimit => "RET_FRIEND_BLACKLIST_NUMBER_LIMIT",
            Retcode::RetFriendDailyApplyLimit => "RET_FRIEND_DAILY_APPLY_LIMIT",
            Retcode::RetFriendInHandleLimit => "RET_FRIEND_IN_HANDLE_LIMIT",
            Retcode::RetFriendApplyInCd => "RET_FRIEND_APPLY_IN_CD",
            Retcode::RetFriendRemarkNameFormatError => {
                "RET_FRIEND_REMARK_NAME_FORMAT_ERROR"
            }
            Retcode::RetFriendPlayerNotFound => "RET_FRIEND_PLAYER_NOT_FOUND",
            Retcode::RetFriendInTargetBlacklist => "RET_FRIEND_IN_TARGET_BLACKLIST",
            Retcode::RetFriendTargetNumberLimit => "RET_FRIEND_TARGET_NUMBER_LIMIT",
            Retcode::RetAssistQueryTooFast => "RET_ASSIST_QUERY_TOO_FAST",
            Retcode::RetAssistNotExist => "RET_ASSIST_NOT_EXIST",
            Retcode::RetAssistUsedAlready => "RET_ASSIST_USED_ALREADY",
            Retcode::RetFriendReportReasonFormatError => {
                "RET_FRIEND_REPORT_REASON_FORMAT_ERROR"
            }
            Retcode::RetFriendReportSensitiveWords => "RET_FRIEND_REPORT_SENSITIVE_WORDS",
            Retcode::RetAssistUsedTimesOver => "RET_ASSIST_USED_TIMES_OVER",
            Retcode::RetAssistQuitAlready => "RET_ASSIST_QUIT_ALREADY",
            Retcode::RetAssistAvatarInLineup => "RET_ASSIST_AVATAR_IN_LINEUP",
            Retcode::RetAssistNoReward => "RET_ASSIST_NO_REWARD",
            Retcode::RetFriendSearchNumLimit => "RET_FRIEND_SEARCH_NUM_LIMIT",
            Retcode::RetFriendSearchInCd => "RET_FRIEND_SEARCH_IN_CD",
            Retcode::RetFriendRemarkNameUtf8Error => "RET_FRIEND_REMARK_NAME_UTF8_ERROR",
            Retcode::RetFriendReportReasonUtf8Error => {
                "RET_FRIEND_REPORT_REASON_UTF8_ERROR"
            }
            Retcode::RetAssistSetAlready => "RET_ASSIST_SET_ALREADY",
            Retcode::RetFriendTargetForbidOtherApply => {
                "RET_FRIEND_TARGET_FORBID_OTHER_APPLY"
            }
            Retcode::RetFriendMarkedCntMax => "RET_FRIEND_MARKED_CNT_MAX",
            Retcode::RetFriendMarkedAlready => "RET_FRIEND_MARKED_ALREADY",
            Retcode::RetFriendNotMarked => "RET_FRIEND_NOT_MARKED",
            Retcode::RetFriendChallengeLineupRecommendInCd => {
                "RET_FRIEND_CHALLENGE_LINEUP_RECOMMEND_IN_CD"
            }
            Retcode::RetViewPlayerCardInCd => "RET_VIEW_PLAYER_CARD_IN_CD",
            Retcode::RetViewPlayerBattleRecordInCd => {
                "RET_VIEW_PLAYER_BATTLE_RECORD_IN_CD"
            }
            Retcode::RetPlayerBoardHeadIconNotExist => {
                "RET_PLAYER_BOARD_HEAD_ICON_NOT_EXIST"
            }
            Retcode::RetPlayerBoardHeadIconLocked => "RET_PLAYER_BOARD_HEAD_ICON_LOCKED",
            Retcode::RetPlayerBoardHeadIconAlreadyUnlocked => {
                "RET_PLAYER_BOARD_HEAD_ICON_ALREADY_UNLOCKED"
            }
            Retcode::RetPlayerBoardDisplayAvatarNotExist => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_NOT_EXIST"
            }
            Retcode::RetPlayerBoardDisplayAvatarExceedLimit => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_EXCEED_LIMIT"
            }
            Retcode::RetPlayerBoardDisplayRepeatedAvatar => {
                "RET_PLAYER_BOARD_DISPLAY_REPEATED_AVATAR"
            }
            Retcode::RetPlayerBoardDisplayAvatarSamePos => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_SAME_POS"
            }
            Retcode::RetPlayerBoardDisplayAvatarLocked => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_LOCKED"
            }
            Retcode::RetSignatureLengthExceedLimit => "RET_SIGNATURE_LENGTH_EXCEED_LIMIT",
            Retcode::RetSignatureSensitiveWords => "RET_SIGNATURE_SENSITIVE_WORDS",
            Retcode::RetPlayerBoardAssistAvatarNotExist => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_NOT_EXIST"
            }
            Retcode::RetPlayerBoardAssistAvatarLocked => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_LOCKED"
            }
            Retcode::RetSignatureUtf8Error => "RET_SIGNATURE_UTF8_ERROR",
            Retcode::RetPlayerBoardAssistAvatarCntError => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_CNT_ERROR"
            }
            Retcode::RetBattlePassTierNotValid => "RET_BATTLE_PASS_TIER_NOT_VALID",
            Retcode::RetBattlePassLevelNotMeet => "RET_BATTLE_PASS_LEVEL_NOT_MEET",
            Retcode::RetBattlePassRewardTakeAlready => {
                "RET_BATTLE_PASS_REWARD_TAKE_ALREADY"
            }
            Retcode::RetBattlePassNotPremium => "RET_BATTLE_PASS_NOT_PREMIUM",
            Retcode::RetBattlePassNotDoing => "RET_BATTLE_PASS_NOT_DOING",
            Retcode::RetBattlePassLevelInvalid => "RET_BATTLE_PASS_LEVEL_INVALID",
            Retcode::RetBattlePassNotUnlock => "RET_BATTLE_PASS_NOT_UNLOCK",
            Retcode::RetBattlePassNoReward => "RET_BATTLE_PASS_NO_REWARD",
            Retcode::RetBattlePassQuestNotValid => "RET_BATTLE_PASS_QUEST_NOT_VALID",
            Retcode::RetBattlePassNotChooseOptional => {
                "RET_BATTLE_PASS_NOT_CHOOSE_OPTIONAL"
            }
            Retcode::RetBattlePassNotTakeReward => "RET_BATTLE_PASS_NOT_TAKE_REWARD",
            Retcode::RetBattlePassOptionalNotValid => {
                "RET_BATTLE_PASS_OPTIONAL_NOT_VALID"
            }
            Retcode::RetBattlePassBuyAlready => "RET_BATTLE_PASS_BUY_ALREADY",
            Retcode::RetBattlePassNearEnd => "RET_BATTLE_PASS_NEAR_END",
            Retcode::RetMusicLocked => "RET_MUSIC_LOCKED",
            Retcode::RetMusicNotExist => "RET_MUSIC_NOT_EXIST",
            Retcode::RetMusicUnlockFailed => "RET_MUSIC_UNLOCK_FAILED",
            Retcode::RetPunkLordLackSummonTimes => "RET_PUNK_LORD_LACK_SUMMON_TIMES",
            Retcode::RetPunkLordAttackingMonsterLimit => {
                "RET_PUNK_LORD_ATTACKING_MONSTER_LIMIT"
            }
            Retcode::RetPunkLordMonsterNotExist => "RET_PUNK_LORD_MONSTER_NOT_EXIST",
            Retcode::RetPunkLordMonsterAlreadyShared => {
                "RET_PUNK_LORD_MONSTER_ALREADY_SHARED"
            }
            Retcode::RetPunkLordMonsterExpired => "RET_PUNK_LORD_MONSTER_EXPIRED",
            Retcode::RetPunkLordSelfMonsterAttackLimit => {
                "RET_PUNK_LORD_SELF_MONSTER_ATTACK_LIMIT"
            }
            Retcode::RetPunkLordLackSupportTimes => "RET_PUNK_LORD_LACK_SUPPORT_TIMES",
            Retcode::RetPunkLordMonsterAlreadyKilled => {
                "RET_PUNK_LORD_MONSTER_ALREADY_KILLED"
            }
            Retcode::RetPunkLordMonsterAttackerLimit => {
                "RET_PUNK_LORD_MONSTER_ATTACKER_LIMIT"
            }
            Retcode::RetPunkLordWorldLevleNotValid => {
                "RET_PUNK_LORD_WORLD_LEVLE_NOT_VALID"
            }
            Retcode::RetPunkLordRewardLevleNotExist => {
                "RET_PUNK_LORD_REWARD_LEVLE_NOT_EXIST"
            }
            Retcode::RetPunkLordPointNotMeet => "RET_PUNK_LORD_POINT_NOT_MEET",
            Retcode::RetPunkLordInAttacking => "RET_PUNK_LORD_IN_ATTACKING",
            Retcode::RetPunkLordOperationInCd => "RET_PUNK_LORD_OPERATION_IN_CD",
            Retcode::RetPunkLordRewardAlreadyTaken => {
                "RET_PUNK_LORD_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetPunkLordOverBonusRewardLimit => {
                "RET_PUNK_LORD_OVER_BONUS_REWARD_LIMIT"
            }
            Retcode::RetPunkLordNotInSchedule => "RET_PUNK_LORD_NOT_IN_SCHEDULE",
            Retcode::RetPunkLordMonsterNotAttacked => {
                "RET_PUNK_LORD_MONSTER_NOT_ATTACKED"
            }
            Retcode::RetPunkLordMonsterNotKilled => "RET_PUNK_LORD_MONSTER_NOT_KILLED",
            Retcode::RetPunkLordMonsterKilledScoreAlreadyTake => {
                "RET_PUNK_LORD_MONSTER_KILLED_SCORE_ALREADY_TAKE"
            }
            Retcode::RetPunkLordRewardLevleAlreadyTake => {
                "RET_PUNK_LORD_REWARD_LEVLE_ALREADY_TAKE"
            }
            Retcode::RetDailyActiveLevelInvalid => "RET_DAILY_ACTIVE_LEVEL_INVALID",
            Retcode::RetDailyActiveLevelRewardAlreadyTaken => {
                "RET_DAILY_ACTIVE_LEVEL_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetDailyActiveLevelApNotEnough => {
                "RET_DAILY_ACTIVE_LEVEL_AP_NOT_ENOUGH"
            }
            Retcode::RetDailyMeetPam => "RET_DAILY_MEET_PAM",
            Retcode::RetReplayIdNotMatch => "RET_REPLAY_ID_NOT_MATCH",
            Retcode::RetReplayReqNotValid => "RET_REPLAY_REQ_NOT_VALID",
            Retcode::RetFightActivityDifficultyLevelNotPassed => {
                "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_NOT_PASSED"
            }
            Retcode::RetFightActivityDifficultyLevelRewardAlreadyTake => {
                "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_REWARD_ALREADY_TAKE"
            }
            Retcode::RetFightActivityStageNotOpen => "RET_FIGHT_ACTIVITY_STAGE_NOT_OPEN",
            Retcode::RetFightActivityLevelNotUnlock => {
                "RET_FIGHT_ACTIVITY_LEVEL_NOT_UNLOCK"
            }
            Retcode::RetTrainVisitorVisitorNotExist => {
                "RET_TRAIN_VISITOR_VISITOR_NOT_EXIST"
            }
            Retcode::RetTrainVisitorBehaviorNotExist => {
                "RET_TRAIN_VISITOR_BEHAVIOR_NOT_EXIST"
            }
            Retcode::RetTrainVisitorBehaviorFinished => {
                "RET_TRAIN_VISITOR_BEHAVIOR_FINISHED"
            }
            Retcode::RetTrainVisitorAllBehaviorRewardTaken => {
                "RET_TRAIN_VISITOR_ALL_BEHAVIOR_REWARD_TAKEN"
            }
            Retcode::RetTrainVisitorGetOnMissionNotFinish => {
                "RET_TRAIN_VISITOR_GET_ON_MISSION_NOT_FINISH"
            }
            Retcode::RetTrainVisitorNotGetOff => "RET_TRAIN_VISITOR_NOT_GET_OFF",
            Retcode::RetTextJoinUnknowIsOverride => "RET_TEXT_JOIN_UNKNOW_IS_OVERRIDE",
            Retcode::RetTextJoinIdNotExist => "RET_TEXT_JOIN_ID_NOT_EXIST",
            Retcode::RetTextJoinCanNotOverride => "RET_TEXT_JOIN_CAN_NOT_OVERRIDE",
            Retcode::RetTextJoinItemIdError => "RET_TEXT_JOIN_ITEM_ID_ERROR",
            Retcode::RetTextJoinSensitiveCheckError => {
                "RET_TEXT_JOIN_SENSITIVE_CHECK_ERROR"
            }
            Retcode::RetTextJoinMustOverride => "RET_TEXT_JOIN_MUST_OVERRIDE",
            Retcode::RetTextJoinTextEmpty => "RET_TEXT_JOIN_TEXT_EMPTY",
            Retcode::RetTextJoinTextFormatError => "RET_TEXT_JOIN_TEXT_FORMAT_ERROR",
            Retcode::RetTextJoinTextUtf8Error => "RET_TEXT_JOIN_TEXT_UTF8_ERROR",
            Retcode::RetTextJoinBatchReqIdRepeat => "RET_TEXT_JOIN_BATCH_REQ_ID_REPEAT",
            Retcode::RetTextJoinTypeNotSupportBatchReq => {
                "RET_TEXT_JOIN_TYPE_NOT_SUPPORT_BATCH_REQ"
            }
            Retcode::RetTextJoinAvatarIdNotExist => "RET_TEXT_JOIN_AVATAR_ID_NOT_EXIST",
            Retcode::RetTextJoinUnknowType => "RET_TEXT_JOIN_UNKNOW_TYPE",
            Retcode::RetPamMissionMissionIdError => "RET_PAM_MISSION_MISSION_ID_ERROR",
            Retcode::RetPamMissionMissionExpire => "RET_PAM_MISSION_MISSION_EXPIRE",
            Retcode::RetChatTypeNotExist => "RET_CHAT_TYPE_NOT_EXIST",
            Retcode::RetMsgTypeNotExist => "RET_MSG_TYPE_NOT_EXIST",
            Retcode::RetChatNoTargetUid => "RET_CHAT_NO_TARGET_UID",
            Retcode::RetChatMsgEmpty => "RET_CHAT_MSG_EMPTY",
            Retcode::RetChatMsgExceedLimit => "RET_CHAT_MSG_EXCEED_LIMIT",
            Retcode::RetChatMsgSensitiveCheckError => {
                "RET_CHAT_MSG_SENSITIVE_CHECK_ERROR"
            }
            Retcode::RetChatMsgUtf8Error => "RET_CHAT_MSG_UTF8_ERROR",
            Retcode::RetChatForbidSwitchOpen => "RET_CHAT_FORBID_SWITCH_OPEN",
            Retcode::RetChatForbid => "RET_CHAT_FORBID",
            Retcode::RetChatMsgIncludeSpecialStr => "RET_CHAT_MSG_INCLUDE_SPECIAL_STR",
            Retcode::RetChatMsgEmojiNotExist => "RET_CHAT_MSG_EMOJI_NOT_EXIST",
            Retcode::RetChatMsgEmojiGenderNotMatch => {
                "RET_CHAT_MSG_EMOJI_GENDER_NOT_MATCH"
            }
            Retcode::RetChatMsgEmojiNotMarked => "RET_CHAT_MSG_EMOJI_NOT_MARKED",
            Retcode::RetChatMsgEmojiAlreadyMarked => "RET_CHAT_MSG_EMOJI_ALREADY_MARKED",
            Retcode::RetChatMsgEmojiMarkedMaxLimit => {
                "RET_CHAT_MSG_EMOJI_MARKED_MAX_LIMIT"
            }
            Retcode::RetBoxingClubChallengeNotOpen => {
                "RET_BOXING_CLUB_CHALLENGE_NOT_OPEN"
            }
            Retcode::RetMuseumNotOpen => "RET_MUSEUM_NOT_OPEN",
            Retcode::RetMuseumTurnCntNotMatch => "RET_MUSEUM_TURN_CNT_NOT_MATCH",
            Retcode::RetMuseumPhaseNotReach => "RET_MUSEUM_PHASE_NOT_REACH",
            Retcode::RetMuseumUnknowStuff => "RET_MUSEUM_UNKNOW_STUFF",
            Retcode::RetMuseumUnknowArea => "RET_MUSEUM_UNKNOW_AREA",
            Retcode::RetMuseumUnknowPos => "RET_MUSEUM_UNKNOW_POS",
            Retcode::RetMuseumStuffAlreadyInArea => "RET_MUSEUM_STUFF_ALREADY_IN_AREA",
            Retcode::RetMuseumStuffNotInArea => "RET_MUSEUM_STUFF_NOT_IN_AREA",
            Retcode::RetMuseumGetNpcRepeat => "RET_MUSEUM_GET_NPC_REPEAT",
            Retcode::RetMuseumGetNpcUnlock => "RET_MUSEUM_GET_NPC_UNLOCK",
            Retcode::RetMuseumGetNpcNotEnough => "RET_MUSEUM_GET_NPC_NOT_ENOUGH",
            Retcode::RetMuseumChangeStuffAreaError => {
                "RET_MUSEUM_CHANGE_STUFF_AREA_ERROR"
            }
            Retcode::RetMuseumNotInit => "RET_MUSEUM_NOT_INIT",
            Retcode::RetMuseumEventError => "RET_MUSEUM_EVENT_ERROR",
            Retcode::RetMuseumUnknowChooseEventId => "RET_MUSEUM_UNKNOW_CHOOSE_EVENT_ID",
            Retcode::RetMuseumEventOrderNotMatch => "RET_MUSEUM_EVENT_ORDER_NOT_MATCH",
            Retcode::RetMuseumEventPhaseNotUnlock => "RET_MUSEUM_EVENT_PHASE_NOT_UNLOCK",
            Retcode::RetMuseumEventMissionNotFound => {
                "RET_MUSEUM_EVENT_MISSION_NOT_FOUND"
            }
            Retcode::RetMuseumAreaLevelUpAlready => "RET_MUSEUM_AREA_LEVEL_UP_ALREADY",
            Retcode::RetMuseumStuffAlreadyUsed => "RET_MUSEUM_STUFF_ALREADY_USED",
            Retcode::RetMuseumEventRoundNotUnlock => "RET_MUSEUM_EVENT_ROUND_NOT_UNLOCK",
            Retcode::RetMuseumStuffInArea => "RET_MUSEUM_STUFF_IN_AREA",
            Retcode::RetMuseumStuffDispatch => "RET_MUSEUM_STUFF_DISPATCH",
            Retcode::RetMuseumIsEnd => "RET_MUSEUM_IS_END",
            Retcode::RetMuseumStuffLeaving => "RET_MUSEUM_STUFF_LEAVING",
            Retcode::RetMuseumEventMissionNotFinish => {
                "RET_MUSEUM_EVENT_MISSION_NOT_FINISH"
            }
            Retcode::RetMuseumCollectRewardNotExist => {
                "RET_MUSEUM_COLLECT_REWARD_NOT_EXIST"
            }
            Retcode::RetMuseumCollectRewardAlreadyTaken => {
                "RET_MUSEUM_COLLECT_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetMuseumAcceptMissionMaxLimit => {
                "RET_MUSEUM_ACCEPT_MISSION_MAX_LIMIT"
            }
            Retcode::RetRogueChallengeNotOpen => "RET_ROGUE_CHALLENGE_NOT_OPEN",
            Retcode::RetRogueChallengeAssisRefreshLimit => {
                "RET_ROGUE_CHALLENGE_ASSIS_REFRESH_LIMIT"
            }
            Retcode::RetAlleyNotInit => "RET_ALLEY_NOT_INIT",
            Retcode::RetAlleyNotOpen => "RET_ALLEY_NOT_OPEN",
            Retcode::RetAlleyMapNotExist => "RET_ALLEY_MAP_NOT_EXIST",
            Retcode::RetAlleyEmptyPosList => "RET_ALLEY_EMPTY_POS_LIST",
            Retcode::RetAlleyLinePosInvalid => "RET_ALLEY_LINE_POS_INVALID",
            Retcode::RetAlleyShopNotUnlock => "RET_ALLEY_SHOP_NOT_UNLOCK",
            Retcode::RetAlleyDepotFull => "RET_ALLEY_DEPOT_FULL",
            Retcode::RetAlleyShopNotInclude => "RET_ALLEY_SHOP_NOT_INCLUDE",
            Retcode::RetAlleyEventNotUnlock => "RET_ALLEY_EVENT_NOT_UNLOCK",
            Retcode::RetAlleyEventNotRefresh => "RET_ALLEY_EVENT_NOT_REFRESH",
            Retcode::RetAlleyEventStateDoing => "RET_ALLEY_EVENT_STATE_DOING",
            Retcode::RetAlleyEventStateFinish => "RET_ALLEY_EVENT_STATE_FINISH",
            Retcode::RetAlleyEventError => "RET_ALLEY_EVENT_ERROR",
            Retcode::RetAlleyRewardLevelError => "RET_ALLEY_REWARD_LEVEL_ERROR",
            Retcode::RetAlleyRewardPrestigeNotEnough => {
                "RET_ALLEY_REWARD_PRESTIGE_NOT_ENOUGH"
            }
            Retcode::RetAlleyShipEmpty => "RET_ALLEY_SHIP_EMPTY",
            Retcode::RetAlleyShipIdDismatch => "RET_ALLEY_SHIP_ID_DISMATCH",
            Retcode::RetAlleyShipNotExist => "RET_ALLEY_SHIP_NOT_EXIST",
            Retcode::RetAlleyShipNotUnlock => "RET_ALLEY_SHIP_NOT_UNLOCK",
            Retcode::RetAlleyGoodsNotExist => "RET_ALLEY_GOODS_NOT_EXIST",
            Retcode::RetAlleyGoodsNotUnlock => "RET_ALLEY_GOODS_NOT_UNLOCK",
            Retcode::RetAlleyProfitNotPositive => "RET_ALLEY_PROFIT_NOT_POSITIVE",
            Retcode::RetAlleySpecialOrderDismatch => "RET_ALLEY_SPECIAL_ORDER_DISMATCH",
            Retcode::RetAlleyOrderGoodsOverLimit => "RET_ALLEY_ORDER_GOODS_OVER_LIMIT",
            Retcode::RetAlleySpecialOrderConditionNotMeet => {
                "RET_ALLEY_SPECIAL_ORDER_CONDITION_NOT_MEET"
            }
            Retcode::RetAlleyDepotSizeOverLimit => "RET_ALLEY_DEPOT_SIZE_OVER_LIMIT",
            Retcode::RetAlleyGoodsNotEnough => "RET_ALLEY_GOODS_NOT_ENOUGH",
            Retcode::RetAlleyOrderIndexInvalid => "RET_ALLEY_ORDER_INDEX_INVALID",
            Retcode::RetAlleyRewardAlreadyTake => "RET_ALLEY_REWARD_ALREADY_TAKE",
            Retcode::RetAlleyRewardNotExist => "RET_ALLEY_REWARD_NOT_EXIST",
            Retcode::RetAlleyMainMissionNotDoing => "RET_ALLEY_MAIN_MISSION_NOT_DOING",
            Retcode::RetAlleyCriticalEventNotFinish => {
                "RET_ALLEY_CRITICAL_EVENT_NOT_FINISH"
            }
            Retcode::RetAlleyShopGoodsNotValid => "RET_ALLEY_SHOP_GOODS_NOT_VALID",
            Retcode::RetAlleySlashNotOpen => "RET_ALLEY_SLASH_NOT_OPEN",
            Retcode::RetAlleyPlacingAnchorInvalid => "RET_ALLEY_PLACING_ANCHOR_INVALID",
            Retcode::RetAlleyPlacingGoodsIndexInvalid => {
                "RET_ALLEY_PLACING_GOODS_INDEX_INVALID"
            }
            Retcode::RetAlleySaveMapTooQuick => "RET_ALLEY_SAVE_MAP_TOO_QUICK",
            Retcode::RetAlleyMapNotLink => "RET_ALLEY_MAP_NOT_LINK",
            Retcode::RetAlleyFundsNotLowerBase => "RET_ALLEY_FUNDS_NOT_LOWER_BASE",
            Retcode::RetAlleyEventNotFinish => "RET_ALLEY_EVENT_NOT_FINISH",
            Retcode::RetAlleyNormalOrderNotMeet => "RET_ALLEY_NORMAL_ORDER_NOT_MEET",
            Retcode::RetPlayerReturnNotOpen => "RET_PLAYER_RETURN_NOT_OPEN",
            Retcode::RetPlayerReturnIsSigned => "RET_PLAYER_RETURN_IS_SIGNED",
            Retcode::RetPlayerReturnPointNotEnough => {
                "RET_PLAYER_RETURN_POINT_NOT_ENOUGH"
            }
            Retcode::RetPlayerReturnConditionInvalid => {
                "RET_PLAYER_RETURN_CONDITION_INVALID"
            }
            Retcode::RetPlayerReturnHasSigned => "RET_PLAYER_RETURN_HAS_SIGNED",
            Retcode::RetPlayerReturnRewardTaken => "RET_PLAYER_RETURN_REWARD_TAKEN",
            Retcode::RetAetherDivideNoLineup => "RET_AETHER_DIVIDE_NO_LINEUP",
            Retcode::RetAetherDivideLineupInvalid => "RET_AETHER_DIVIDE_LINEUP_INVALID",
            Retcode::RetChatBubbleIdError => "RET_CHAT_BUBBLE_ID_ERROR",
            Retcode::RetChatBubbleIdNotUnlock => "RET_CHAT_BUBBLE_ID_NOT_UNLOCK",
            Retcode::RetPhoneThemeIdError => "RET_PHONE_THEME_ID_ERROR",
            Retcode::RetPhoneThemeIdNotUnlock => "RET_PHONE_THEME_ID_NOT_UNLOCK",
            Retcode::RetChatBubbleSelectIsCurrent => "RET_CHAT_BUBBLE_SELECT_IS_CURRENT",
            Retcode::RetPhoneThemeSelectIsCurrent => "RET_PHONE_THEME_SELECT_IS_CURRENT",
            Retcode::RetChessRogueConfigNotFound => "RET_CHESS_ROGUE_CONFIG_NOT_FOUND",
            Retcode::RetChessRogueConfigInvalid => "RET_CHESS_ROGUE_CONFIG_INVALID",
            Retcode::RetChessRogueNoValidRoom => "RET_CHESS_ROGUE_NO_VALID_ROOM",
            Retcode::RetChessRogueNoCellInfo => "RET_CHESS_ROGUE_NO_CELL_INFO",
            Retcode::RetChessRogueCellNotFinish => "RET_CHESS_ROGUE_CELL_NOT_FINISH",
            Retcode::RetChessRogueCellIsLocked => "RET_CHESS_ROGUE_CELL_IS_LOCKED",
            Retcode::RetChessRogueScheduleNotMatch => {
                "RET_CHESS_ROGUE_SCHEDULE_NOT_MATCH"
            }
            Retcode::RetChessRogueStatusFail => "RET_CHESS_ROGUE_STATUS_FAIL",
            Retcode::RetChessRogueAreaNotExist => "RET_CHESS_ROGUE_AREA_NOT_EXIST",
            Retcode::RetChessRogueLineupFail => "RET_CHESS_ROGUE_LINEUP_FAIL",
            Retcode::RetChessRogueAeonFail => "RET_CHESS_ROGUE_AEON_FAIL",
            Retcode::RetChessRogueEnterCellFail => "RET_CHESS_ROGUE_ENTER_CELL_FAIL",
            Retcode::RetChessRogueRollDiceFail => "RET_CHESS_ROGUE_ROLL_DICE_FAIL",
            Retcode::RetChessRogueDiceStatusFail => "RET_CHESS_ROGUE_DICE_STATUS_FAIL",
            Retcode::RetChessRogueDiceCntNotFull => "RET_CHESS_ROGUE_DICE_CNT_NOT_FULL",
            Retcode::RetChessRogueUnlock => "RET_CHESS_ROGUE_UNLOCK",
            Retcode::RetChessRoguePickAvatarFail => "RET_CHESS_ROGUE_PICK_AVATAR_FAIL",
            Retcode::RetChessRogueAvatarInvalid => "RET_CHESS_ROGUE_AVATAR_INVALID",
            Retcode::RetChessRogueCellCanNotSelect => {
                "RET_CHESS_ROGUE_CELL_CAN_NOT_SELECT"
            }
            Retcode::RetChessRogueDiceConfirmed => "RET_CHESS_ROGUE_DICE_CONFIRMED",
            Retcode::RetChessRogueNousDiceNotMatch => {
                "RET_CHESS_ROGUE_NOUS_DICE_NOT_MATCH"
            }
            Retcode::RetChessRogueNousDiceRarityFail => {
                "RET_CHESS_ROGUE_NOUS_DICE_RARITY_FAIL"
            }
            Retcode::RetChessRogueNousDiceSurfaceDuplicate => {
                "RET_CHESS_ROGUE_NOUS_DICE_SURFACE_DUPLICATE"
            }
            Retcode::RetChessRogueNotInRogue => "RET_CHESS_ROGUE_NOT_IN_ROGUE",
            Retcode::RetChessRogueNousDiceBranchLimit => {
                "RET_CHESS_ROGUE_NOUS_DICE_BRANCH_LIMIT"
            }
            Retcode::RetHeliobusNotOpen => "RET_HELIOBUS_NOT_OPEN",
            Retcode::RetHeliobusSnsPostNotUnlock => "RET_HELIOBUS_SNS_POST_NOT_UNLOCK",
            Retcode::RetHeliobusSnsAlreadyRead => "RET_HELIOBUS_SNS_ALREADY_READ",
            Retcode::RetHeliobusSnsAlreadyLiked => "RET_HELIOBUS_SNS_ALREADY_LIKED",
            Retcode::RetHeliobusSnsAlreadyCommented => {
                "RET_HELIOBUS_SNS_ALREADY_COMMENTED"
            }
            Retcode::RetHeliobusSnsInMission => "RET_HELIOBUS_SNS_IN_MISSION",
            Retcode::RetHeliobusSnsAlreadyPosted => "RET_HELIOBUS_SNS_ALREADY_POSTED",
            Retcode::RetHeliobusSnsNotDoingMission => {
                "RET_HELIOBUS_SNS_NOT_DOING_MISSION"
            }
            Retcode::RetHeliobusRewardLevelMax => "RET_HELIOBUS_REWARD_LEVEL_MAX",
            Retcode::RetHeliobusIncomeNotEnough => "RET_HELIOBUS_INCOME_NOT_ENOUGH",
            Retcode::RetHeliobusSnsCommentNotUnlock => {
                "RET_HELIOBUS_SNS_COMMENT_NOT_UNLOCK"
            }
            Retcode::RetHeliobusChallengeNotUnlock => "RET_HELIOBUS_CHALLENGE_NOT_UNLOCK",
            Retcode::RetHeliobusChallengeIdError => "RET_HELIOBUS_CHALLENGE_ID_ERROR",
            Retcode::RetHeliobusSkillNotUnlock => "RET_HELIOBUS_SKILL_NOT_UNLOCK",
            Retcode::RetHeliobusAcceptPostMissionFail => {
                "RET_HELIOBUS_ACCEPT_POST_MISSION_FAIL"
            }
            Retcode::RetHeliobusSkillNotSelected => "RET_HELIOBUS_SKILL_NOT_SELECTED",
            Retcode::RetHeliobusPlaneTypeInvalid => "RET_HELIOBUS_PLANE_TYPE_INVALID",
            Retcode::RetReddotParamInvalid => "RET_REDDOT_PARAM_INVALID",
            Retcode::RetReddotActivityNotOpen => "RET_REDDOT_ACTIVITY_NOT_OPEN",
            Retcode::RetRogueEndlessActivityConfigError => {
                "RET_ROGUE_ENDLESS_ACTIVITY_CONFIG_ERROR"
            }
            Retcode::RetRogueEndlessActivityNotOpen => {
                "RET_ROGUE_ENDLESS_ACTIVITY_NOT_OPEN"
            }
            Retcode::RetRogueEndlessActivityOverBonusRewardLimit => {
                "RET_ROGUE_ENDLESS_ACTIVITY_OVER_BONUS_REWARD_LIMIT"
            }
            Retcode::RetRogueEndlessActivityScoreNotMeet => {
                "RET_ROGUE_ENDLESS_ACTIVITY_SCORE_NOT_MEET"
            }
            Retcode::RetRogueEndlessActivityRewardLevleAlreadyTake => {
                "RET_ROGUE_ENDLESS_ACTIVITY_REWARD_LEVLE_ALREADY_TAKE"
            }
            Retcode::RetHeartDialScriptNotFound => "RET_HEART_DIAL_SCRIPT_NOT_FOUND",
            Retcode::RetHeartDialScriptEmotionTheSame => {
                "RET_HEART_DIAL_SCRIPT_EMOTION_THE_SAME"
            }
            Retcode::RetHeartDialScriptStepNotNormal => {
                "RET_HEART_DIAL_SCRIPT_STEP_NOT_NORMAL"
            }
            Retcode::RetHeartDialScriptConditionNotMatch => {
                "RET_HEART_DIAL_SCRIPT_CONDITION_NOT_MATCH"
            }
            Retcode::RetHeartDialScriptSubmitItemNumNotMatch => {
                "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_NUM_NOT_MATCH"
            }
            Retcode::RetHeartDialScriptSubmitItemIdNotMatch => {
                "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_ID_NOT_MATCH"
            }
            Retcode::RetHeartDialDialogueNotFound => "RET_HEART_DIAL_DIALOGUE_NOT_FOUND",
            Retcode::RetHeartDialDialogueAlreadyPerformed => {
                "RET_HEART_DIAL_DIALOGUE_ALREADY_PERFORMED"
            }
            Retcode::RetHeartDialNpcNotFound => "RET_HEART_DIAL_NPC_NOT_FOUND",
            Retcode::RetHeartDialTraceConfigNotFound => {
                "RET_HEART_DIAL_TRACE_CONFIG_NOT_FOUND"
            }
            Retcode::RetHeartDialFloorTraceExist => "RET_HEART_DIAL_FLOOR_TRACE_EXIST",
            Retcode::RetHeartDialTraceFloorNotMatch => {
                "RET_HEART_DIAL_TRACE_FLOOR_NOT_MATCH"
            }
            Retcode::RetTravelBrochureConfigError => "RET_TRAVEL_BROCHURE_CONFIG_ERROR",
            Retcode::RetTravelBrochureParamInvalid => "RET_TRAVEL_BROCHURE_PARAM_INVALID",
            Retcode::RetTravelBrochureLocked => "RET_TRAVEL_BROCHURE_LOCKED",
            Retcode::RetTravelBrochureCannotOperate => {
                "RET_TRAVEL_BROCHURE_CANNOT_OPERATE"
            }
            Retcode::RetTravelBrochureWorldIdNotMatch => {
                "RET_TRAVEL_BROCHURE_WORLD_ID_NOT_MATCH"
            }
            Retcode::RetTravelBrochureHasNoWorldBook => {
                "RET_TRAVEL_BROCHURE_HAS_NO_WORLD_BOOK"
            }
            Retcode::RetTravelBrochurePageFull => "RET_TRAVEL_BROCHURE_PAGE_FULL",
            Retcode::RetMapRotationNotInRegion => "RET_MAP_ROTATION_NOT_IN_REGION",
            Retcode::RetMapRotationRotaterAlreadyDeployed => {
                "RET_MAP_ROTATION_ROTATER_ALREADY_DEPLOYED"
            }
            Retcode::RetMapRotationEnergyNotEnough => {
                "RET_MAP_ROTATION_ENERGY_NOT_ENOUGH"
            }
            Retcode::RetMapRotationEntityNotOnCurPose => {
                "RET_MAP_ROTATION_ENTITY_NOT_ON_CUR_POSE"
            }
            Retcode::RetMapRotationRotaterNotDeployed => {
                "RET_MAP_ROTATION_ROTATER_NOT_DEPLOYED"
            }
            Retcode::RetMapRotationPoseRotaterMismatch => {
                "RET_MAP_ROTATION_POSE_ROTATER_MISMATCH"
            }
            Retcode::RetMapRotationRotaterNotRemovable => {
                "RET_MAP_ROTATION_ROTATER_NOT_REMOVABLE"
            }
            Retcode::RetMapRotationRotaterDisposable => {
                "RET_MAP_ROTATION_ROTATER_DISPOSABLE"
            }
            Retcode::RetSpaceZooActivityCatNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_FOUND"
            }
            Retcode::RetSpaceZooActivityCatParamInvalid => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_PARAM_INVALID"
            }
            Retcode::RetSpaceZooActivityCatItemNotEnough => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_ITEM_NOT_ENOUGH"
            }
            Retcode::RetSpaceZooActivityCatBagFull => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_BAG_FULL"
            }
            Retcode::RetSpaceZooActivityCatNotToMutate => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_TO_MUTATE"
            }
            Retcode::RetSpaceZooActivityCatStateError => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_STATE_ERROR"
            }
            Retcode::RetSpaceZooActivityCatCatteryLocked => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_CATTERY_LOCKED"
            }
            Retcode::RetSpaceZooActivityCatOutNow => "RET_SPACE_ZOO_ACTIVITY_CAT_OUT_NOW",
            Retcode::RetSpaceZooActivityCatConfigNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_CONFIG_NOT_FOUND"
            }
            Retcode::RetSpaceZooActivityCatFeatureNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_FEATURE_NOT_FOUND"
            }
            Retcode::RetSpaceZooActivityCatAddCatError => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_ADD_CAT_ERROR"
            }
            Retcode::RetSpaceZooActivityCatMoneyNotEnough => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_MONEY_NOT_ENOUGH"
            }
            Retcode::RetSpaceZooActivityCatCondNotMatch => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_COND_NOT_MATCH"
            }
            Retcode::RetStrongChallengeActivityStageCfgMiss => {
                "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_CFG_MISS"
            }
            Retcode::RetStrongChallengeActivityStageNotOpen => {
                "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_NOT_OPEN"
            }
            Retcode::RetStrongChallengeActivityBuffError => {
                "RET_STRONG_CHALLENGE_ACTIVITY_BUFF_ERROR"
            }
            Retcode::RetRollShopNotFound => "RET_ROLL_SHOP_NOT_FOUND",
            Retcode::RetRollShopGroupEmpty => "RET_ROLL_SHOP_GROUP_EMPTY",
            Retcode::RetRollShopEmpty => "RET_ROLL_SHOP_EMPTY",
            Retcode::RetRollShopGachaReqDuplicated => {
                "RET_ROLL_SHOP_GACHA_REQ_DUPLICATED"
            }
            Retcode::RetRollShopRandomError => "RET_ROLL_SHOP_RANDOM_ERROR",
            Retcode::RetRollShopGroupTypeNotFound => "RET_ROLL_SHOP_GROUP_TYPE_NOT_FOUND",
            Retcode::RetRollShopHasStoredRewardAlready => {
                "RET_ROLL_SHOP_HAS_STORED_REWARD_ALREADY"
            }
            Retcode::RetRollShopNoStoredReward => "RET_ROLL_SHOP_NO_STORED_REWARD",
            Retcode::RetRollShopNotInValidScene => "RET_ROLL_SHOP_NOT_IN_VALID_SCENE",
            Retcode::RetRollShopInvalidRollShopType => {
                "RET_ROLL_SHOP_INVALID_ROLL_SHOP_TYPE"
            }
            Retcode::RetActivityRaidCollectionPrevNotFinish => {
                "RET_ACTIVITY_RAID_COLLECTION_PREV_NOT_FINISH"
            }
            Retcode::RetOfferingNotUnlock => "RET_OFFERING_NOT_UNLOCK",
            Retcode::RetOfferingLevelNotUnlock => "RET_OFFERING_LEVEL_NOT_UNLOCK",
            Retcode::RetOfferingReachMaxLevel => "RET_OFFERING_REACH_MAX_LEVEL",
            Retcode::RetOfferingItemNotEnough => "RET_OFFERING_ITEM_NOT_ENOUGH",
            Retcode::RetOfferingLongtailNotOpen => "RET_OFFERING_LONGTAIL_NOT_OPEN",
            Retcode::RetOfferingRewardCondition => "RET_OFFERING_REWARD_CONDITION",
            Retcode::RetDrinkMakerChatInvalid => "RET_DRINK_MAKER_CHAT_INVALID",
            Retcode::RetDrinkMakerParamInvalid => "RET_DRINK_MAKER_PARAM_INVALID",
            Retcode::RetDrinkMakerParamNotUnlock => "RET_DRINK_MAKER_PARAM_NOT_UNLOCK",
            Retcode::RetDrinkMakerConfigNotFound => "RET_DRINK_MAKER_CONFIG_NOT_FOUND",
            Retcode::RetDrinkMakerNotLastChat => "RET_DRINK_MAKER_NOT_LAST_CHAT",
            Retcode::RetDrinkMakerDayAndFreePhaseNotOpen => {
                "RET_DRINK_MAKER_DAY_AND_FREE_PHASE_NOT_OPEN"
            }
            Retcode::RetMonopolyNotOpen => "RET_MONOPOLY_NOT_OPEN",
            Retcode::RetMonopolyConfigError => "RET_MONOPOLY_CONFIG_ERROR",
            Retcode::RetMonopolyDiceNotEnough => "RET_MONOPOLY_DICE_NOT_ENOUGH",
            Retcode::RetMonopolyCurCellNotFinish => "RET_MONOPOLY_CUR_CELL_NOT_FINISH",
            Retcode::RetMonopolyCoinNotEnough => "RET_MONOPOLY_COIN_NOT_ENOUGH",
            Retcode::RetMonopolyCellWaitPending => "RET_MONOPOLY_CELL_WAIT_PENDING",
            Retcode::RetMonopolyCellStateError => "RET_MONOPOLY_CELL_STATE_ERROR",
            Retcode::RetMonopolyCellContentError => "RET_MONOPOLY_CELL_CONTENT_ERROR",
            Retcode::RetMonopolyItemNotEnough => "RET_MONOPOLY_ITEM_NOT_ENOUGH",
            Retcode::RetMonopolyCellContentCannotGiveup => {
                "RET_MONOPOLY_CELL_CONTENT_CANNOT_GIVEUP"
            }
            Retcode::RetMonopolyAssetLevelInvalid => "RET_MONOPOLY_ASSET_LEVEL_INVALID",
            Retcode::RetMonopolyTurnNotFinish => "RET_MONOPOLY_TURN_NOT_FINISH",
            Retcode::RetMonopolyGuideNotFinish => "RET_MONOPOLY_GUIDE_NOT_FINISH",
            Retcode::RetMonopolyRaffleRewardReissued => {
                "RET_MONOPOLY_RAFFLE_REWARD_REISSUED"
            }
            Retcode::RetMonopolyNoGameActive => "RET_MONOPOLY_NO_GAME_ACTIVE",
            Retcode::RetMonopolyGameRatioNotIncreasable => {
                "RET_MONOPOLY_GAME_RATIO_NOT_INCREASABLE"
            }
            Retcode::RetMonopolyGameRatioMax => "RET_MONOPOLY_GAME_RATIO_MAX",
            Retcode::RetMonopolyGameTargetRatioInvalid => {
                "RET_MONOPOLY_GAME_TARGET_RATIO_INVALID"
            }
            Retcode::RetMonopolyGameBingoFlipPosInvalid => {
                "RET_MONOPOLY_GAME_BINGO_FLIP_POS_INVALID"
            }
            Retcode::RetMonopolyGameGuessAlreadyChoose => {
                "RET_MONOPOLY_GAME_GUESS_ALREADY_CHOOSE"
            }
            Retcode::RetMonopolyGameGuessChooseInvalid => {
                "RET_MONOPOLY_GAME_GUESS_CHOOSE_INVALID"
            }
            Retcode::RetMonopolyGameGuessInformationAlreadyBought => {
                "RET_MONOPOLY_GAME_GUESS_INFORMATION_ALREADY_BOUGHT"
            }
            Retcode::RetMonopolyGameRaiseRatioNotUnlock => {
                "RET_MONOPOLY_GAME_RAISE_RATIO_NOT_UNLOCK"
            }
            Retcode::RetMonopolyFriendNotSynced => "RET_MONOPOLY_FRIEND_NOT_SYNCED",
            Retcode::RetMonopolyGetFriendRankingListInCd => {
                "RET_MONOPOLY_GET_FRIEND_RANKING_LIST_IN_CD"
            }
            Retcode::RetMonopolyLikeTargetNotFriend => {
                "RET_MONOPOLY_LIKE_TARGET_NOT_FRIEND"
            }
            Retcode::RetMonopolyDailyAlreadyLiked => "RET_MONOPOLY_DAILY_ALREADY_LIKED",
            Retcode::RetMonopolySocialEventStatusNotMatch => {
                "RET_MONOPOLY_SOCIAL_EVENT_STATUS_NOT_MATCH"
            }
            Retcode::RetMonopolySocialEventServerCacheNotExist => {
                "RET_MONOPOLY_SOCIAL_EVENT_SERVER_CACHE_NOT_EXIST"
            }
            Retcode::RetMonopolyActivityIdNotMatch => {
                "RET_MONOPOLY_ACTIVITY_ID_NOT_MATCH"
            }
            Retcode::RetMonopolyRafflePoolNotExist => {
                "RET_MONOPOLY_RAFFLE_POOL_NOT_EXIST"
            }
            Retcode::RetMonopolyRafflePoolTimeNotMatch => {
                "RET_MONOPOLY_RAFFLE_POOL_TIME_NOT_MATCH"
            }
            Retcode::RetMonopolyRafflePoolPhaseNotMeet => {
                "RET_MONOPOLY_RAFFLE_POOL_PHASE_NOT_MEET"
            }
            Retcode::RetMonopolyRafflePoolShowTimeNotMeet => {
                "RET_MONOPOLY_RAFFLE_POOL_SHOW_TIME_NOT_MEET"
            }
            Retcode::RetMonopolyRaffleTicketNotFound => {
                "RET_MONOPOLY_RAFFLE_TICKET_NOT_FOUND"
            }
            Retcode::RetMonopolyRaffleTicketTimeNotMeet => {
                "RET_MONOPOLY_RAFFLE_TICKET_TIME_NOT_MEET"
            }
            Retcode::RetMonopolyRaffleTicketRewardAlreadyTaken => {
                "RET_MONOPOLY_RAFFLE_TICKET_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetMonopolyRafflePoolNotInRaffleTime => {
                "RET_MONOPOLY_RAFFLE_POOL_NOT_IN_RAFFLE_TIME"
            }
            Retcode::RetMonopolyMbtiReportRewardAlreadyTaken => {
                "RET_MONOPOLY_MBTI_REPORT_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetEvolveBuildLevelGaming => "RET_EVOLVE_BUILD_LEVEL_GAMING",
            Retcode::RetEveolveBuildLevelBanRandom => {
                "RET_EVEOLVE_BUILD_LEVEL_BAN_RANDOM"
            }
            Retcode::RetEvolveBuildFirstRewardAlreadyTaken => {
                "RET_EVOLVE_BUILD_FIRST_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetEvolveBuildLevelUnfinish => "RET_EVOLVE_BUILD_LEVEL_UNFINISH",
            Retcode::RetEvolveBuildShopAbilityMaxLevel => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_MAX_LEVEL"
            }
            Retcode::RetEvolveBuildShopAbilityMinLevel => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_MIN_LEVEL"
            }
            Retcode::RetEvolveBuildShopAbilityNotGet => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_NOT_GET"
            }
            Retcode::RetEvolveBuildLevelLock => "RET_EVOLVE_BUILD_LEVEL_LOCK",
            Retcode::RetEvolveBuildExpNotEnough => "RET_EVOLVE_BUILD_EXP_NOT_ENOUGH",
            Retcode::RetEvolveBuildShopAbilityLevelError => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_LEVEL_ERROR"
            }
            Retcode::RetEvolveBuildActivityNotOpen => {
                "RET_EVOLVE_BUILD_ACTIVITY_NOT_OPEN"
            }
            Retcode::RetEvolveBuildShopAbilityEmpty => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_EMPTY"
            }
            Retcode::RetEvolveBuildLevelNotStart => "RET_EVOLVE_BUILD_LEVEL_NOT_START",
            Retcode::RetEvolveBuildShopLock => "RET_EVOLVE_BUILD_SHOP_LOCK",
            Retcode::RetEvolveBuildRewardLock => "RET_EVOLVE_BUILD_REWARD_LOCK",
            Retcode::RetEvolveBuildRewardLevelMax => "RET_EVOLVE_BUILD_REWARD_LEVEL_MAX",
            Retcode::RetEvolveBuildRewardAlreadyAllTaken => {
                "RET_EVOLVE_BUILD_REWARD_ALREADY_ALL_TAKEN"
            }
            Retcode::RetClockParkConfigError => "RET_CLOCK_PARK_CONFIG_ERROR",
            Retcode::RetClockParkEffectError => "RET_CLOCK_PARK_EFFECT_ERROR",
            Retcode::RetClockParkScriptAlreadyUnlock => {
                "RET_CLOCK_PARK_SCRIPT_ALREADY_UNLOCK"
            }
            Retcode::RetClockParkScriptUnlockConditionNotMeet => {
                "RET_CLOCK_PARK_SCRIPT_UNLOCK_CONDITION_NOT_MEET"
            }
            Retcode::RetClockParkTalentAlreadyUnlock => {
                "RET_CLOCK_PARK_TALENT_ALREADY_UNLOCK"
            }
            Retcode::RetClockParkScriptLocked => "RET_CLOCK_PARK_SCRIPT_LOCKED",
            Retcode::RetClockParkHasOngoingScript => "RET_CLOCK_PARK_HAS_ONGOING_SCRIPT",
            Retcode::RetClockParkNoOngoingScript => "RET_CLOCK_PARK_NO_ONGOING_SCRIPT",
            Retcode::RetClockParkDicePlacementError => {
                "RET_CLOCK_PARK_DICE_PLACEMENT_ERROR"
            }
            Retcode::RetClockParkMismatchStatus => "RET_CLOCK_PARK_MISMATCH_STATUS",
            Retcode::RetClockParkNoBuff => "RET_CLOCK_PARK_NO_BUFF",
            Retcode::RetClockParkSlotMachineGachaReqDuplicated => {
                "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_REQ_DUPLICATED"
            }
            Retcode::RetClockParkSlotMachineCostNotEnough => {
                "RET_CLOCK_PARK_SLOT_MACHINE_COST_NOT_ENOUGH"
            }
            Retcode::RetClockParkSlotMachineGachaCntExceedLimit => {
                "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_CNT_EXCEED_LIMIT"
            }
            Retcode::RetClockParkNotOpen => "RET_CLOCK_PARK_NOT_OPEN",
            Retcode::RetTournRogueStatusMismatch => "RET_TOURN_ROGUE_STATUS_MISMATCH",
            Retcode::RetMatchAlreadyInMatch => "RET_MATCH_ALREADY_IN_MATCH",
            Retcode::RetMatchNotInMatch => "RET_MATCH_NOT_IN_MATCH",
            Retcode::RetMatchPlayNotOpen => "RET_MATCH_PLAY_NOT_OPEN",
            Retcode::RetCrossStateError => "RET_CROSS_STATE_ERROR",
            Retcode::RetMatchVersionNotEqual => "RET_MATCH_VERSION_NOT_EQUAL",
            Retcode::RetMatchPlayerNotInLobbyRoom => "RET_MATCH_PLAYER_NOT_IN_LOBBY_ROOM",
            Retcode::RetLobbyStateNotMatch => "RET_LOBBY_STATE_NOT_MATCH",
            Retcode::RetLobbyRoomNotExist => "RET_LOBBY_ROOM_NOT_EXIST",
            Retcode::RetLobbyRoomPalyerFull => "RET_LOBBY_ROOM_PALYER_FULL",
            Retcode::RetLobbyRoomPalyerNotReady => "RET_LOBBY_ROOM_PALYER_NOT_READY",
            Retcode::RetLobbyRoomPalyerFighting => "RET_LOBBY_ROOM_PALYER_FIGHTING",
            Retcode::RetFightRoomNotExist => "RET_FIGHT_ROOM_NOT_EXIST",
            Retcode::RetFightMatch3PlayerStateErr => "RET_FIGHT_MATCH3_PLAYER_STATE_ERR",
        }
    }
    /// 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_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_UNLOCK" => Some(Self::RetSkilltreePointUnlock),
            "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_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_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_MAIL_NOT_EXIST" => Some(Self::RetMailNotExist),
            "RET_MAIL_RANGE_INVALID" => Some(Self::RetMailRangeInvalid),
            "RET_MAIL_MAIL_ID_INVALID" => Some(Self::RetMailMailIdInvalid),
            "RET_MAIL_NO_MAIL_TAKE_ATTACHMENT" => Some(Self::RetMailNoMailTakeAttachment),
            "RET_MAIL_NO_MAIL_TO_DEL" => Some(Self::RetMailNoMailToDel),
            "RET_MAIL_TYPE_INVALID" => Some(Self::RetMailTypeInvalid),
            "RET_MAIL_PARA_INVALID" => Some(Self::RetMailParaInvalid),
            "RET_MAIL_ATTACHEMENT_INVALID" => Some(Self::RetMailAttachementInvalid),
            "RET_MAIL_TICKET_INVALID" => Some(Self::RetMailTicketInvalid),
            "RET_MAIL_TICKET_REPEATED" => Some(Self::RetMailTicketRepeated),
            "RET_STAGE_SETTLE_ERROR" => Some(Self::RetStageSettleError),
            "RET_STAGE_CONFIG_NOT_EXIST" => Some(Self::RetStageConfigNotExist),
            "RET_STAGE_NOT_FOUND" => Some(Self::RetStageNotFound),
            "RET_STAGE_COCOON_PROP_NOT_VALID" => Some(Self::RetStageCocoonPropNotValid),
            "RET_STAGE_COCOON_WAVE_NOT_VALID" => Some(Self::RetStageCocoonWaveNotValid),
            "RET_STAGE_PROP_ID_NOT_EQUAL" => Some(Self::RetStagePropIdNotEqual),
            "RET_STAGE_COCOON_WAVE_OVER" => Some(Self::RetStageCocoonWaveOver),
            "RET_STAGE_WEEK_COCOON_OVER_CNT" => Some(Self::RetStageWeekCocoonOverCnt),
            "RET_STAGE_COCOON_NOT_OPEN" => Some(Self::RetStageCocoonNotOpen),
            "RET_STAGE_TRIAL_NOT_OPEN" => Some(Self::RetStageTrialNotOpen),
            "RET_STAGE_FARM_NOT_OPEN" => Some(Self::RetStageFarmNotOpen),
            "RET_STAGE_FARM_TYPE_ERROR" => Some(Self::RetStageFarmTypeError),
            "RET_CHAPTER_LOCK" => Some(Self::RetChapterLock),
            "RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH" => {
                Some(Self::RetChapterChallengeNumNotEnough)
            }
            "RET_CHAPTER_REWARD_ID_NOT_EXIST" => Some(Self::RetChapterRewardIdNotExist),
            "RET_CHAPTER_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetChapterRewardAlreadyTaken)
            }
            "RET_BATTLE_STAGE_NOT_MATCH" => Some(Self::RetBattleStageNotMatch),
            "RET_IN_BATTLE_NOW" => Some(Self::RetInBattleNow),
            "RET_BATTLE_CHEAT" => Some(Self::RetBattleCheat),
            "RET_BATTLE_FAIL" => Some(Self::RetBattleFail),
            "RET_BATTLE_NO_LINEUP" => Some(Self::RetBattleNoLineup),
            "RET_BATTLE_LINEUP_EMPTY" => Some(Self::RetBattleLineupEmpty),
            "RET_BATTLE_VERSION_NOT_MATCH" => Some(Self::RetBattleVersionNotMatch),
            "RET_BATTLE_QUIT_BY_SERVER" => Some(Self::RetBattleQuitByServer),
            "RET_IN_BATTLE_CHECK" => Some(Self::RetInBattleCheck),
            "RET_BATTLE_CHECK_NEED_RETRY" => Some(Self::RetBattleCheckNeedRetry),
            "RET_BATTLE_COST_TIME_CHECK_FAIL" => Some(Self::RetBattleCostTimeCheckFail),
            "RET_LACK_EXCHANGE_STAMINA_TIMES" => Some(Self::RetLackExchangeStaminaTimes),
            "RET_LACK_STAMINA" => Some(Self::RetLackStamina),
            "RET_STAMINA_FULL" => Some(Self::RetStaminaFull),
            "RET_AUTHKEY_SIGN_TYPE_ERROR" => Some(Self::RetAuthkeySignTypeError),
            "RET_AUTHKEY_SIGN_VER_ERROR" => Some(Self::RetAuthkeySignVerError),
            "RET_NICKNAME_FORMAT_ERROR" => Some(Self::RetNicknameFormatError),
            "RET_SENSITIVE_WORDS" => Some(Self::RetSensitiveWords),
            "RET_LEVEL_REWARD_HAS_TAKEN" => Some(Self::RetLevelRewardHasTaken),
            "RET_LEVEL_REWARD_LEVEL_ERROR" => Some(Self::RetLevelRewardLevelError),
            "RET_LANGUAGE_INVALID" => Some(Self::RetLanguageInvalid),
            "RET_NICKNAME_IN_CD" => Some(Self::RetNicknameInCd),
            "RET_GAMEPLAY_BIRTHDAY_INVALID" => Some(Self::RetGameplayBirthdayInvalid),
            "RET_GAMEPLAY_BIRTHDAY_ALREADY_SET" => {
                Some(Self::RetGameplayBirthdayAlreadySet)
            }
            "RET_NICKNAME_UTF8_ERROR" => Some(Self::RetNicknameUtf8Error),
            "RET_NICKNAME_DIGIT_LIMIT_ERROR" => Some(Self::RetNicknameDigitLimitError),
            "RET_SENSITIVE_WORDS_PLATFORM_ERROR" => {
                Some(Self::RetSensitiveWordsPlatformError)
            }
            "RET_PLAYER_SETTING_TYPE_INVALID" => Some(Self::RetPlayerSettingTypeInvalid),
            "RET_MAZE_LACK_TICKET" => Some(Self::RetMazeLackTicket),
            "RET_MAZE_NOT_UNLOCK" => Some(Self::RetMazeNotUnlock),
            "RET_MAZE_NO_ABILITY" => Some(Self::RetMazeNoAbility),
            "RET_MAZE_NO_PLANE" => Some(Self::RetMazeNoPlane),
            "RET_MAZE_MAP_NOT_EXIST" => Some(Self::RetMazeMapNotExist),
            "RET_MAZE_MP_NOT_ENOUGH" => Some(Self::RetMazeMpNotEnough),
            "RET_SPRING_NOT_ENABLE" => Some(Self::RetSpringNotEnable),
            "RET_SPRING_TOO_FAR" => Some(Self::RetSpringTooFar),
            "RET_NOT_IN_MAZE" => Some(Self::RetNotInMaze),
            "RET_MAZE_TIME_OF_DAY_TYPE_ERROR" => Some(Self::RetMazeTimeOfDayTypeError),
            "RET_SCENE_TRANSFER_LOCKED_BY_TASK" => {
                Some(Self::RetSceneTransferLockedByTask)
            }
            "RET_PLOT_NOT_UNLOCK" => Some(Self::RetPlotNotUnlock),
            "RET_MISSION_NOT_EXIST" => Some(Self::RetMissionNotExist),
            "RET_MISSION_ALREADY_DONE" => Some(Self::RetMissionAlreadyDone),
            "RET_DAILY_TASK_NOT_FINISH" => Some(Self::RetDailyTaskNotFinish),
            "RET_DAILY_TASK_REWARD_HAS_TAKEN" => Some(Self::RetDailyTaskRewardHasTaken),
            "RET_MISSION_NOT_FINISH" => Some(Self::RetMissionNotFinish),
            "RET_MISSION_NOT_DOING" => Some(Self::RetMissionNotDoing),
            "RET_MISSION_FINISH_WAY_NOT_MATCH" => Some(Self::RetMissionFinishWayNotMatch),
            "RET_MISSION_SCENE_NOT_MATCH" => Some(Self::RetMissionSceneNotMatch),
            "RET_MISSION_CUSTOM_VALUE_NOT_VALID" => {
                Some(Self::RetMissionCustomValueNotValid)
            }
            "RET_MISSION_SUB_MISSION_NOT_MATCH" => {
                Some(Self::RetMissionSubMissionNotMatch)
            }
            "RET_ADVENTURE_MAP_NOT_EXIST" => Some(Self::RetAdventureMapNotExist),
            "RET_SCENE_ENTITY_NOT_EXIST" => Some(Self::RetSceneEntityNotExist),
            "RET_NOT_IN_SCENE" => Some(Self::RetNotInScene),
            "RET_SCENE_MONSTER_NOT_EXIST" => Some(Self::RetSceneMonsterNotExist),
            "RET_INTERACT_CONFIG_NOT_EXIST" => Some(Self::RetInteractConfigNotExist),
            "RET_UNSUPPORTED_PROP_STATE" => Some(Self::RetUnsupportedPropState),
            "RET_SCENE_ENTRY_ID_NOT_MATCH" => Some(Self::RetSceneEntryIdNotMatch),
            "RET_SCENE_ENTITY_MOVE_CHECK_FAILED" => {
                Some(Self::RetSceneEntityMoveCheckFailed)
            }
            "RET_ASSIST_MONSTER_COUNT_LIMIT" => Some(Self::RetAssistMonsterCountLimit),
            "RET_SCENE_USE_SKILL_FAIL" => Some(Self::RetSceneUseSkillFail),
            "RET_PROP_IS_HIDDEN" => Some(Self::RetPropIsHidden),
            "RET_LOADING_SUCC_ALREADY" => Some(Self::RetLoadingSuccAlready),
            "RET_SCENE_ENTITY_TYPE_INVALID" => Some(Self::RetSceneEntityTypeInvalid),
            "RET_INTERACT_TYPE_INVALID" => Some(Self::RetInteractTypeInvalid),
            "RET_INTERACT_NOT_IN_REGION" => Some(Self::RetInteractNotInRegion),
            "RET_INTERACT_SUB_TYPE_INVALID" => Some(Self::RetInteractSubTypeInvalid),
            "RET_NOT_LEADER_ENTITY" => Some(Self::RetNotLeaderEntity),
            "RET_MONSTER_IS_NOT_FARM_ELEMENT" => Some(Self::RetMonsterIsNotFarmElement),
            "RET_MONSTER_CONFIG_NOT_EXIST" => Some(Self::RetMonsterConfigNotExist),
            "RET_AVATAR_HP_ALREADY_FULL" => Some(Self::RetAvatarHpAlreadyFull),
            "RET_CUR_INTERACT_ENTITY_NOT_MATCH" => {
                Some(Self::RetCurInteractEntityNotMatch)
            }
            "RET_PLANE_TYPE_NOT_ALLOW" => Some(Self::RetPlaneTypeNotAllow),
            "RET_GROUP_NOT_EXIST" => Some(Self::RetGroupNotExist),
            "RET_GROUP_SAVE_DATA_IN_CD" => Some(Self::RetGroupSaveDataInCd),
            "RET_GROUP_SAVE_LENGH_REACH_MAX" => Some(Self::RetGroupSaveLenghReachMax),
            "RET_RECENT_ELEMENT_NOT_EXIST" => Some(Self::RetRecentElementNotExist),
            "RET_RECENT_ELEMENT_STAGE_NOT_MATCH" => {
                Some(Self::RetRecentElementStageNotMatch)
            }
            "RET_SCENE_POSITION_VERSION_NOT_MATCH" => {
                Some(Self::RetScenePositionVersionNotMatch)
            }
            "RET_GAMEPLAY_COUNTER_NOT_EXIST" => Some(Self::RetGameplayCounterNotExist),
            "RET_GAMEPLAY_COUNTER_NOT_ENOUGH" => Some(Self::RetGameplayCounterNotEnough),
            "RET_GROUP_STATE_NOT_MATCH" => Some(Self::RetGroupStateNotMatch),
            "RET_SCENE_ENTITY_POS_NOT_MATCH" => Some(Self::RetSceneEntityPosNotMatch),
            "RET_GROUP_STATE_CUSTOM_SAVE_DATA_OFF" => {
                Some(Self::RetGroupStateCustomSaveDataOff)
            }
            "RET_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_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_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_MISSION_EVENT_CONFIG_NOT_EXIST" => {
                Some(Self::RetMissionEventConfigNotExist)
            }
            "RET_MISSION_EVENT_NOT_CLIENT" => Some(Self::RetMissionEventNotClient),
            "RET_MISSION_EVENT_FINISHED" => Some(Self::RetMissionEventFinished),
            "RET_MISSION_EVENT_DOING" => Some(Self::RetMissionEventDoing),
            "RET_HAS_CHALLENGE_MISSION_EVENT" => Some(Self::RetHasChallengeMissionEvent),
            "RET_NOT_CHALLENGE_MISSION_EVENT" => Some(Self::RetNotChallengeMissionEvent),
            "RET_GACHA_ID_NOT_EXIST" => Some(Self::RetGachaIdNotExist),
            "RET_GACHA_NUM_INVALID" => Some(Self::RetGachaNumInvalid),
            "RET_GACHA_FIRST_GACHA_MUST_ONE" => Some(Self::RetGachaFirstGachaMustOne),
            "RET_GACHA_REQ_DUPLICATED" => Some(Self::RetGachaReqDuplicated),
            "RET_GACHA_NOT_IN_SCHEDULE" => Some(Self::RetGachaNotInSchedule),
            "RET_GACHA_NEWBIE_CLOSE" => Some(Self::RetGachaNewbieClose),
            "RET_GACHA_TODAY_LIMITED" => Some(Self::RetGachaTodayLimited),
            "RET_GACHA_NOT_SUPPORT" => Some(Self::RetGachaNotSupport),
            "RET_GACHA_CEILING_NOT_ENOUGH" => Some(Self::RetGachaCeilingNotEnough),
            "RET_GACHA_CEILING_CLOSE" => Some(Self::RetGachaCeilingClose),
            "RET_NOT_IN_RAID" => Some(Self::RetNotInRaid),
            "RET_RAID_DOING" => Some(Self::RetRaidDoing),
            "RET_NOT_PROP" => Some(Self::RetNotProp),
            "RET_RAID_ID_NOT_MATCH" => Some(Self::RetRaidIdNotMatch),
            "RET_RAID_RESTART_NOT_MATCH" => Some(Self::RetRaidRestartNotMatch),
            "RET_RAID_LIMIT" => Some(Self::RetRaidLimit),
            "RET_RAID_AVATAR_LIST_EMPTY" => Some(Self::RetRaidAvatarListEmpty),
            "RET_RAID_AVATAR_NOT_EXIST" => Some(Self::RetRaidAvatarNotExist),
            "RET_CHALLENGE_RAID_REWARD_ALREADY" => {
                Some(Self::RetChallengeRaidRewardAlready)
            }
            "RET_CHALLENGE_RAID_SCORE_NOT_REACH" => {
                Some(Self::RetChallengeRaidScoreNotReach)
            }
            "RET_CHALLENGE_RAID_NOT_OPEN" => Some(Self::RetChallengeRaidNotOpen),
            "RET_RAID_FINISHED" => Some(Self::RetRaidFinished),
            "RET_RAID_WORLD_LEVEL_NOT_LOCK" => Some(Self::RetRaidWorldLevelNotLock),
            "RET_RAID_CANNOT_USE_ASSIST" => Some(Self::RetRaidCannotUseAssist),
            "RET_RAID_AVATAR_NOT_MATCH" => Some(Self::RetRaidAvatarNotMatch),
            "RET_RAID_CAN_NOT_SAVE" => Some(Self::RetRaidCanNotSave),
            "RET_RAID_NO_SAVE" => Some(Self::RetRaidNoSave),
            "RET_ACTIVITY_RAID_NOT_OPEN" => Some(Self::RetActivityRaidNotOpen),
            "RET_RAID_AVATAR_CAPTAIN_NOT_EXIST" => {
                Some(Self::RetRaidAvatarCaptainNotExist)
            }
            "RET_RAID_STORY_LINE_NOT_MATCH" => Some(Self::RetRaidStoryLineNotMatch),
            "RET_TALK_EVENT_ALREADY_TAKEN" => Some(Self::RetTalkEventAlreadyTaken),
            "RET_NPC_ALREADY_MEET" => Some(Self::RetNpcAlreadyMeet),
            "RET_NPC_NOT_IN_CONFIG" => Some(Self::RetNpcNotInConfig),
            "RET_DIALOGUE_GROUP_DISMATCH" => Some(Self::RetDialogueGroupDismatch),
            "RET_DIALOGUE_EVENT_INVALID" => Some(Self::RetDialogueEventInvalid),
            "RET_TALK_EVENT_TAKE_PROTO_NOT_MATCH" => {
                Some(Self::RetTalkEventTakeProtoNotMatch)
            }
            "RET_TALK_EVENT_NOT_VALID" => Some(Self::RetTalkEventNotValid),
            "RET_EXPEDITION_CONFIG_NOT_EXIST" => Some(Self::RetExpeditionConfigNotExist),
            "RET_EXPEDITION_REWARD_CONFIG_NOT_EXIST" => {
                Some(Self::RetExpeditionRewardConfigNotExist)
            }
            "RET_EXPEDITION_NOT_UNLOCKED" => Some(Self::RetExpeditionNotUnlocked),
            "RET_EXPEDITION_ALREADY_ACCEPTED" => Some(Self::RetExpeditionAlreadyAccepted),
            "RET_EXPEDITION_REPEATED_AVATAR" => Some(Self::RetExpeditionRepeatedAvatar),
            "RET_AVATAR_ALREADY_DISPATCHED" => Some(Self::RetAvatarAlreadyDispatched),
            "RET_EXPEDITION_NOT_ACCEPTED" => Some(Self::RetExpeditionNotAccepted),
            "RET_EXPEDITION_NOT_FINISH" => Some(Self::RetExpeditionNotFinish),
            "RET_EXPEDITION_ALREADY_FINISH" => Some(Self::RetExpeditionAlreadyFinish),
            "RET_EXPEDITION_TEAM_COUNT_LIMIT" => Some(Self::RetExpeditionTeamCountLimit),
            "RET_EXPEDITION_AVATAR_NUM_NOT_MATCH" => {
                Some(Self::RetExpeditionAvatarNumNotMatch)
            }
            "RET_EXPEDITION_NOT_OPEN" => Some(Self::RetExpeditionNotOpen),
            "RET_EXPEDITION_FRIEND_AVATAR_NOT_VALID" => {
                Some(Self::RetExpeditionFriendAvatarNotValid)
            }
            "RET_EXPEDITION_NOT_PUBLISHED" => Some(Self::RetExpeditionNotPublished),
            "RET_LOGIN_ACTIVITY_HAS_TAKEN" => Some(Self::RetLoginActivityHasTaken),
            "RET_LOGIN_ACTIVITY_DAYS_LACK" => Some(Self::RetLoginActivityDaysLack),
            "RET_TRIAL_ACTIVITY_REWARD_ALREADY_TAKE" => {
                Some(Self::RetTrialActivityRewardAlreadyTake)
            }
            "RET_TRIAL_ACTIVITY_STAGE_NOT_FINISH" => {
                Some(Self::RetTrialActivityStageNotFinish)
            }
            "RET_MONSTER_RESEARCH_ACTIVITY_HAS_TAKEN" => {
                Some(Self::RetMonsterResearchActivityHasTaken)
            }
            "RET_MONSTER_RESEARCH_ACTIVITY_MATERIAL_NOT_SUBMITTED" => {
                Some(Self::RetMonsterResearchActivityMaterialNotSubmitted)
            }
            "RET_MONSTER_RESEARCH_ACTIVITY_MATERIAL_ALREADY_SUBMITTED" => {
                Some(Self::RetMonsterResearchActivityMaterialAlreadySubmitted)
            }
            "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_MESSAGE_CONFIG_NOT_EXIST" => Some(Self::RetMessageConfigNotExist),
            "RET_MESSAGE_SECTION_NOT_TAKE" => Some(Self::RetMessageSectionNotTake),
            "RET_MESSAGE_GROUP_NOT_TAKE" => Some(Self::RetMessageGroupNotTake),
            "RET_MESSAGE_SECTION_ID_NOT_MATCH" => Some(Self::RetMessageSectionIdNotMatch),
            "RET_MESSAGE_SECTION_CAN_NOT_FINISH" => {
                Some(Self::RetMessageSectionCanNotFinish)
            }
            "RET_MESSAGE_ITEM_CAN_NOT_FINISH" => Some(Self::RetMessageItemCanNotFinish),
            "RET_MESSAGE_ITEM_RAID_CAN_NOT_FINISH" => {
                Some(Self::RetMessageItemRaidCanNotFinish)
            }
            "RET_FRIEND_ALREADY_IS_FRIEND" => Some(Self::RetFriendAlreadyIsFriend),
            "RET_FRIEND_IS_NOT_FRIEND" => Some(Self::RetFriendIsNotFriend),
            "RET_FRIEND_APPLY_EXPIRE" => Some(Self::RetFriendApplyExpire),
            "RET_FRIEND_IN_BLACKLIST" => Some(Self::RetFriendInBlacklist),
            "RET_FRIEND_NOT_IN_BLACKLIST" => Some(Self::RetFriendNotInBlacklist),
            "RET_FRIEND_NUMBER_LIMIT" => Some(Self::RetFriendNumberLimit),
            "RET_FRIEND_BLACKLIST_NUMBER_LIMIT" => {
                Some(Self::RetFriendBlacklistNumberLimit)
            }
            "RET_FRIEND_DAILY_APPLY_LIMIT" => Some(Self::RetFriendDailyApplyLimit),
            "RET_FRIEND_IN_HANDLE_LIMIT" => Some(Self::RetFriendInHandleLimit),
            "RET_FRIEND_APPLY_IN_CD" => Some(Self::RetFriendApplyInCd),
            "RET_FRIEND_REMARK_NAME_FORMAT_ERROR" => {
                Some(Self::RetFriendRemarkNameFormatError)
            }
            "RET_FRIEND_PLAYER_NOT_FOUND" => Some(Self::RetFriendPlayerNotFound),
            "RET_FRIEND_IN_TARGET_BLACKLIST" => Some(Self::RetFriendInTargetBlacklist),
            "RET_FRIEND_TARGET_NUMBER_LIMIT" => Some(Self::RetFriendTargetNumberLimit),
            "RET_ASSIST_QUERY_TOO_FAST" => Some(Self::RetAssistQueryTooFast),
            "RET_ASSIST_NOT_EXIST" => Some(Self::RetAssistNotExist),
            "RET_ASSIST_USED_ALREADY" => Some(Self::RetAssistUsedAlready),
            "RET_FRIEND_REPORT_REASON_FORMAT_ERROR" => {
                Some(Self::RetFriendReportReasonFormatError)
            }
            "RET_FRIEND_REPORT_SENSITIVE_WORDS" => {
                Some(Self::RetFriendReportSensitiveWords)
            }
            "RET_ASSIST_USED_TIMES_OVER" => Some(Self::RetAssistUsedTimesOver),
            "RET_ASSIST_QUIT_ALREADY" => Some(Self::RetAssistQuitAlready),
            "RET_ASSIST_AVATAR_IN_LINEUP" => Some(Self::RetAssistAvatarInLineup),
            "RET_ASSIST_NO_REWARD" => Some(Self::RetAssistNoReward),
            "RET_FRIEND_SEARCH_NUM_LIMIT" => Some(Self::RetFriendSearchNumLimit),
            "RET_FRIEND_SEARCH_IN_CD" => Some(Self::RetFriendSearchInCd),
            "RET_FRIEND_REMARK_NAME_UTF8_ERROR" => {
                Some(Self::RetFriendRemarkNameUtf8Error)
            }
            "RET_FRIEND_REPORT_REASON_UTF8_ERROR" => {
                Some(Self::RetFriendReportReasonUtf8Error)
            }
            "RET_ASSIST_SET_ALREADY" => Some(Self::RetAssistSetAlready),
            "RET_FRIEND_TARGET_FORBID_OTHER_APPLY" => {
                Some(Self::RetFriendTargetForbidOtherApply)
            }
            "RET_FRIEND_MARKED_CNT_MAX" => Some(Self::RetFriendMarkedCntMax),
            "RET_FRIEND_MARKED_ALREADY" => Some(Self::RetFriendMarkedAlready),
            "RET_FRIEND_NOT_MARKED" => Some(Self::RetFriendNotMarked),
            "RET_FRIEND_CHALLENGE_LINEUP_RECOMMEND_IN_CD" => {
                Some(Self::RetFriendChallengeLineupRecommendInCd)
            }
            "RET_VIEW_PLAYER_CARD_IN_CD" => Some(Self::RetViewPlayerCardInCd),
            "RET_VIEW_PLAYER_BATTLE_RECORD_IN_CD" => {
                Some(Self::RetViewPlayerBattleRecordInCd)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_NOT_EXIST" => {
                Some(Self::RetPlayerBoardHeadIconNotExist)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_LOCKED" => {
                Some(Self::RetPlayerBoardHeadIconLocked)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_ALREADY_UNLOCKED" => {
                Some(Self::RetPlayerBoardHeadIconAlreadyUnlocked)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_NOT_EXIST" => {
                Some(Self::RetPlayerBoardDisplayAvatarNotExist)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_EXCEED_LIMIT" => {
                Some(Self::RetPlayerBoardDisplayAvatarExceedLimit)
            }
            "RET_PLAYER_BOARD_DISPLAY_REPEATED_AVATAR" => {
                Some(Self::RetPlayerBoardDisplayRepeatedAvatar)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_SAME_POS" => {
                Some(Self::RetPlayerBoardDisplayAvatarSamePos)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_LOCKED" => {
                Some(Self::RetPlayerBoardDisplayAvatarLocked)
            }
            "RET_SIGNATURE_LENGTH_EXCEED_LIMIT" => {
                Some(Self::RetSignatureLengthExceedLimit)
            }
            "RET_SIGNATURE_SENSITIVE_WORDS" => Some(Self::RetSignatureSensitiveWords),
            "RET_PLAYER_BOARD_ASSIST_AVATAR_NOT_EXIST" => {
                Some(Self::RetPlayerBoardAssistAvatarNotExist)
            }
            "RET_PLAYER_BOARD_ASSIST_AVATAR_LOCKED" => {
                Some(Self::RetPlayerBoardAssistAvatarLocked)
            }
            "RET_SIGNATURE_UTF8_ERROR" => Some(Self::RetSignatureUtf8Error),
            "RET_PLAYER_BOARD_ASSIST_AVATAR_CNT_ERROR" => {
                Some(Self::RetPlayerBoardAssistAvatarCntError)
            }
            "RET_BATTLE_PASS_TIER_NOT_VALID" => Some(Self::RetBattlePassTierNotValid),
            "RET_BATTLE_PASS_LEVEL_NOT_MEET" => Some(Self::RetBattlePassLevelNotMeet),
            "RET_BATTLE_PASS_REWARD_TAKE_ALREADY" => {
                Some(Self::RetBattlePassRewardTakeAlready)
            }
            "RET_BATTLE_PASS_NOT_PREMIUM" => Some(Self::RetBattlePassNotPremium),
            "RET_BATTLE_PASS_NOT_DOING" => Some(Self::RetBattlePassNotDoing),
            "RET_BATTLE_PASS_LEVEL_INVALID" => Some(Self::RetBattlePassLevelInvalid),
            "RET_BATTLE_PASS_NOT_UNLOCK" => Some(Self::RetBattlePassNotUnlock),
            "RET_BATTLE_PASS_NO_REWARD" => Some(Self::RetBattlePassNoReward),
            "RET_BATTLE_PASS_QUEST_NOT_VALID" => Some(Self::RetBattlePassQuestNotValid),
            "RET_BATTLE_PASS_NOT_CHOOSE_OPTIONAL" => {
                Some(Self::RetBattlePassNotChooseOptional)
            }
            "RET_BATTLE_PASS_NOT_TAKE_REWARD" => Some(Self::RetBattlePassNotTakeReward),
            "RET_BATTLE_PASS_OPTIONAL_NOT_VALID" => {
                Some(Self::RetBattlePassOptionalNotValid)
            }
            "RET_BATTLE_PASS_BUY_ALREADY" => Some(Self::RetBattlePassBuyAlready),
            "RET_BATTLE_PASS_NEAR_END" => Some(Self::RetBattlePassNearEnd),
            "RET_MUSIC_LOCKED" => Some(Self::RetMusicLocked),
            "RET_MUSIC_NOT_EXIST" => Some(Self::RetMusicNotExist),
            "RET_MUSIC_UNLOCK_FAILED" => Some(Self::RetMusicUnlockFailed),
            "RET_PUNK_LORD_LACK_SUMMON_TIMES" => Some(Self::RetPunkLordLackSummonTimes),
            "RET_PUNK_LORD_ATTACKING_MONSTER_LIMIT" => {
                Some(Self::RetPunkLordAttackingMonsterLimit)
            }
            "RET_PUNK_LORD_MONSTER_NOT_EXIST" => Some(Self::RetPunkLordMonsterNotExist),
            "RET_PUNK_LORD_MONSTER_ALREADY_SHARED" => {
                Some(Self::RetPunkLordMonsterAlreadyShared)
            }
            "RET_PUNK_LORD_MONSTER_EXPIRED" => Some(Self::RetPunkLordMonsterExpired),
            "RET_PUNK_LORD_SELF_MONSTER_ATTACK_LIMIT" => {
                Some(Self::RetPunkLordSelfMonsterAttackLimit)
            }
            "RET_PUNK_LORD_LACK_SUPPORT_TIMES" => Some(Self::RetPunkLordLackSupportTimes),
            "RET_PUNK_LORD_MONSTER_ALREADY_KILLED" => {
                Some(Self::RetPunkLordMonsterAlreadyKilled)
            }
            "RET_PUNK_LORD_MONSTER_ATTACKER_LIMIT" => {
                Some(Self::RetPunkLordMonsterAttackerLimit)
            }
            "RET_PUNK_LORD_WORLD_LEVLE_NOT_VALID" => {
                Some(Self::RetPunkLordWorldLevleNotValid)
            }
            "RET_PUNK_LORD_REWARD_LEVLE_NOT_EXIST" => {
                Some(Self::RetPunkLordRewardLevleNotExist)
            }
            "RET_PUNK_LORD_POINT_NOT_MEET" => Some(Self::RetPunkLordPointNotMeet),
            "RET_PUNK_LORD_IN_ATTACKING" => Some(Self::RetPunkLordInAttacking),
            "RET_PUNK_LORD_OPERATION_IN_CD" => Some(Self::RetPunkLordOperationInCd),
            "RET_PUNK_LORD_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetPunkLordRewardAlreadyTaken)
            }
            "RET_PUNK_LORD_OVER_BONUS_REWARD_LIMIT" => {
                Some(Self::RetPunkLordOverBonusRewardLimit)
            }
            "RET_PUNK_LORD_NOT_IN_SCHEDULE" => Some(Self::RetPunkLordNotInSchedule),
            "RET_PUNK_LORD_MONSTER_NOT_ATTACKED" => {
                Some(Self::RetPunkLordMonsterNotAttacked)
            }
            "RET_PUNK_LORD_MONSTER_NOT_KILLED" => Some(Self::RetPunkLordMonsterNotKilled),
            "RET_PUNK_LORD_MONSTER_KILLED_SCORE_ALREADY_TAKE" => {
                Some(Self::RetPunkLordMonsterKilledScoreAlreadyTake)
            }
            "RET_PUNK_LORD_REWARD_LEVLE_ALREADY_TAKE" => {
                Some(Self::RetPunkLordRewardLevleAlreadyTake)
            }
            "RET_DAILY_ACTIVE_LEVEL_INVALID" => Some(Self::RetDailyActiveLevelInvalid),
            "RET_DAILY_ACTIVE_LEVEL_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetDailyActiveLevelRewardAlreadyTaken)
            }
            "RET_DAILY_ACTIVE_LEVEL_AP_NOT_ENOUGH" => {
                Some(Self::RetDailyActiveLevelApNotEnough)
            }
            "RET_DAILY_MEET_PAM" => Some(Self::RetDailyMeetPam),
            "RET_REPLAY_ID_NOT_MATCH" => Some(Self::RetReplayIdNotMatch),
            "RET_REPLAY_REQ_NOT_VALID" => Some(Self::RetReplayReqNotValid),
            "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_NOT_PASSED" => {
                Some(Self::RetFightActivityDifficultyLevelNotPassed)
            }
            "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_REWARD_ALREADY_TAKE" => {
                Some(Self::RetFightActivityDifficultyLevelRewardAlreadyTake)
            }
            "RET_FIGHT_ACTIVITY_STAGE_NOT_OPEN" => {
                Some(Self::RetFightActivityStageNotOpen)
            }
            "RET_FIGHT_ACTIVITY_LEVEL_NOT_UNLOCK" => {
                Some(Self::RetFightActivityLevelNotUnlock)
            }
            "RET_TRAIN_VISITOR_VISITOR_NOT_EXIST" => {
                Some(Self::RetTrainVisitorVisitorNotExist)
            }
            "RET_TRAIN_VISITOR_BEHAVIOR_NOT_EXIST" => {
                Some(Self::RetTrainVisitorBehaviorNotExist)
            }
            "RET_TRAIN_VISITOR_BEHAVIOR_FINISHED" => {
                Some(Self::RetTrainVisitorBehaviorFinished)
            }
            "RET_TRAIN_VISITOR_ALL_BEHAVIOR_REWARD_TAKEN" => {
                Some(Self::RetTrainVisitorAllBehaviorRewardTaken)
            }
            "RET_TRAIN_VISITOR_GET_ON_MISSION_NOT_FINISH" => {
                Some(Self::RetTrainVisitorGetOnMissionNotFinish)
            }
            "RET_TRAIN_VISITOR_NOT_GET_OFF" => Some(Self::RetTrainVisitorNotGetOff),
            "RET_TEXT_JOIN_UNKNOW_IS_OVERRIDE" => Some(Self::RetTextJoinUnknowIsOverride),
            "RET_TEXT_JOIN_ID_NOT_EXIST" => Some(Self::RetTextJoinIdNotExist),
            "RET_TEXT_JOIN_CAN_NOT_OVERRIDE" => Some(Self::RetTextJoinCanNotOverride),
            "RET_TEXT_JOIN_ITEM_ID_ERROR" => Some(Self::RetTextJoinItemIdError),
            "RET_TEXT_JOIN_SENSITIVE_CHECK_ERROR" => {
                Some(Self::RetTextJoinSensitiveCheckError)
            }
            "RET_TEXT_JOIN_MUST_OVERRIDE" => Some(Self::RetTextJoinMustOverride),
            "RET_TEXT_JOIN_TEXT_EMPTY" => Some(Self::RetTextJoinTextEmpty),
            "RET_TEXT_JOIN_TEXT_FORMAT_ERROR" => Some(Self::RetTextJoinTextFormatError),
            "RET_TEXT_JOIN_TEXT_UTF8_ERROR" => Some(Self::RetTextJoinTextUtf8Error),
            "RET_TEXT_JOIN_BATCH_REQ_ID_REPEAT" => {
                Some(Self::RetTextJoinBatchReqIdRepeat)
            }
            "RET_TEXT_JOIN_TYPE_NOT_SUPPORT_BATCH_REQ" => {
                Some(Self::RetTextJoinTypeNotSupportBatchReq)
            }
            "RET_TEXT_JOIN_AVATAR_ID_NOT_EXIST" => {
                Some(Self::RetTextJoinAvatarIdNotExist)
            }
            "RET_TEXT_JOIN_UNKNOW_TYPE" => Some(Self::RetTextJoinUnknowType),
            "RET_PAM_MISSION_MISSION_ID_ERROR" => Some(Self::RetPamMissionMissionIdError),
            "RET_PAM_MISSION_MISSION_EXPIRE" => Some(Self::RetPamMissionMissionExpire),
            "RET_CHAT_TYPE_NOT_EXIST" => Some(Self::RetChatTypeNotExist),
            "RET_MSG_TYPE_NOT_EXIST" => Some(Self::RetMsgTypeNotExist),
            "RET_CHAT_NO_TARGET_UID" => Some(Self::RetChatNoTargetUid),
            "RET_CHAT_MSG_EMPTY" => Some(Self::RetChatMsgEmpty),
            "RET_CHAT_MSG_EXCEED_LIMIT" => Some(Self::RetChatMsgExceedLimit),
            "RET_CHAT_MSG_SENSITIVE_CHECK_ERROR" => {
                Some(Self::RetChatMsgSensitiveCheckError)
            }
            "RET_CHAT_MSG_UTF8_ERROR" => Some(Self::RetChatMsgUtf8Error),
            "RET_CHAT_FORBID_SWITCH_OPEN" => Some(Self::RetChatForbidSwitchOpen),
            "RET_CHAT_FORBID" => Some(Self::RetChatForbid),
            "RET_CHAT_MSG_INCLUDE_SPECIAL_STR" => Some(Self::RetChatMsgIncludeSpecialStr),
            "RET_CHAT_MSG_EMOJI_NOT_EXIST" => Some(Self::RetChatMsgEmojiNotExist),
            "RET_CHAT_MSG_EMOJI_GENDER_NOT_MATCH" => {
                Some(Self::RetChatMsgEmojiGenderNotMatch)
            }
            "RET_CHAT_MSG_EMOJI_NOT_MARKED" => Some(Self::RetChatMsgEmojiNotMarked),
            "RET_CHAT_MSG_EMOJI_ALREADY_MARKED" => {
                Some(Self::RetChatMsgEmojiAlreadyMarked)
            }
            "RET_CHAT_MSG_EMOJI_MARKED_MAX_LIMIT" => {
                Some(Self::RetChatMsgEmojiMarkedMaxLimit)
            }
            "RET_BOXING_CLUB_CHALLENGE_NOT_OPEN" => {
                Some(Self::RetBoxingClubChallengeNotOpen)
            }
            "RET_MUSEUM_NOT_OPEN" => Some(Self::RetMuseumNotOpen),
            "RET_MUSEUM_TURN_CNT_NOT_MATCH" => Some(Self::RetMuseumTurnCntNotMatch),
            "RET_MUSEUM_PHASE_NOT_REACH" => Some(Self::RetMuseumPhaseNotReach),
            "RET_MUSEUM_UNKNOW_STUFF" => Some(Self::RetMuseumUnknowStuff),
            "RET_MUSEUM_UNKNOW_AREA" => Some(Self::RetMuseumUnknowArea),
            "RET_MUSEUM_UNKNOW_POS" => Some(Self::RetMuseumUnknowPos),
            "RET_MUSEUM_STUFF_ALREADY_IN_AREA" => Some(Self::RetMuseumStuffAlreadyInArea),
            "RET_MUSEUM_STUFF_NOT_IN_AREA" => Some(Self::RetMuseumStuffNotInArea),
            "RET_MUSEUM_GET_NPC_REPEAT" => Some(Self::RetMuseumGetNpcRepeat),
            "RET_MUSEUM_GET_NPC_UNLOCK" => Some(Self::RetMuseumGetNpcUnlock),
            "RET_MUSEUM_GET_NPC_NOT_ENOUGH" => Some(Self::RetMuseumGetNpcNotEnough),
            "RET_MUSEUM_CHANGE_STUFF_AREA_ERROR" => {
                Some(Self::RetMuseumChangeStuffAreaError)
            }
            "RET_MUSEUM_NOT_INIT" => Some(Self::RetMuseumNotInit),
            "RET_MUSEUM_EVENT_ERROR" => Some(Self::RetMuseumEventError),
            "RET_MUSEUM_UNKNOW_CHOOSE_EVENT_ID" => {
                Some(Self::RetMuseumUnknowChooseEventId)
            }
            "RET_MUSEUM_EVENT_ORDER_NOT_MATCH" => Some(Self::RetMuseumEventOrderNotMatch),
            "RET_MUSEUM_EVENT_PHASE_NOT_UNLOCK" => {
                Some(Self::RetMuseumEventPhaseNotUnlock)
            }
            "RET_MUSEUM_EVENT_MISSION_NOT_FOUND" => {
                Some(Self::RetMuseumEventMissionNotFound)
            }
            "RET_MUSEUM_AREA_LEVEL_UP_ALREADY" => Some(Self::RetMuseumAreaLevelUpAlready),
            "RET_MUSEUM_STUFF_ALREADY_USED" => Some(Self::RetMuseumStuffAlreadyUsed),
            "RET_MUSEUM_EVENT_ROUND_NOT_UNLOCK" => {
                Some(Self::RetMuseumEventRoundNotUnlock)
            }
            "RET_MUSEUM_STUFF_IN_AREA" => Some(Self::RetMuseumStuffInArea),
            "RET_MUSEUM_STUFF_DISPATCH" => Some(Self::RetMuseumStuffDispatch),
            "RET_MUSEUM_IS_END" => Some(Self::RetMuseumIsEnd),
            "RET_MUSEUM_STUFF_LEAVING" => Some(Self::RetMuseumStuffLeaving),
            "RET_MUSEUM_EVENT_MISSION_NOT_FINISH" => {
                Some(Self::RetMuseumEventMissionNotFinish)
            }
            "RET_MUSEUM_COLLECT_REWARD_NOT_EXIST" => {
                Some(Self::RetMuseumCollectRewardNotExist)
            }
            "RET_MUSEUM_COLLECT_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMuseumCollectRewardAlreadyTaken)
            }
            "RET_MUSEUM_ACCEPT_MISSION_MAX_LIMIT" => {
                Some(Self::RetMuseumAcceptMissionMaxLimit)
            }
            "RET_ROGUE_CHALLENGE_NOT_OPEN" => Some(Self::RetRogueChallengeNotOpen),
            "RET_ROGUE_CHALLENGE_ASSIS_REFRESH_LIMIT" => {
                Some(Self::RetRogueChallengeAssisRefreshLimit)
            }
            "RET_ALLEY_NOT_INIT" => Some(Self::RetAlleyNotInit),
            "RET_ALLEY_NOT_OPEN" => Some(Self::RetAlleyNotOpen),
            "RET_ALLEY_MAP_NOT_EXIST" => Some(Self::RetAlleyMapNotExist),
            "RET_ALLEY_EMPTY_POS_LIST" => Some(Self::RetAlleyEmptyPosList),
            "RET_ALLEY_LINE_POS_INVALID" => Some(Self::RetAlleyLinePosInvalid),
            "RET_ALLEY_SHOP_NOT_UNLOCK" => Some(Self::RetAlleyShopNotUnlock),
            "RET_ALLEY_DEPOT_FULL" => Some(Self::RetAlleyDepotFull),
            "RET_ALLEY_SHOP_NOT_INCLUDE" => Some(Self::RetAlleyShopNotInclude),
            "RET_ALLEY_EVENT_NOT_UNLOCK" => Some(Self::RetAlleyEventNotUnlock),
            "RET_ALLEY_EVENT_NOT_REFRESH" => Some(Self::RetAlleyEventNotRefresh),
            "RET_ALLEY_EVENT_STATE_DOING" => Some(Self::RetAlleyEventStateDoing),
            "RET_ALLEY_EVENT_STATE_FINISH" => Some(Self::RetAlleyEventStateFinish),
            "RET_ALLEY_EVENT_ERROR" => Some(Self::RetAlleyEventError),
            "RET_ALLEY_REWARD_LEVEL_ERROR" => Some(Self::RetAlleyRewardLevelError),
            "RET_ALLEY_REWARD_PRESTIGE_NOT_ENOUGH" => {
                Some(Self::RetAlleyRewardPrestigeNotEnough)
            }
            "RET_ALLEY_SHIP_EMPTY" => Some(Self::RetAlleyShipEmpty),
            "RET_ALLEY_SHIP_ID_DISMATCH" => Some(Self::RetAlleyShipIdDismatch),
            "RET_ALLEY_SHIP_NOT_EXIST" => Some(Self::RetAlleyShipNotExist),
            "RET_ALLEY_SHIP_NOT_UNLOCK" => Some(Self::RetAlleyShipNotUnlock),
            "RET_ALLEY_GOODS_NOT_EXIST" => Some(Self::RetAlleyGoodsNotExist),
            "RET_ALLEY_GOODS_NOT_UNLOCK" => Some(Self::RetAlleyGoodsNotUnlock),
            "RET_ALLEY_PROFIT_NOT_POSITIVE" => Some(Self::RetAlleyProfitNotPositive),
            "RET_ALLEY_SPECIAL_ORDER_DISMATCH" => {
                Some(Self::RetAlleySpecialOrderDismatch)
            }
            "RET_ALLEY_ORDER_GOODS_OVER_LIMIT" => Some(Self::RetAlleyOrderGoodsOverLimit),
            "RET_ALLEY_SPECIAL_ORDER_CONDITION_NOT_MEET" => {
                Some(Self::RetAlleySpecialOrderConditionNotMeet)
            }
            "RET_ALLEY_DEPOT_SIZE_OVER_LIMIT" => Some(Self::RetAlleyDepotSizeOverLimit),
            "RET_ALLEY_GOODS_NOT_ENOUGH" => Some(Self::RetAlleyGoodsNotEnough),
            "RET_ALLEY_ORDER_INDEX_INVALID" => Some(Self::RetAlleyOrderIndexInvalid),
            "RET_ALLEY_REWARD_ALREADY_TAKE" => Some(Self::RetAlleyRewardAlreadyTake),
            "RET_ALLEY_REWARD_NOT_EXIST" => Some(Self::RetAlleyRewardNotExist),
            "RET_ALLEY_MAIN_MISSION_NOT_DOING" => Some(Self::RetAlleyMainMissionNotDoing),
            "RET_ALLEY_CRITICAL_EVENT_NOT_FINISH" => {
                Some(Self::RetAlleyCriticalEventNotFinish)
            }
            "RET_ALLEY_SHOP_GOODS_NOT_VALID" => Some(Self::RetAlleyShopGoodsNotValid),
            "RET_ALLEY_SLASH_NOT_OPEN" => Some(Self::RetAlleySlashNotOpen),
            "RET_ALLEY_PLACING_ANCHOR_INVALID" => {
                Some(Self::RetAlleyPlacingAnchorInvalid)
            }
            "RET_ALLEY_PLACING_GOODS_INDEX_INVALID" => {
                Some(Self::RetAlleyPlacingGoodsIndexInvalid)
            }
            "RET_ALLEY_SAVE_MAP_TOO_QUICK" => Some(Self::RetAlleySaveMapTooQuick),
            "RET_ALLEY_MAP_NOT_LINK" => Some(Self::RetAlleyMapNotLink),
            "RET_ALLEY_FUNDS_NOT_LOWER_BASE" => Some(Self::RetAlleyFundsNotLowerBase),
            "RET_ALLEY_EVENT_NOT_FINISH" => Some(Self::RetAlleyEventNotFinish),
            "RET_ALLEY_NORMAL_ORDER_NOT_MEET" => Some(Self::RetAlleyNormalOrderNotMeet),
            "RET_PLAYER_RETURN_NOT_OPEN" => Some(Self::RetPlayerReturnNotOpen),
            "RET_PLAYER_RETURN_IS_SIGNED" => Some(Self::RetPlayerReturnIsSigned),
            "RET_PLAYER_RETURN_POINT_NOT_ENOUGH" => {
                Some(Self::RetPlayerReturnPointNotEnough)
            }
            "RET_PLAYER_RETURN_CONDITION_INVALID" => {
                Some(Self::RetPlayerReturnConditionInvalid)
            }
            "RET_PLAYER_RETURN_HAS_SIGNED" => Some(Self::RetPlayerReturnHasSigned),
            "RET_PLAYER_RETURN_REWARD_TAKEN" => Some(Self::RetPlayerReturnRewardTaken),
            "RET_AETHER_DIVIDE_NO_LINEUP" => Some(Self::RetAetherDivideNoLineup),
            "RET_AETHER_DIVIDE_LINEUP_INVALID" => {
                Some(Self::RetAetherDivideLineupInvalid)
            }
            "RET_CHAT_BUBBLE_ID_ERROR" => Some(Self::RetChatBubbleIdError),
            "RET_CHAT_BUBBLE_ID_NOT_UNLOCK" => Some(Self::RetChatBubbleIdNotUnlock),
            "RET_PHONE_THEME_ID_ERROR" => Some(Self::RetPhoneThemeIdError),
            "RET_PHONE_THEME_ID_NOT_UNLOCK" => Some(Self::RetPhoneThemeIdNotUnlock),
            "RET_CHAT_BUBBLE_SELECT_IS_CURRENT" => {
                Some(Self::RetChatBubbleSelectIsCurrent)
            }
            "RET_PHONE_THEME_SELECT_IS_CURRENT" => {
                Some(Self::RetPhoneThemeSelectIsCurrent)
            }
            "RET_CHESS_ROGUE_CONFIG_NOT_FOUND" => Some(Self::RetChessRogueConfigNotFound),
            "RET_CHESS_ROGUE_CONFIG_INVALID" => Some(Self::RetChessRogueConfigInvalid),
            "RET_CHESS_ROGUE_NO_VALID_ROOM" => Some(Self::RetChessRogueNoValidRoom),
            "RET_CHESS_ROGUE_NO_CELL_INFO" => Some(Self::RetChessRogueNoCellInfo),
            "RET_CHESS_ROGUE_CELL_NOT_FINISH" => Some(Self::RetChessRogueCellNotFinish),
            "RET_CHESS_ROGUE_CELL_IS_LOCKED" => Some(Self::RetChessRogueCellIsLocked),
            "RET_CHESS_ROGUE_SCHEDULE_NOT_MATCH" => {
                Some(Self::RetChessRogueScheduleNotMatch)
            }
            "RET_CHESS_ROGUE_STATUS_FAIL" => Some(Self::RetChessRogueStatusFail),
            "RET_CHESS_ROGUE_AREA_NOT_EXIST" => Some(Self::RetChessRogueAreaNotExist),
            "RET_CHESS_ROGUE_LINEUP_FAIL" => Some(Self::RetChessRogueLineupFail),
            "RET_CHESS_ROGUE_AEON_FAIL" => Some(Self::RetChessRogueAeonFail),
            "RET_CHESS_ROGUE_ENTER_CELL_FAIL" => Some(Self::RetChessRogueEnterCellFail),
            "RET_CHESS_ROGUE_ROLL_DICE_FAIL" => Some(Self::RetChessRogueRollDiceFail),
            "RET_CHESS_ROGUE_DICE_STATUS_FAIL" => Some(Self::RetChessRogueDiceStatusFail),
            "RET_CHESS_ROGUE_DICE_CNT_NOT_FULL" => {
                Some(Self::RetChessRogueDiceCntNotFull)
            }
            "RET_CHESS_ROGUE_UNLOCK" => Some(Self::RetChessRogueUnlock),
            "RET_CHESS_ROGUE_PICK_AVATAR_FAIL" => Some(Self::RetChessRoguePickAvatarFail),
            "RET_CHESS_ROGUE_AVATAR_INVALID" => Some(Self::RetChessRogueAvatarInvalid),
            "RET_CHESS_ROGUE_CELL_CAN_NOT_SELECT" => {
                Some(Self::RetChessRogueCellCanNotSelect)
            }
            "RET_CHESS_ROGUE_DICE_CONFIRMED" => Some(Self::RetChessRogueDiceConfirmed),
            "RET_CHESS_ROGUE_NOUS_DICE_NOT_MATCH" => {
                Some(Self::RetChessRogueNousDiceNotMatch)
            }
            "RET_CHESS_ROGUE_NOUS_DICE_RARITY_FAIL" => {
                Some(Self::RetChessRogueNousDiceRarityFail)
            }
            "RET_CHESS_ROGUE_NOUS_DICE_SURFACE_DUPLICATE" => {
                Some(Self::RetChessRogueNousDiceSurfaceDuplicate)
            }
            "RET_CHESS_ROGUE_NOT_IN_ROGUE" => Some(Self::RetChessRogueNotInRogue),
            "RET_CHESS_ROGUE_NOUS_DICE_BRANCH_LIMIT" => {
                Some(Self::RetChessRogueNousDiceBranchLimit)
            }
            "RET_HELIOBUS_NOT_OPEN" => Some(Self::RetHeliobusNotOpen),
            "RET_HELIOBUS_SNS_POST_NOT_UNLOCK" => Some(Self::RetHeliobusSnsPostNotUnlock),
            "RET_HELIOBUS_SNS_ALREADY_READ" => Some(Self::RetHeliobusSnsAlreadyRead),
            "RET_HELIOBUS_SNS_ALREADY_LIKED" => Some(Self::RetHeliobusSnsAlreadyLiked),
            "RET_HELIOBUS_SNS_ALREADY_COMMENTED" => {
                Some(Self::RetHeliobusSnsAlreadyCommented)
            }
            "RET_HELIOBUS_SNS_IN_MISSION" => Some(Self::RetHeliobusSnsInMission),
            "RET_HELIOBUS_SNS_ALREADY_POSTED" => Some(Self::RetHeliobusSnsAlreadyPosted),
            "RET_HELIOBUS_SNS_NOT_DOING_MISSION" => {
                Some(Self::RetHeliobusSnsNotDoingMission)
            }
            "RET_HELIOBUS_REWARD_LEVEL_MAX" => Some(Self::RetHeliobusRewardLevelMax),
            "RET_HELIOBUS_INCOME_NOT_ENOUGH" => Some(Self::RetHeliobusIncomeNotEnough),
            "RET_HELIOBUS_SNS_COMMENT_NOT_UNLOCK" => {
                Some(Self::RetHeliobusSnsCommentNotUnlock)
            }
            "RET_HELIOBUS_CHALLENGE_NOT_UNLOCK" => {
                Some(Self::RetHeliobusChallengeNotUnlock)
            }
            "RET_HELIOBUS_CHALLENGE_ID_ERROR" => Some(Self::RetHeliobusChallengeIdError),
            "RET_HELIOBUS_SKILL_NOT_UNLOCK" => Some(Self::RetHeliobusSkillNotUnlock),
            "RET_HELIOBUS_ACCEPT_POST_MISSION_FAIL" => {
                Some(Self::RetHeliobusAcceptPostMissionFail)
            }
            "RET_HELIOBUS_SKILL_NOT_SELECTED" => Some(Self::RetHeliobusSkillNotSelected),
            "RET_HELIOBUS_PLANE_TYPE_INVALID" => Some(Self::RetHeliobusPlaneTypeInvalid),
            "RET_REDDOT_PARAM_INVALID" => Some(Self::RetReddotParamInvalid),
            "RET_REDDOT_ACTIVITY_NOT_OPEN" => Some(Self::RetReddotActivityNotOpen),
            "RET_ROGUE_ENDLESS_ACTIVITY_CONFIG_ERROR" => {
                Some(Self::RetRogueEndlessActivityConfigError)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_NOT_OPEN" => {
                Some(Self::RetRogueEndlessActivityNotOpen)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_OVER_BONUS_REWARD_LIMIT" => {
                Some(Self::RetRogueEndlessActivityOverBonusRewardLimit)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_SCORE_NOT_MEET" => {
                Some(Self::RetRogueEndlessActivityScoreNotMeet)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_REWARD_LEVLE_ALREADY_TAKE" => {
                Some(Self::RetRogueEndlessActivityRewardLevleAlreadyTake)
            }
            "RET_HEART_DIAL_SCRIPT_NOT_FOUND" => Some(Self::RetHeartDialScriptNotFound),
            "RET_HEART_DIAL_SCRIPT_EMOTION_THE_SAME" => {
                Some(Self::RetHeartDialScriptEmotionTheSame)
            }
            "RET_HEART_DIAL_SCRIPT_STEP_NOT_NORMAL" => {
                Some(Self::RetHeartDialScriptStepNotNormal)
            }
            "RET_HEART_DIAL_SCRIPT_CONDITION_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptConditionNotMatch)
            }
            "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_NUM_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptSubmitItemNumNotMatch)
            }
            "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_ID_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptSubmitItemIdNotMatch)
            }
            "RET_HEART_DIAL_DIALOGUE_NOT_FOUND" => {
                Some(Self::RetHeartDialDialogueNotFound)
            }
            "RET_HEART_DIAL_DIALOGUE_ALREADY_PERFORMED" => {
                Some(Self::RetHeartDialDialogueAlreadyPerformed)
            }
            "RET_HEART_DIAL_NPC_NOT_FOUND" => Some(Self::RetHeartDialNpcNotFound),
            "RET_HEART_DIAL_TRACE_CONFIG_NOT_FOUND" => {
                Some(Self::RetHeartDialTraceConfigNotFound)
            }
            "RET_HEART_DIAL_FLOOR_TRACE_EXIST" => Some(Self::RetHeartDialFloorTraceExist),
            "RET_HEART_DIAL_TRACE_FLOOR_NOT_MATCH" => {
                Some(Self::RetHeartDialTraceFloorNotMatch)
            }
            "RET_TRAVEL_BROCHURE_CONFIG_ERROR" => {
                Some(Self::RetTravelBrochureConfigError)
            }
            "RET_TRAVEL_BROCHURE_PARAM_INVALID" => {
                Some(Self::RetTravelBrochureParamInvalid)
            }
            "RET_TRAVEL_BROCHURE_LOCKED" => Some(Self::RetTravelBrochureLocked),
            "RET_TRAVEL_BROCHURE_CANNOT_OPERATE" => {
                Some(Self::RetTravelBrochureCannotOperate)
            }
            "RET_TRAVEL_BROCHURE_WORLD_ID_NOT_MATCH" => {
                Some(Self::RetTravelBrochureWorldIdNotMatch)
            }
            "RET_TRAVEL_BROCHURE_HAS_NO_WORLD_BOOK" => {
                Some(Self::RetTravelBrochureHasNoWorldBook)
            }
            "RET_TRAVEL_BROCHURE_PAGE_FULL" => Some(Self::RetTravelBrochurePageFull),
            "RET_MAP_ROTATION_NOT_IN_REGION" => Some(Self::RetMapRotationNotInRegion),
            "RET_MAP_ROTATION_ROTATER_ALREADY_DEPLOYED" => {
                Some(Self::RetMapRotationRotaterAlreadyDeployed)
            }
            "RET_MAP_ROTATION_ENERGY_NOT_ENOUGH" => {
                Some(Self::RetMapRotationEnergyNotEnough)
            }
            "RET_MAP_ROTATION_ENTITY_NOT_ON_CUR_POSE" => {
                Some(Self::RetMapRotationEntityNotOnCurPose)
            }
            "RET_MAP_ROTATION_ROTATER_NOT_DEPLOYED" => {
                Some(Self::RetMapRotationRotaterNotDeployed)
            }
            "RET_MAP_ROTATION_POSE_ROTATER_MISMATCH" => {
                Some(Self::RetMapRotationPoseRotaterMismatch)
            }
            "RET_MAP_ROTATION_ROTATER_NOT_REMOVABLE" => {
                Some(Self::RetMapRotationRotaterNotRemovable)
            }
            "RET_MAP_ROTATION_ROTATER_DISPOSABLE" => {
                Some(Self::RetMapRotationRotaterDisposable)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_PARAM_INVALID" => {
                Some(Self::RetSpaceZooActivityCatParamInvalid)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_ITEM_NOT_ENOUGH" => {
                Some(Self::RetSpaceZooActivityCatItemNotEnough)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_BAG_FULL" => {
                Some(Self::RetSpaceZooActivityCatBagFull)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_TO_MUTATE" => {
                Some(Self::RetSpaceZooActivityCatNotToMutate)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_STATE_ERROR" => {
                Some(Self::RetSpaceZooActivityCatStateError)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_CATTERY_LOCKED" => {
                Some(Self::RetSpaceZooActivityCatCatteryLocked)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_OUT_NOW" => {
                Some(Self::RetSpaceZooActivityCatOutNow)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_CONFIG_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatConfigNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_FEATURE_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatFeatureNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_ADD_CAT_ERROR" => {
                Some(Self::RetSpaceZooActivityCatAddCatError)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_MONEY_NOT_ENOUGH" => {
                Some(Self::RetSpaceZooActivityCatMoneyNotEnough)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_COND_NOT_MATCH" => {
                Some(Self::RetSpaceZooActivityCatCondNotMatch)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_CFG_MISS" => {
                Some(Self::RetStrongChallengeActivityStageCfgMiss)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_NOT_OPEN" => {
                Some(Self::RetStrongChallengeActivityStageNotOpen)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_BUFF_ERROR" => {
                Some(Self::RetStrongChallengeActivityBuffError)
            }
            "RET_ROLL_SHOP_NOT_FOUND" => Some(Self::RetRollShopNotFound),
            "RET_ROLL_SHOP_GROUP_EMPTY" => Some(Self::RetRollShopGroupEmpty),
            "RET_ROLL_SHOP_EMPTY" => Some(Self::RetRollShopEmpty),
            "RET_ROLL_SHOP_GACHA_REQ_DUPLICATED" => {
                Some(Self::RetRollShopGachaReqDuplicated)
            }
            "RET_ROLL_SHOP_RANDOM_ERROR" => Some(Self::RetRollShopRandomError),
            "RET_ROLL_SHOP_GROUP_TYPE_NOT_FOUND" => {
                Some(Self::RetRollShopGroupTypeNotFound)
            }
            "RET_ROLL_SHOP_HAS_STORED_REWARD_ALREADY" => {
                Some(Self::RetRollShopHasStoredRewardAlready)
            }
            "RET_ROLL_SHOP_NO_STORED_REWARD" => Some(Self::RetRollShopNoStoredReward),
            "RET_ROLL_SHOP_NOT_IN_VALID_SCENE" => Some(Self::RetRollShopNotInValidScene),
            "RET_ROLL_SHOP_INVALID_ROLL_SHOP_TYPE" => {
                Some(Self::RetRollShopInvalidRollShopType)
            }
            "RET_ACTIVITY_RAID_COLLECTION_PREV_NOT_FINISH" => {
                Some(Self::RetActivityRaidCollectionPrevNotFinish)
            }
            "RET_OFFERING_NOT_UNLOCK" => Some(Self::RetOfferingNotUnlock),
            "RET_OFFERING_LEVEL_NOT_UNLOCK" => Some(Self::RetOfferingLevelNotUnlock),
            "RET_OFFERING_REACH_MAX_LEVEL" => Some(Self::RetOfferingReachMaxLevel),
            "RET_OFFERING_ITEM_NOT_ENOUGH" => Some(Self::RetOfferingItemNotEnough),
            "RET_OFFERING_LONGTAIL_NOT_OPEN" => Some(Self::RetOfferingLongtailNotOpen),
            "RET_OFFERING_REWARD_CONDITION" => Some(Self::RetOfferingRewardCondition),
            "RET_DRINK_MAKER_CHAT_INVALID" => Some(Self::RetDrinkMakerChatInvalid),
            "RET_DRINK_MAKER_PARAM_INVALID" => Some(Self::RetDrinkMakerParamInvalid),
            "RET_DRINK_MAKER_PARAM_NOT_UNLOCK" => Some(Self::RetDrinkMakerParamNotUnlock),
            "RET_DRINK_MAKER_CONFIG_NOT_FOUND" => Some(Self::RetDrinkMakerConfigNotFound),
            "RET_DRINK_MAKER_NOT_LAST_CHAT" => Some(Self::RetDrinkMakerNotLastChat),
            "RET_DRINK_MAKER_DAY_AND_FREE_PHASE_NOT_OPEN" => {
                Some(Self::RetDrinkMakerDayAndFreePhaseNotOpen)
            }
            "RET_MONOPOLY_NOT_OPEN" => Some(Self::RetMonopolyNotOpen),
            "RET_MONOPOLY_CONFIG_ERROR" => Some(Self::RetMonopolyConfigError),
            "RET_MONOPOLY_DICE_NOT_ENOUGH" => Some(Self::RetMonopolyDiceNotEnough),
            "RET_MONOPOLY_CUR_CELL_NOT_FINISH" => Some(Self::RetMonopolyCurCellNotFinish),
            "RET_MONOPOLY_COIN_NOT_ENOUGH" => Some(Self::RetMonopolyCoinNotEnough),
            "RET_MONOPOLY_CELL_WAIT_PENDING" => Some(Self::RetMonopolyCellWaitPending),
            "RET_MONOPOLY_CELL_STATE_ERROR" => Some(Self::RetMonopolyCellStateError),
            "RET_MONOPOLY_CELL_CONTENT_ERROR" => Some(Self::RetMonopolyCellContentError),
            "RET_MONOPOLY_ITEM_NOT_ENOUGH" => Some(Self::RetMonopolyItemNotEnough),
            "RET_MONOPOLY_CELL_CONTENT_CANNOT_GIVEUP" => {
                Some(Self::RetMonopolyCellContentCannotGiveup)
            }
            "RET_MONOPOLY_ASSET_LEVEL_INVALID" => {
                Some(Self::RetMonopolyAssetLevelInvalid)
            }
            "RET_MONOPOLY_TURN_NOT_FINISH" => Some(Self::RetMonopolyTurnNotFinish),
            "RET_MONOPOLY_GUIDE_NOT_FINISH" => Some(Self::RetMonopolyGuideNotFinish),
            "RET_MONOPOLY_RAFFLE_REWARD_REISSUED" => {
                Some(Self::RetMonopolyRaffleRewardReissued)
            }
            "RET_MONOPOLY_NO_GAME_ACTIVE" => Some(Self::RetMonopolyNoGameActive),
            "RET_MONOPOLY_GAME_RATIO_NOT_INCREASABLE" => {
                Some(Self::RetMonopolyGameRatioNotIncreasable)
            }
            "RET_MONOPOLY_GAME_RATIO_MAX" => Some(Self::RetMonopolyGameRatioMax),
            "RET_MONOPOLY_GAME_TARGET_RATIO_INVALID" => {
                Some(Self::RetMonopolyGameTargetRatioInvalid)
            }
            "RET_MONOPOLY_GAME_BINGO_FLIP_POS_INVALID" => {
                Some(Self::RetMonopolyGameBingoFlipPosInvalid)
            }
            "RET_MONOPOLY_GAME_GUESS_ALREADY_CHOOSE" => {
                Some(Self::RetMonopolyGameGuessAlreadyChoose)
            }
            "RET_MONOPOLY_GAME_GUESS_CHOOSE_INVALID" => {
                Some(Self::RetMonopolyGameGuessChooseInvalid)
            }
            "RET_MONOPOLY_GAME_GUESS_INFORMATION_ALREADY_BOUGHT" => {
                Some(Self::RetMonopolyGameGuessInformationAlreadyBought)
            }
            "RET_MONOPOLY_GAME_RAISE_RATIO_NOT_UNLOCK" => {
                Some(Self::RetMonopolyGameRaiseRatioNotUnlock)
            }
            "RET_MONOPOLY_FRIEND_NOT_SYNCED" => Some(Self::RetMonopolyFriendNotSynced),
            "RET_MONOPOLY_GET_FRIEND_RANKING_LIST_IN_CD" => {
                Some(Self::RetMonopolyGetFriendRankingListInCd)
            }
            "RET_MONOPOLY_LIKE_TARGET_NOT_FRIEND" => {
                Some(Self::RetMonopolyLikeTargetNotFriend)
            }
            "RET_MONOPOLY_DAILY_ALREADY_LIKED" => {
                Some(Self::RetMonopolyDailyAlreadyLiked)
            }
            "RET_MONOPOLY_SOCIAL_EVENT_STATUS_NOT_MATCH" => {
                Some(Self::RetMonopolySocialEventStatusNotMatch)
            }
            "RET_MONOPOLY_SOCIAL_EVENT_SERVER_CACHE_NOT_EXIST" => {
                Some(Self::RetMonopolySocialEventServerCacheNotExist)
            }
            "RET_MONOPOLY_ACTIVITY_ID_NOT_MATCH" => {
                Some(Self::RetMonopolyActivityIdNotMatch)
            }
            "RET_MONOPOLY_RAFFLE_POOL_NOT_EXIST" => {
                Some(Self::RetMonopolyRafflePoolNotExist)
            }
            "RET_MONOPOLY_RAFFLE_POOL_TIME_NOT_MATCH" => {
                Some(Self::RetMonopolyRafflePoolTimeNotMatch)
            }
            "RET_MONOPOLY_RAFFLE_POOL_PHASE_NOT_MEET" => {
                Some(Self::RetMonopolyRafflePoolPhaseNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_POOL_SHOW_TIME_NOT_MEET" => {
                Some(Self::RetMonopolyRafflePoolShowTimeNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_NOT_FOUND" => {
                Some(Self::RetMonopolyRaffleTicketNotFound)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_TIME_NOT_MEET" => {
                Some(Self::RetMonopolyRaffleTicketTimeNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMonopolyRaffleTicketRewardAlreadyTaken)
            }
            "RET_MONOPOLY_RAFFLE_POOL_NOT_IN_RAFFLE_TIME" => {
                Some(Self::RetMonopolyRafflePoolNotInRaffleTime)
            }
            "RET_MONOPOLY_MBTI_REPORT_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMonopolyMbtiReportRewardAlreadyTaken)
            }
            "RET_EVOLVE_BUILD_LEVEL_GAMING" => Some(Self::RetEvolveBuildLevelGaming),
            "RET_EVEOLVE_BUILD_LEVEL_BAN_RANDOM" => {
                Some(Self::RetEveolveBuildLevelBanRandom)
            }
            "RET_EVOLVE_BUILD_FIRST_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetEvolveBuildFirstRewardAlreadyTaken)
            }
            "RET_EVOLVE_BUILD_LEVEL_UNFINISH" => Some(Self::RetEvolveBuildLevelUnfinish),
            "RET_EVOLVE_BUILD_SHOP_ABILITY_MAX_LEVEL" => {
                Some(Self::RetEvolveBuildShopAbilityMaxLevel)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_MIN_LEVEL" => {
                Some(Self::RetEvolveBuildShopAbilityMinLevel)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_NOT_GET" => {
                Some(Self::RetEvolveBuildShopAbilityNotGet)
            }
            "RET_EVOLVE_BUILD_LEVEL_LOCK" => Some(Self::RetEvolveBuildLevelLock),
            "RET_EVOLVE_BUILD_EXP_NOT_ENOUGH" => Some(Self::RetEvolveBuildExpNotEnough),
            "RET_EVOLVE_BUILD_SHOP_ABILITY_LEVEL_ERROR" => {
                Some(Self::RetEvolveBuildShopAbilityLevelError)
            }
            "RET_EVOLVE_BUILD_ACTIVITY_NOT_OPEN" => {
                Some(Self::RetEvolveBuildActivityNotOpen)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_EMPTY" => {
                Some(Self::RetEvolveBuildShopAbilityEmpty)
            }
            "RET_EVOLVE_BUILD_LEVEL_NOT_START" => Some(Self::RetEvolveBuildLevelNotStart),
            "RET_EVOLVE_BUILD_SHOP_LOCK" => Some(Self::RetEvolveBuildShopLock),
            "RET_EVOLVE_BUILD_REWARD_LOCK" => Some(Self::RetEvolveBuildRewardLock),
            "RET_EVOLVE_BUILD_REWARD_LEVEL_MAX" => {
                Some(Self::RetEvolveBuildRewardLevelMax)
            }
            "RET_EVOLVE_BUILD_REWARD_ALREADY_ALL_TAKEN" => {
                Some(Self::RetEvolveBuildRewardAlreadyAllTaken)
            }
            "RET_CLOCK_PARK_CONFIG_ERROR" => Some(Self::RetClockParkConfigError),
            "RET_CLOCK_PARK_EFFECT_ERROR" => Some(Self::RetClockParkEffectError),
            "RET_CLOCK_PARK_SCRIPT_ALREADY_UNLOCK" => {
                Some(Self::RetClockParkScriptAlreadyUnlock)
            }
            "RET_CLOCK_PARK_SCRIPT_UNLOCK_CONDITION_NOT_MEET" => {
                Some(Self::RetClockParkScriptUnlockConditionNotMeet)
            }
            "RET_CLOCK_PARK_TALENT_ALREADY_UNLOCK" => {
                Some(Self::RetClockParkTalentAlreadyUnlock)
            }
            "RET_CLOCK_PARK_SCRIPT_LOCKED" => Some(Self::RetClockParkScriptLocked),
            "RET_CLOCK_PARK_HAS_ONGOING_SCRIPT" => {
                Some(Self::RetClockParkHasOngoingScript)
            }
            "RET_CLOCK_PARK_NO_ONGOING_SCRIPT" => Some(Self::RetClockParkNoOngoingScript),
            "RET_CLOCK_PARK_DICE_PLACEMENT_ERROR" => {
                Some(Self::RetClockParkDicePlacementError)
            }
            "RET_CLOCK_PARK_MISMATCH_STATUS" => Some(Self::RetClockParkMismatchStatus),
            "RET_CLOCK_PARK_NO_BUFF" => Some(Self::RetClockParkNoBuff),
            "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_REQ_DUPLICATED" => {
                Some(Self::RetClockParkSlotMachineGachaReqDuplicated)
            }
            "RET_CLOCK_PARK_SLOT_MACHINE_COST_NOT_ENOUGH" => {
                Some(Self::RetClockParkSlotMachineCostNotEnough)
            }
            "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_CNT_EXCEED_LIMIT" => {
                Some(Self::RetClockParkSlotMachineGachaCntExceedLimit)
            }
            "RET_CLOCK_PARK_NOT_OPEN" => Some(Self::RetClockParkNotOpen),
            "RET_TOURN_ROGUE_STATUS_MISMATCH" => Some(Self::RetTournRogueStatusMismatch),
            "RET_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)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActivityType {
    None = 0,
    CmdGetLoginActivityCsReq = 2661,
    CmdSubmitMonsterResearchActivityMaterialScRsp = 2656,
    CmdTrialActivityDataChangeScNotify = 2646,
    CmdTakeMonsterResearchActivityRewardCsReq = 2649,
    CmdSubmitMonsterResearchActivityMaterialCsReq = 2670,
    CmdTakeLoginActivityRewardCsReq = 2691,
    CmdCurTrialActivityScNotify = 2689,
    CmdTakeLoginActivityRewardScRsp = 2620,
    CmdTakeTrialActivityRewardCsReq = 2624,
    CmdGetActivityScheduleConfigCsReq = 2639,
    CmdTakeMonsterResearchActivityRewardScRsp = 2651,
    CmdGetTrialActivityDataScRsp = 2608,
    CmdGetActivityScheduleConfigScRsp = 2673,
    CmdStartTrialActivityCsReq = 2616,
    CmdGetTrialActivityDataCsReq = 2664,
    CmdGetMonsterResearchActivityDataCsReq = 2682,
    CmdLeaveTrialActivityCsReq = 2657,
    CmdEnterTrialActivityStageCsReq = 2611,
    CmdTakeTrialActivityRewardScRsp = 2642,
    CmdStartTrialActivityScRsp = 2665,
    CmdEnterTrialActivityStageScRsp = 2644,
    CmdGetMonsterResearchActivityDataScRsp = 2603,
    CmdGetLoginActivityScRsp = 2688,
    CmdLeaveTrialActivityScRsp = 2634,
}
impl CmdActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdActivityType::None => "CmdActivityTypeNone",
            CmdActivityType::CmdGetLoginActivityCsReq => "CmdGetLoginActivityCsReq",
            CmdActivityType::CmdSubmitMonsterResearchActivityMaterialScRsp => {
                "CmdSubmitMonsterResearchActivityMaterialScRsp"
            }
            CmdActivityType::CmdTrialActivityDataChangeScNotify => {
                "CmdTrialActivityDataChangeScNotify"
            }
            CmdActivityType::CmdTakeMonsterResearchActivityRewardCsReq => {
                "CmdTakeMonsterResearchActivityRewardCsReq"
            }
            CmdActivityType::CmdSubmitMonsterResearchActivityMaterialCsReq => {
                "CmdSubmitMonsterResearchActivityMaterialCsReq"
            }
            CmdActivityType::CmdTakeLoginActivityRewardCsReq => {
                "CmdTakeLoginActivityRewardCsReq"
            }
            CmdActivityType::CmdCurTrialActivityScNotify => "CmdCurTrialActivityScNotify",
            CmdActivityType::CmdTakeLoginActivityRewardScRsp => {
                "CmdTakeLoginActivityRewardScRsp"
            }
            CmdActivityType::CmdTakeTrialActivityRewardCsReq => {
                "CmdTakeTrialActivityRewardCsReq"
            }
            CmdActivityType::CmdGetActivityScheduleConfigCsReq => {
                "CmdGetActivityScheduleConfigCsReq"
            }
            CmdActivityType::CmdTakeMonsterResearchActivityRewardScRsp => {
                "CmdTakeMonsterResearchActivityRewardScRsp"
            }
            CmdActivityType::CmdGetTrialActivityDataScRsp => {
                "CmdGetTrialActivityDataScRsp"
            }
            CmdActivityType::CmdGetActivityScheduleConfigScRsp => {
                "CmdGetActivityScheduleConfigScRsp"
            }
            CmdActivityType::CmdStartTrialActivityCsReq => "CmdStartTrialActivityCsReq",
            CmdActivityType::CmdGetTrialActivityDataCsReq => {
                "CmdGetTrialActivityDataCsReq"
            }
            CmdActivityType::CmdGetMonsterResearchActivityDataCsReq => {
                "CmdGetMonsterResearchActivityDataCsReq"
            }
            CmdActivityType::CmdLeaveTrialActivityCsReq => "CmdLeaveTrialActivityCsReq",
            CmdActivityType::CmdEnterTrialActivityStageCsReq => {
                "CmdEnterTrialActivityStageCsReq"
            }
            CmdActivityType::CmdTakeTrialActivityRewardScRsp => {
                "CmdTakeTrialActivityRewardScRsp"
            }
            CmdActivityType::CmdStartTrialActivityScRsp => "CmdStartTrialActivityScRsp",
            CmdActivityType::CmdEnterTrialActivityStageScRsp => {
                "CmdEnterTrialActivityStageScRsp"
            }
            CmdActivityType::CmdGetMonsterResearchActivityDataScRsp => {
                "CmdGetMonsterResearchActivityDataScRsp"
            }
            CmdActivityType::CmdGetLoginActivityScRsp => "CmdGetLoginActivityScRsp",
            CmdActivityType::CmdLeaveTrialActivityScRsp => "CmdLeaveTrialActivityScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdActivityTypeNone" => Some(Self::None),
            "CmdGetLoginActivityCsReq" => Some(Self::CmdGetLoginActivityCsReq),
            "CmdSubmitMonsterResearchActivityMaterialScRsp" => {
                Some(Self::CmdSubmitMonsterResearchActivityMaterialScRsp)
            }
            "CmdTrialActivityDataChangeScNotify" => {
                Some(Self::CmdTrialActivityDataChangeScNotify)
            }
            "CmdTakeMonsterResearchActivityRewardCsReq" => {
                Some(Self::CmdTakeMonsterResearchActivityRewardCsReq)
            }
            "CmdSubmitMonsterResearchActivityMaterialCsReq" => {
                Some(Self::CmdSubmitMonsterResearchActivityMaterialCsReq)
            }
            "CmdTakeLoginActivityRewardCsReq" => {
                Some(Self::CmdTakeLoginActivityRewardCsReq)
            }
            "CmdCurTrialActivityScNotify" => Some(Self::CmdCurTrialActivityScNotify),
            "CmdTakeLoginActivityRewardScRsp" => {
                Some(Self::CmdTakeLoginActivityRewardScRsp)
            }
            "CmdTakeTrialActivityRewardCsReq" => {
                Some(Self::CmdTakeTrialActivityRewardCsReq)
            }
            "CmdGetActivityScheduleConfigCsReq" => {
                Some(Self::CmdGetActivityScheduleConfigCsReq)
            }
            "CmdTakeMonsterResearchActivityRewardScRsp" => {
                Some(Self::CmdTakeMonsterResearchActivityRewardScRsp)
            }
            "CmdGetTrialActivityDataScRsp" => Some(Self::CmdGetTrialActivityDataScRsp),
            "CmdGetActivityScheduleConfigScRsp" => {
                Some(Self::CmdGetActivityScheduleConfigScRsp)
            }
            "CmdStartTrialActivityCsReq" => Some(Self::CmdStartTrialActivityCsReq),
            "CmdGetTrialActivityDataCsReq" => Some(Self::CmdGetTrialActivityDataCsReq),
            "CmdGetMonsterResearchActivityDataCsReq" => {
                Some(Self::CmdGetMonsterResearchActivityDataCsReq)
            }
            "CmdLeaveTrialActivityCsReq" => Some(Self::CmdLeaveTrialActivityCsReq),
            "CmdEnterTrialActivityStageCsReq" => {
                Some(Self::CmdEnterTrialActivityStageCsReq)
            }
            "CmdTakeTrialActivityRewardScRsp" => {
                Some(Self::CmdTakeTrialActivityRewardScRsp)
            }
            "CmdStartTrialActivityScRsp" => Some(Self::CmdStartTrialActivityScRsp),
            "CmdEnterTrialActivityStageScRsp" => {
                Some(Self::CmdEnterTrialActivityStageScRsp)
            }
            "CmdGetMonsterResearchActivityDataScRsp" => {
                Some(Self::CmdGetMonsterResearchActivityDataScRsp)
            }
            "CmdGetLoginActivityScRsp" => Some(Self::CmdGetLoginActivityScRsp),
            "CmdLeaveTrialActivityScRsp" => Some(Self::CmdLeaveTrialActivityScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bicjcmpmdll {
    TrialActivityStatusNone = 0,
    TrialActivityStatusFinish = 1,
}
impl Bicjcmpmdll {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bicjcmpmdll::TrialActivityStatusNone => "TRIAL_ACTIVITY_STATUS_NONE",
            Bicjcmpmdll::TrialActivityStatusFinish => "TRIAL_ACTIVITY_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRIAL_ACTIVITY_STATUS_NONE" => Some(Self::TrialActivityStatusNone),
            "TRIAL_ACTIVITY_STATUS_FINISH" => Some(Self::TrialActivityStatusFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAdventureType {
    None = 0,
    CmdGetFarmStageGachaInfoScRsp = 1320,
    CmdEnterAdventureCsReq = 1361,
    CmdGetFarmStageGachaInfoCsReq = 1391,
    CmdEnterAdventureScRsp = 1388,
}
impl CmdAdventureType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdAdventureType::None => "CmdAdventureTypeNone",
            CmdAdventureType::CmdGetFarmStageGachaInfoScRsp => {
                "CmdGetFarmStageGachaInfoScRsp"
            }
            CmdAdventureType::CmdEnterAdventureCsReq => "CmdEnterAdventureCsReq",
            CmdAdventureType::CmdGetFarmStageGachaInfoCsReq => {
                "CmdGetFarmStageGachaInfoCsReq"
            }
            CmdAdventureType::CmdEnterAdventureScRsp => "CmdEnterAdventureScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAdventureTypeNone" => Some(Self::None),
            "CmdGetFarmStageGachaInfoScRsp" => Some(Self::CmdGetFarmStageGachaInfoScRsp),
            "CmdEnterAdventureCsReq" => Some(Self::CmdEnterAdventureCsReq),
            "CmdGetFarmStageGachaInfoCsReq" => Some(Self::CmdGetFarmStageGachaInfoCsReq),
            "CmdEnterAdventureScRsp" => Some(Self::CmdEnterAdventureScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAetherDivideType {
    None = 0,
    CmdEnterAetherDivideSceneCsReq = 4861,
    CmdGetAetherDivideChallengeInfoCsReq = 4837,
    CmdSetAetherDivideLineUpCsReq = 4847,
    CmdSetAetherDivideLineUpScRsp = 4894,
    CmdAetherDivideTakeChallengeRewardCsReq = 4813,
    CmdSwitchAetherDivideLineUpSlotCsReq = 4870,
    CmdStartAetherDivideStageBattleScRsp = 4851,
    CmdAetherDivideSpiritExpUpCsReq = 4809,
    CmdLeaveAetherDivideSceneScRsp = 4820,
    CmdAetherDivideTakeChallengeRewardScRsp = 4885,
    CmdStartAetherDivideChallengeBattleScRsp = 4871,
    CmdGetAetherDivideInfoCsReq = 4862,
    CmdEquipAetherDividePassiveSkillScRsp = 4821,
    CmdAetherDivideSkillItemScNotify = 4850,
    CmdEnterAetherDivideSceneScRsp = 4888,
    CmdGetAetherDivideInfoScRsp = 4874,
    CmdGetAetherDivideChallengeInfoScRsp = 4828,
    CmdStartAetherDivideSceneBattleCsReq = 4839,
    CmdAetherDivideLineupScNotify = 4855,
    CmdStartAetherDivideSceneBattleScRsp = 4873,
    CmdAetherDivideRefreshEndlessScNotify = 4858,
    CmdLeaveAetherDivideSceneCsReq = 4891,
    CmdSwitchAetherDivideLineUpSlotScRsp = 4856,
    CmdAetherDivideRefreshEndlessCsReq = 4868,
    CmdAetherDivideRefreshEndlessScRsp = 4895,
    CmdClearAetherDividePassiveSkillCsReq = 4882,
    CmdStartAetherDivideStageBattleCsReq = 4849,
    CmdEquipAetherDividePassiveSkillCsReq = 4896,
    CmdAetherDivideTainerInfoScNotify = 4833,
    CmdAetherDivideFinishChallengeScNotify = 4801,
    CmdStartAetherDivideChallengeBattleCsReq = 4830,
    CmdClearAetherDividePassiveSkillScRsp = 4803,
    CmdAetherDivideSpiritExpUpScRsp = 4881,
    CmdAetherDivideSpiritInfoScNotify = 4812,
}
impl CmdAetherDivideType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdAetherDivideType::None => "CmdAetherDivideTypeNone",
            CmdAetherDivideType::CmdEnterAetherDivideSceneCsReq => {
                "CmdEnterAetherDivideSceneCsReq"
            }
            CmdAetherDivideType::CmdGetAetherDivideChallengeInfoCsReq => {
                "CmdGetAetherDivideChallengeInfoCsReq"
            }
            CmdAetherDivideType::CmdSetAetherDivideLineUpCsReq => {
                "CmdSetAetherDivideLineUpCsReq"
            }
            CmdAetherDivideType::CmdSetAetherDivideLineUpScRsp => {
                "CmdSetAetherDivideLineUpScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideTakeChallengeRewardCsReq => {
                "CmdAetherDivideTakeChallengeRewardCsReq"
            }
            CmdAetherDivideType::CmdSwitchAetherDivideLineUpSlotCsReq => {
                "CmdSwitchAetherDivideLineUpSlotCsReq"
            }
            CmdAetherDivideType::CmdStartAetherDivideStageBattleScRsp => {
                "CmdStartAetherDivideStageBattleScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideSpiritExpUpCsReq => {
                "CmdAetherDivideSpiritExpUpCsReq"
            }
            CmdAetherDivideType::CmdLeaveAetherDivideSceneScRsp => {
                "CmdLeaveAetherDivideSceneScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideTakeChallengeRewardScRsp => {
                "CmdAetherDivideTakeChallengeRewardScRsp"
            }
            CmdAetherDivideType::CmdStartAetherDivideChallengeBattleScRsp => {
                "CmdStartAetherDivideChallengeBattleScRsp"
            }
            CmdAetherDivideType::CmdGetAetherDivideInfoCsReq => {
                "CmdGetAetherDivideInfoCsReq"
            }
            CmdAetherDivideType::CmdEquipAetherDividePassiveSkillScRsp => {
                "CmdEquipAetherDividePassiveSkillScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideSkillItemScNotify => {
                "CmdAetherDivideSkillItemScNotify"
            }
            CmdAetherDivideType::CmdEnterAetherDivideSceneScRsp => {
                "CmdEnterAetherDivideSceneScRsp"
            }
            CmdAetherDivideType::CmdGetAetherDivideInfoScRsp => {
                "CmdGetAetherDivideInfoScRsp"
            }
            CmdAetherDivideType::CmdGetAetherDivideChallengeInfoScRsp => {
                "CmdGetAetherDivideChallengeInfoScRsp"
            }
            CmdAetherDivideType::CmdStartAetherDivideSceneBattleCsReq => {
                "CmdStartAetherDivideSceneBattleCsReq"
            }
            CmdAetherDivideType::CmdAetherDivideLineupScNotify => {
                "CmdAetherDivideLineupScNotify"
            }
            CmdAetherDivideType::CmdStartAetherDivideSceneBattleScRsp => {
                "CmdStartAetherDivideSceneBattleScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideRefreshEndlessScNotify => {
                "CmdAetherDivideRefreshEndlessScNotify"
            }
            CmdAetherDivideType::CmdLeaveAetherDivideSceneCsReq => {
                "CmdLeaveAetherDivideSceneCsReq"
            }
            CmdAetherDivideType::CmdSwitchAetherDivideLineUpSlotScRsp => {
                "CmdSwitchAetherDivideLineUpSlotScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideRefreshEndlessCsReq => {
                "CmdAetherDivideRefreshEndlessCsReq"
            }
            CmdAetherDivideType::CmdAetherDivideRefreshEndlessScRsp => {
                "CmdAetherDivideRefreshEndlessScRsp"
            }
            CmdAetherDivideType::CmdClearAetherDividePassiveSkillCsReq => {
                "CmdClearAetherDividePassiveSkillCsReq"
            }
            CmdAetherDivideType::CmdStartAetherDivideStageBattleCsReq => {
                "CmdStartAetherDivideStageBattleCsReq"
            }
            CmdAetherDivideType::CmdEquipAetherDividePassiveSkillCsReq => {
                "CmdEquipAetherDividePassiveSkillCsReq"
            }
            CmdAetherDivideType::CmdAetherDivideTainerInfoScNotify => {
                "CmdAetherDivideTainerInfoScNotify"
            }
            CmdAetherDivideType::CmdAetherDivideFinishChallengeScNotify => {
                "CmdAetherDivideFinishChallengeScNotify"
            }
            CmdAetherDivideType::CmdStartAetherDivideChallengeBattleCsReq => {
                "CmdStartAetherDivideChallengeBattleCsReq"
            }
            CmdAetherDivideType::CmdClearAetherDividePassiveSkillScRsp => {
                "CmdClearAetherDividePassiveSkillScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideSpiritExpUpScRsp => {
                "CmdAetherDivideSpiritExpUpScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideSpiritInfoScNotify => {
                "CmdAetherDivideSpiritInfoScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAetherDivideTypeNone" => Some(Self::None),
            "CmdEnterAetherDivideSceneCsReq" => {
                Some(Self::CmdEnterAetherDivideSceneCsReq)
            }
            "CmdGetAetherDivideChallengeInfoCsReq" => {
                Some(Self::CmdGetAetherDivideChallengeInfoCsReq)
            }
            "CmdSetAetherDivideLineUpCsReq" => Some(Self::CmdSetAetherDivideLineUpCsReq),
            "CmdSetAetherDivideLineUpScRsp" => Some(Self::CmdSetAetherDivideLineUpScRsp),
            "CmdAetherDivideTakeChallengeRewardCsReq" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardCsReq)
            }
            "CmdSwitchAetherDivideLineUpSlotCsReq" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotCsReq)
            }
            "CmdStartAetherDivideStageBattleScRsp" => {
                Some(Self::CmdStartAetherDivideStageBattleScRsp)
            }
            "CmdAetherDivideSpiritExpUpCsReq" => {
                Some(Self::CmdAetherDivideSpiritExpUpCsReq)
            }
            "CmdLeaveAetherDivideSceneScRsp" => {
                Some(Self::CmdLeaveAetherDivideSceneScRsp)
            }
            "CmdAetherDivideTakeChallengeRewardScRsp" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardScRsp)
            }
            "CmdStartAetherDivideChallengeBattleScRsp" => {
                Some(Self::CmdStartAetherDivideChallengeBattleScRsp)
            }
            "CmdGetAetherDivideInfoCsReq" => Some(Self::CmdGetAetherDivideInfoCsReq),
            "CmdEquipAetherDividePassiveSkillScRsp" => {
                Some(Self::CmdEquipAetherDividePassiveSkillScRsp)
            }
            "CmdAetherDivideSkillItemScNotify" => {
                Some(Self::CmdAetherDivideSkillItemScNotify)
            }
            "CmdEnterAetherDivideSceneScRsp" => {
                Some(Self::CmdEnterAetherDivideSceneScRsp)
            }
            "CmdGetAetherDivideInfoScRsp" => Some(Self::CmdGetAetherDivideInfoScRsp),
            "CmdGetAetherDivideChallengeInfoScRsp" => {
                Some(Self::CmdGetAetherDivideChallengeInfoScRsp)
            }
            "CmdStartAetherDivideSceneBattleCsReq" => {
                Some(Self::CmdStartAetherDivideSceneBattleCsReq)
            }
            "CmdAetherDivideLineupScNotify" => Some(Self::CmdAetherDivideLineupScNotify),
            "CmdStartAetherDivideSceneBattleScRsp" => {
                Some(Self::CmdStartAetherDivideSceneBattleScRsp)
            }
            "CmdAetherDivideRefreshEndlessScNotify" => {
                Some(Self::CmdAetherDivideRefreshEndlessScNotify)
            }
            "CmdLeaveAetherDivideSceneCsReq" => {
                Some(Self::CmdLeaveAetherDivideSceneCsReq)
            }
            "CmdSwitchAetherDivideLineUpSlotScRsp" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotScRsp)
            }
            "CmdAetherDivideRefreshEndlessCsReq" => {
                Some(Self::CmdAetherDivideRefreshEndlessCsReq)
            }
            "CmdAetherDivideRefreshEndlessScRsp" => {
                Some(Self::CmdAetherDivideRefreshEndlessScRsp)
            }
            "CmdClearAetherDividePassiveSkillCsReq" => {
                Some(Self::CmdClearAetherDividePassiveSkillCsReq)
            }
            "CmdStartAetherDivideStageBattleCsReq" => {
                Some(Self::CmdStartAetherDivideStageBattleCsReq)
            }
            "CmdEquipAetherDividePassiveSkillCsReq" => {
                Some(Self::CmdEquipAetherDividePassiveSkillCsReq)
            }
            "CmdAetherDivideTainerInfoScNotify" => {
                Some(Self::CmdAetherDivideTainerInfoScNotify)
            }
            "CmdAetherDivideFinishChallengeScNotify" => {
                Some(Self::CmdAetherDivideFinishChallengeScNotify)
            }
            "CmdStartAetherDivideChallengeBattleCsReq" => {
                Some(Self::CmdStartAetherDivideChallengeBattleCsReq)
            }
            "CmdClearAetherDividePassiveSkillScRsp" => {
                Some(Self::CmdClearAetherDividePassiveSkillScRsp)
            }
            "CmdAetherDivideSpiritExpUpScRsp" => {
                Some(Self::CmdAetherDivideSpiritExpUpScRsp)
            }
            "CmdAetherDivideSpiritInfoScNotify" => {
                Some(Self::CmdAetherDivideSpiritInfoScNotify)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAlleyType {
    None = 0,
    CmdGetAlleyInfoScRsp = 4788,
    CmdAlleyGuaranteedFundsCsReq = 4768,
    CmdAlleyShopLevelScNotify = 4781,
    CmdAlleyPlacingGameCsReq = 4747,
    CmdAlleyEventEffectNotify = 4727,
    CmdTakePrestigeRewardCsReq = 4762,
    CmdPrestigeLevelUpScRsp = 4751,
    CmdStartAlleyEventScRsp = 4771,
    CmdAlleyShipmentEventEffectsScNotify = 4733,
    CmdLogisticsGameScRsp = 4720,
    CmdLogisticsInfoScNotify = 4701,
    CmdGetSaveLogisticsMapCsReq = 4750,
    CmdAlleyShipUnlockScNotify = 4712,
    CmdGetSaveLogisticsMapScRsp = 4732,
    CmdLogisticsScoreRewardSyncInfoScNotify = 4726,
    CmdStartAlleyEventCsReq = 4730,
    CmdLogisticsGameCsReq = 4791,
    CmdSaveLogisticsCsReq = 4737,
    CmdSaveLogisticsScRsp = 4728,
    CmdTakePrestigeRewardScRsp = 4774,
    CmdAlleyFundsScNotify = 4709,
    CmdAlleyPlacingGameScRsp = 4794,
    CmdLogisticsDetonateStarSkiffScRsp = 4754,
    CmdLogisticsDetonateStarSkiffCsReq = 4785,
    CmdAlleyGuaranteedFundsScRsp = 4795,
    CmdRefreshAlleyOrderCsReq = 4782,
    CmdRefreshAlleyOrderScRsp = 4703,
    CmdAlleyOrderChangedScNotify = 4770,
    CmdPrestigeLevelUpCsReq = 4749,
    CmdAlleyEventChangeNotify = 4787,
    CmdAlleyShipUsedCountScNotify = 4755,
    CmdAlleyTakeEventRewardScRsp = 4713,
    CmdAlleyTakeEventRewardCsReq = 4758,
    CmdGetAlleyInfoCsReq = 4761,
}
impl CmdAlleyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdAlleyType::None => "CmdAlleyTypeNone",
            CmdAlleyType::CmdGetAlleyInfoScRsp => "CmdGetAlleyInfoScRsp",
            CmdAlleyType::CmdAlleyGuaranteedFundsCsReq => "CmdAlleyGuaranteedFundsCsReq",
            CmdAlleyType::CmdAlleyShopLevelScNotify => "CmdAlleyShopLevelScNotify",
            CmdAlleyType::CmdAlleyPlacingGameCsReq => "CmdAlleyPlacingGameCsReq",
            CmdAlleyType::CmdAlleyEventEffectNotify => "CmdAlleyEventEffectNotify",
            CmdAlleyType::CmdTakePrestigeRewardCsReq => "CmdTakePrestigeRewardCsReq",
            CmdAlleyType::CmdPrestigeLevelUpScRsp => "CmdPrestigeLevelUpScRsp",
            CmdAlleyType::CmdStartAlleyEventScRsp => "CmdStartAlleyEventScRsp",
            CmdAlleyType::CmdAlleyShipmentEventEffectsScNotify => {
                "CmdAlleyShipmentEventEffectsScNotify"
            }
            CmdAlleyType::CmdLogisticsGameScRsp => "CmdLogisticsGameScRsp",
            CmdAlleyType::CmdLogisticsInfoScNotify => "CmdLogisticsInfoScNotify",
            CmdAlleyType::CmdGetSaveLogisticsMapCsReq => "CmdGetSaveLogisticsMapCsReq",
            CmdAlleyType::CmdAlleyShipUnlockScNotify => "CmdAlleyShipUnlockScNotify",
            CmdAlleyType::CmdGetSaveLogisticsMapScRsp => "CmdGetSaveLogisticsMapScRsp",
            CmdAlleyType::CmdLogisticsScoreRewardSyncInfoScNotify => {
                "CmdLogisticsScoreRewardSyncInfoScNotify"
            }
            CmdAlleyType::CmdStartAlleyEventCsReq => "CmdStartAlleyEventCsReq",
            CmdAlleyType::CmdLogisticsGameCsReq => "CmdLogisticsGameCsReq",
            CmdAlleyType::CmdSaveLogisticsCsReq => "CmdSaveLogisticsCsReq",
            CmdAlleyType::CmdSaveLogisticsScRsp => "CmdSaveLogisticsScRsp",
            CmdAlleyType::CmdTakePrestigeRewardScRsp => "CmdTakePrestigeRewardScRsp",
            CmdAlleyType::CmdAlleyFundsScNotify => "CmdAlleyFundsScNotify",
            CmdAlleyType::CmdAlleyPlacingGameScRsp => "CmdAlleyPlacingGameScRsp",
            CmdAlleyType::CmdLogisticsDetonateStarSkiffScRsp => {
                "CmdLogisticsDetonateStarSkiffScRsp"
            }
            CmdAlleyType::CmdLogisticsDetonateStarSkiffCsReq => {
                "CmdLogisticsDetonateStarSkiffCsReq"
            }
            CmdAlleyType::CmdAlleyGuaranteedFundsScRsp => "CmdAlleyGuaranteedFundsScRsp",
            CmdAlleyType::CmdRefreshAlleyOrderCsReq => "CmdRefreshAlleyOrderCsReq",
            CmdAlleyType::CmdRefreshAlleyOrderScRsp => "CmdRefreshAlleyOrderScRsp",
            CmdAlleyType::CmdAlleyOrderChangedScNotify => "CmdAlleyOrderChangedScNotify",
            CmdAlleyType::CmdPrestigeLevelUpCsReq => "CmdPrestigeLevelUpCsReq",
            CmdAlleyType::CmdAlleyEventChangeNotify => "CmdAlleyEventChangeNotify",
            CmdAlleyType::CmdAlleyShipUsedCountScNotify => {
                "CmdAlleyShipUsedCountScNotify"
            }
            CmdAlleyType::CmdAlleyTakeEventRewardScRsp => "CmdAlleyTakeEventRewardScRsp",
            CmdAlleyType::CmdAlleyTakeEventRewardCsReq => "CmdAlleyTakeEventRewardCsReq",
            CmdAlleyType::CmdGetAlleyInfoCsReq => "CmdGetAlleyInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAlleyTypeNone" => Some(Self::None),
            "CmdGetAlleyInfoScRsp" => Some(Self::CmdGetAlleyInfoScRsp),
            "CmdAlleyGuaranteedFundsCsReq" => Some(Self::CmdAlleyGuaranteedFundsCsReq),
            "CmdAlleyShopLevelScNotify" => Some(Self::CmdAlleyShopLevelScNotify),
            "CmdAlleyPlacingGameCsReq" => Some(Self::CmdAlleyPlacingGameCsReq),
            "CmdAlleyEventEffectNotify" => Some(Self::CmdAlleyEventEffectNotify),
            "CmdTakePrestigeRewardCsReq" => Some(Self::CmdTakePrestigeRewardCsReq),
            "CmdPrestigeLevelUpScRsp" => Some(Self::CmdPrestigeLevelUpScRsp),
            "CmdStartAlleyEventScRsp" => Some(Self::CmdStartAlleyEventScRsp),
            "CmdAlleyShipmentEventEffectsScNotify" => {
                Some(Self::CmdAlleyShipmentEventEffectsScNotify)
            }
            "CmdLogisticsGameScRsp" => Some(Self::CmdLogisticsGameScRsp),
            "CmdLogisticsInfoScNotify" => Some(Self::CmdLogisticsInfoScNotify),
            "CmdGetSaveLogisticsMapCsReq" => Some(Self::CmdGetSaveLogisticsMapCsReq),
            "CmdAlleyShipUnlockScNotify" => Some(Self::CmdAlleyShipUnlockScNotify),
            "CmdGetSaveLogisticsMapScRsp" => Some(Self::CmdGetSaveLogisticsMapScRsp),
            "CmdLogisticsScoreRewardSyncInfoScNotify" => {
                Some(Self::CmdLogisticsScoreRewardSyncInfoScNotify)
            }
            "CmdStartAlleyEventCsReq" => Some(Self::CmdStartAlleyEventCsReq),
            "CmdLogisticsGameCsReq" => Some(Self::CmdLogisticsGameCsReq),
            "CmdSaveLogisticsCsReq" => Some(Self::CmdSaveLogisticsCsReq),
            "CmdSaveLogisticsScRsp" => Some(Self::CmdSaveLogisticsScRsp),
            "CmdTakePrestigeRewardScRsp" => Some(Self::CmdTakePrestigeRewardScRsp),
            "CmdAlleyFundsScNotify" => Some(Self::CmdAlleyFundsScNotify),
            "CmdAlleyPlacingGameScRsp" => Some(Self::CmdAlleyPlacingGameScRsp),
            "CmdLogisticsDetonateStarSkiffScRsp" => {
                Some(Self::CmdLogisticsDetonateStarSkiffScRsp)
            }
            "CmdLogisticsDetonateStarSkiffCsReq" => {
                Some(Self::CmdLogisticsDetonateStarSkiffCsReq)
            }
            "CmdAlleyGuaranteedFundsScRsp" => Some(Self::CmdAlleyGuaranteedFundsScRsp),
            "CmdRefreshAlleyOrderCsReq" => Some(Self::CmdRefreshAlleyOrderCsReq),
            "CmdRefreshAlleyOrderScRsp" => Some(Self::CmdRefreshAlleyOrderScRsp),
            "CmdAlleyOrderChangedScNotify" => Some(Self::CmdAlleyOrderChangedScNotify),
            "CmdPrestigeLevelUpCsReq" => Some(Self::CmdPrestigeLevelUpCsReq),
            "CmdAlleyEventChangeNotify" => Some(Self::CmdAlleyEventChangeNotify),
            "CmdAlleyShipUsedCountScNotify" => Some(Self::CmdAlleyShipUsedCountScNotify),
            "CmdAlleyTakeEventRewardScRsp" => Some(Self::CmdAlleyTakeEventRewardScRsp),
            "CmdAlleyTakeEventRewardCsReq" => Some(Self::CmdAlleyTakeEventRewardCsReq),
            "CmdGetAlleyInfoCsReq" => Some(Self::CmdGetAlleyInfoCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lmjmogmefeh {
    Left = 0,
    Right = 1,
    Up = 2,
    Down = 3,
    LeftUp = 4,
    LeftDown = 5,
    RightUp = 6,
    RightDown = 7,
}
impl Lmjmogmefeh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lmjmogmefeh::Left => "LEFT",
            Lmjmogmefeh::Right => "RIGHT",
            Lmjmogmefeh::Up => "UP",
            Lmjmogmefeh::Down => "DOWN",
            Lmjmogmefeh::LeftUp => "LEFT_UP",
            Lmjmogmefeh::LeftDown => "LEFT_DOWN",
            Lmjmogmefeh::RightUp => "RIGHT_UP",
            Lmjmogmefeh::RightDown => "RIGHT_DOWN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LEFT" => Some(Self::Left),
            "RIGHT" => Some(Self::Right),
            "UP" => Some(Self::Up),
            "DOWN" => Some(Self::Down),
            "LEFT_UP" => Some(Self::LeftUp),
            "LEFT_DOWN" => Some(Self::LeftDown),
            "RIGHT_UP" => Some(Self::RightUp),
            "RIGHT_DOWN" => Some(Self::RightDown),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Imalbhicjjj {
    AlleyEventTypeNone = 0,
    AlleyMainEvent = 1,
    AlleyCriticalEvent = 2,
    AlleyDailyEvent = 3,
}
impl Imalbhicjjj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Imalbhicjjj::AlleyEventTypeNone => "ALLEY_EVENT_TYPE_NONE",
            Imalbhicjjj::AlleyMainEvent => "ALLEY_MAIN_EVENT",
            Imalbhicjjj::AlleyCriticalEvent => "ALLEY_CRITICAL_EVENT",
            Imalbhicjjj::AlleyDailyEvent => "ALLEY_DAILY_EVENT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALLEY_EVENT_TYPE_NONE" => Some(Self::AlleyEventTypeNone),
            "ALLEY_MAIN_EVENT" => Some(Self::AlleyMainEvent),
            "ALLEY_CRITICAL_EVENT" => Some(Self::AlleyCriticalEvent),
            "ALLEY_DAILY_EVENT" => Some(Self::AlleyDailyEvent),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hohcfnplgdd {
    AlleyStateNone = 0,
    AlleyEventDoing = 1,
    AlleyEventFinish = 2,
    AlleyEventRewarded = 3,
}
impl Hohcfnplgdd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hohcfnplgdd::AlleyStateNone => "ALLEY_STATE_NONE",
            Hohcfnplgdd::AlleyEventDoing => "ALLEY_EVENT_DOING",
            Hohcfnplgdd::AlleyEventFinish => "ALLEY_EVENT_FINISH",
            Hohcfnplgdd::AlleyEventRewarded => "ALLEY_EVENT_REWARDED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALLEY_STATE_NONE" => Some(Self::AlleyStateNone),
            "ALLEY_EVENT_DOING" => Some(Self::AlleyEventDoing),
            "ALLEY_EVENT_FINISH" => Some(Self::AlleyEventFinish),
            "ALLEY_EVENT_REWARDED" => Some(Self::AlleyEventRewarded),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdArchiveType {
    None = 0,
    CmdGetArchiveDataScRsp = 2388,
    CmdGetUpdatedArchiveDataScRsp = 2320,
    CmdGetUpdatedArchiveDataCsReq = 2391,
    CmdGetArchiveDataCsReq = 2361,
}
impl CmdArchiveType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdArchiveType::None => "CmdArchiveTypeNone",
            CmdArchiveType::CmdGetArchiveDataScRsp => "CmdGetArchiveDataScRsp",
            CmdArchiveType::CmdGetUpdatedArchiveDataScRsp => {
                "CmdGetUpdatedArchiveDataScRsp"
            }
            CmdArchiveType::CmdGetUpdatedArchiveDataCsReq => {
                "CmdGetUpdatedArchiveDataCsReq"
            }
            CmdArchiveType::CmdGetArchiveDataCsReq => "CmdGetArchiveDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdArchiveTypeNone" => Some(Self::None),
            "CmdGetArchiveDataScRsp" => Some(Self::CmdGetArchiveDataScRsp),
            "CmdGetUpdatedArchiveDataScRsp" => Some(Self::CmdGetUpdatedArchiveDataScRsp),
            "CmdGetUpdatedArchiveDataCsReq" => Some(Self::CmdGetUpdatedArchiveDataCsReq),
            "CmdGetArchiveDataCsReq" => Some(Self::CmdGetArchiveDataCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAvatarType {
    None = 0,
    CmdUnlockAvatarSkinScNotify = 337,
    CmdUnlockSkilltreeScRsp = 373,
    CmdPromoteAvatarScRsp = 371,
    CmdTakeOffEquipmentCsReq = 362,
    CmdAvatarExpUpScRsp = 320,
    CmdAvatarExpUpCsReq = 391,
    CmdTakeOffRelicScRsp = 370,
    CmdTakeOffRelicCsReq = 303,
    CmdGetAvatarDataCsReq = 361,
    CmdTakeOffEquipmentScRsp = 374,
    CmdRankUpAvatarScRsp = 396,
    CmdDressAvatarSkinCsReq = 351,
    CmdMarkAvatarCsReq = 328,
    CmdDressAvatarScRsp = 327,
    CmdTakePromotionRewardScRsp = 349,
    CmdAddAvatarScNotify = 347,
    CmdPromoteAvatarCsReq = 330,
    CmdUnlockSkilltreeCsReq = 339,
    CmdTakePromotionRewardCsReq = 356,
    CmdGetAvatarDataScRsp = 388,
    CmdDressRelicAvatarScRsp = 382,
    CmdDressRelicAvatarCsReq = 321,
    CmdDressAvatarSkinScRsp = 309,
    CmdTakeOffAvatarSkinCsReq = 381,
    CmdTakeOffAvatarSkinScRsp = 312,
    CmdMarkAvatarScRsp = 301,
    CmdRankUpAvatarCsReq = 394,
    CmdDressAvatarCsReq = 387,
}
impl CmdAvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdAvatarType::None => "CmdAvatarTypeNone",
            CmdAvatarType::CmdUnlockAvatarSkinScNotify => "CmdUnlockAvatarSkinScNotify",
            CmdAvatarType::CmdUnlockSkilltreeScRsp => "CmdUnlockSkilltreeScRsp",
            CmdAvatarType::CmdPromoteAvatarScRsp => "CmdPromoteAvatarScRsp",
            CmdAvatarType::CmdTakeOffEquipmentCsReq => "CmdTakeOffEquipmentCsReq",
            CmdAvatarType::CmdAvatarExpUpScRsp => "CmdAvatarExpUpScRsp",
            CmdAvatarType::CmdAvatarExpUpCsReq => "CmdAvatarExpUpCsReq",
            CmdAvatarType::CmdTakeOffRelicScRsp => "CmdTakeOffRelicScRsp",
            CmdAvatarType::CmdTakeOffRelicCsReq => "CmdTakeOffRelicCsReq",
            CmdAvatarType::CmdGetAvatarDataCsReq => "CmdGetAvatarDataCsReq",
            CmdAvatarType::CmdTakeOffEquipmentScRsp => "CmdTakeOffEquipmentScRsp",
            CmdAvatarType::CmdRankUpAvatarScRsp => "CmdRankUpAvatarScRsp",
            CmdAvatarType::CmdDressAvatarSkinCsReq => "CmdDressAvatarSkinCsReq",
            CmdAvatarType::CmdMarkAvatarCsReq => "CmdMarkAvatarCsReq",
            CmdAvatarType::CmdDressAvatarScRsp => "CmdDressAvatarScRsp",
            CmdAvatarType::CmdTakePromotionRewardScRsp => "CmdTakePromotionRewardScRsp",
            CmdAvatarType::CmdAddAvatarScNotify => "CmdAddAvatarScNotify",
            CmdAvatarType::CmdPromoteAvatarCsReq => "CmdPromoteAvatarCsReq",
            CmdAvatarType::CmdUnlockSkilltreeCsReq => "CmdUnlockSkilltreeCsReq",
            CmdAvatarType::CmdTakePromotionRewardCsReq => "CmdTakePromotionRewardCsReq",
            CmdAvatarType::CmdGetAvatarDataScRsp => "CmdGetAvatarDataScRsp",
            CmdAvatarType::CmdDressRelicAvatarScRsp => "CmdDressRelicAvatarScRsp",
            CmdAvatarType::CmdDressRelicAvatarCsReq => "CmdDressRelicAvatarCsReq",
            CmdAvatarType::CmdDressAvatarSkinScRsp => "CmdDressAvatarSkinScRsp",
            CmdAvatarType::CmdTakeOffAvatarSkinCsReq => "CmdTakeOffAvatarSkinCsReq",
            CmdAvatarType::CmdTakeOffAvatarSkinScRsp => "CmdTakeOffAvatarSkinScRsp",
            CmdAvatarType::CmdMarkAvatarScRsp => "CmdMarkAvatarScRsp",
            CmdAvatarType::CmdRankUpAvatarCsReq => "CmdRankUpAvatarCsReq",
            CmdAvatarType::CmdDressAvatarCsReq => "CmdDressAvatarCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAvatarTypeNone" => Some(Self::None),
            "CmdUnlockAvatarSkinScNotify" => Some(Self::CmdUnlockAvatarSkinScNotify),
            "CmdUnlockSkilltreeScRsp" => Some(Self::CmdUnlockSkilltreeScRsp),
            "CmdPromoteAvatarScRsp" => Some(Self::CmdPromoteAvatarScRsp),
            "CmdTakeOffEquipmentCsReq" => Some(Self::CmdTakeOffEquipmentCsReq),
            "CmdAvatarExpUpScRsp" => Some(Self::CmdAvatarExpUpScRsp),
            "CmdAvatarExpUpCsReq" => Some(Self::CmdAvatarExpUpCsReq),
            "CmdTakeOffRelicScRsp" => Some(Self::CmdTakeOffRelicScRsp),
            "CmdTakeOffRelicCsReq" => Some(Self::CmdTakeOffRelicCsReq),
            "CmdGetAvatarDataCsReq" => Some(Self::CmdGetAvatarDataCsReq),
            "CmdTakeOffEquipmentScRsp" => Some(Self::CmdTakeOffEquipmentScRsp),
            "CmdRankUpAvatarScRsp" => Some(Self::CmdRankUpAvatarScRsp),
            "CmdDressAvatarSkinCsReq" => Some(Self::CmdDressAvatarSkinCsReq),
            "CmdMarkAvatarCsReq" => Some(Self::CmdMarkAvatarCsReq),
            "CmdDressAvatarScRsp" => Some(Self::CmdDressAvatarScRsp),
            "CmdTakePromotionRewardScRsp" => Some(Self::CmdTakePromotionRewardScRsp),
            "CmdAddAvatarScNotify" => Some(Self::CmdAddAvatarScNotify),
            "CmdPromoteAvatarCsReq" => Some(Self::CmdPromoteAvatarCsReq),
            "CmdUnlockSkilltreeCsReq" => Some(Self::CmdUnlockSkilltreeCsReq),
            "CmdTakePromotionRewardCsReq" => Some(Self::CmdTakePromotionRewardCsReq),
            "CmdGetAvatarDataScRsp" => Some(Self::CmdGetAvatarDataScRsp),
            "CmdDressRelicAvatarScRsp" => Some(Self::CmdDressRelicAvatarScRsp),
            "CmdDressRelicAvatarCsReq" => Some(Self::CmdDressRelicAvatarCsReq),
            "CmdDressAvatarSkinScRsp" => Some(Self::CmdDressAvatarSkinScRsp),
            "CmdTakeOffAvatarSkinCsReq" => Some(Self::CmdTakeOffAvatarSkinCsReq),
            "CmdTakeOffAvatarSkinScRsp" => Some(Self::CmdTakeOffAvatarSkinScRsp),
            "CmdMarkAvatarScRsp" => Some(Self::CmdMarkAvatarScRsp),
            "CmdRankUpAvatarCsReq" => Some(Self::CmdRankUpAvatarCsReq),
            "CmdDressAvatarCsReq" => Some(Self::CmdDressAvatarCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AddAvatarSrc {
    None = 0,
    Gacha = 1,
    Rogue = 2,
}
impl AddAvatarSrc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            AddAvatarSrc::None => "ADD_AVATAR_SRC_NONE",
            AddAvatarSrc::Gacha => "ADD_AVATAR_SRC_GACHA",
            AddAvatarSrc::Rogue => "ADD_AVATAR_SRC_ROGUE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ADD_AVATAR_SRC_NONE" => Some(Self::None),
            "ADD_AVATAR_SRC_GACHA" => Some(Self::Gacha),
            "ADD_AVATAR_SRC_ROGUE" => Some(Self::Rogue),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleType {
    None = 0,
    CmdGetCurBattleInfoScRsp = 173,
    CmdReBattleAfterBattleLoseCsNotify = 147,
    CmdRebattleByClientCsNotify = 194,
    CmdBattleLogReportCsReq = 127,
    CmdQuitBattleScNotify = 187,
    CmdBattleLogReportScRsp = 162,
    CmdSyncClientResVersionCsReq = 130,
    CmdServerSimulateBattleFinishScNotify = 174,
    CmdGetCurBattleInfoCsReq = 139,
    CmdQuitBattleCsReq = 191,
    CmdPveBattleResultScRsp = 188,
    CmdSyncClientResVersionScRsp = 171,
    CmdPveBattleResultCsReq = 161,
    CmdQuitBattleScRsp = 120,
}
impl CmdBattleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBattleType::None => "CmdBattleTypeNone",
            CmdBattleType::CmdGetCurBattleInfoScRsp => "CmdGetCurBattleInfoScRsp",
            CmdBattleType::CmdReBattleAfterBattleLoseCsNotify => {
                "CmdReBattleAfterBattleLoseCsNotify"
            }
            CmdBattleType::CmdRebattleByClientCsNotify => "CmdRebattleByClientCsNotify",
            CmdBattleType::CmdBattleLogReportCsReq => "CmdBattleLogReportCsReq",
            CmdBattleType::CmdQuitBattleScNotify => "CmdQuitBattleScNotify",
            CmdBattleType::CmdBattleLogReportScRsp => "CmdBattleLogReportScRsp",
            CmdBattleType::CmdSyncClientResVersionCsReq => "CmdSyncClientResVersionCsReq",
            CmdBattleType::CmdServerSimulateBattleFinishScNotify => {
                "CmdServerSimulateBattleFinishScNotify"
            }
            CmdBattleType::CmdGetCurBattleInfoCsReq => "CmdGetCurBattleInfoCsReq",
            CmdBattleType::CmdQuitBattleCsReq => "CmdQuitBattleCsReq",
            CmdBattleType::CmdPveBattleResultScRsp => "CmdPVEBattleResultScRsp",
            CmdBattleType::CmdSyncClientResVersionScRsp => "CmdSyncClientResVersionScRsp",
            CmdBattleType::CmdPveBattleResultCsReq => "CmdPVEBattleResultCsReq",
            CmdBattleType::CmdQuitBattleScRsp => "CmdQuitBattleScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBattleTypeNone" => Some(Self::None),
            "CmdGetCurBattleInfoScRsp" => Some(Self::CmdGetCurBattleInfoScRsp),
            "CmdReBattleAfterBattleLoseCsNotify" => {
                Some(Self::CmdReBattleAfterBattleLoseCsNotify)
            }
            "CmdRebattleByClientCsNotify" => Some(Self::CmdRebattleByClientCsNotify),
            "CmdBattleLogReportCsReq" => Some(Self::CmdBattleLogReportCsReq),
            "CmdQuitBattleScNotify" => Some(Self::CmdQuitBattleScNotify),
            "CmdBattleLogReportScRsp" => Some(Self::CmdBattleLogReportScRsp),
            "CmdSyncClientResVersionCsReq" => Some(Self::CmdSyncClientResVersionCsReq),
            "CmdServerSimulateBattleFinishScNotify" => {
                Some(Self::CmdServerSimulateBattleFinishScNotify)
            }
            "CmdGetCurBattleInfoCsReq" => Some(Self::CmdGetCurBattleInfoCsReq),
            "CmdQuitBattleCsReq" => Some(Self::CmdQuitBattleCsReq),
            "CmdPVEBattleResultScRsp" => Some(Self::CmdPveBattleResultScRsp),
            "CmdSyncClientResVersionScRsp" => Some(Self::CmdSyncClientResVersionScRsp),
            "CmdPVEBattleResultCsReq" => Some(Self::CmdPveBattleResultCsReq),
            "CmdQuitBattleScRsp" => Some(Self::CmdQuitBattleScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleCollegeType {
    None = 0,
    CmdStartBattleCollegeScRsp = 5739,
    CmdGetBattleCollegeDataCsReq = 5761,
    CmdBattleCollegeDataChangeScNotify = 5791,
    CmdStartBattleCollegeCsReq = 5720,
    CmdGetBattleCollegeDataScRsp = 5788,
}
impl CmdBattleCollegeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBattleCollegeType::None => "CmdBattleCollegeTypeNone",
            CmdBattleCollegeType::CmdStartBattleCollegeScRsp => {
                "CmdStartBattleCollegeScRsp"
            }
            CmdBattleCollegeType::CmdGetBattleCollegeDataCsReq => {
                "CmdGetBattleCollegeDataCsReq"
            }
            CmdBattleCollegeType::CmdBattleCollegeDataChangeScNotify => {
                "CmdBattleCollegeDataChangeScNotify"
            }
            CmdBattleCollegeType::CmdStartBattleCollegeCsReq => {
                "CmdStartBattleCollegeCsReq"
            }
            CmdBattleCollegeType::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 {
            "CmdBattleCollegeTypeNone" => Some(Self::None),
            "CmdStartBattleCollegeScRsp" => Some(Self::CmdStartBattleCollegeScRsp),
            "CmdGetBattleCollegeDataCsReq" => Some(Self::CmdGetBattleCollegeDataCsReq),
            "CmdBattleCollegeDataChangeScNotify" => {
                Some(Self::CmdBattleCollegeDataChangeScNotify)
            }
            "CmdStartBattleCollegeCsReq" => Some(Self::CmdStartBattleCollegeCsReq),
            "CmdGetBattleCollegeDataScRsp" => Some(Self::CmdGetBattleCollegeDataScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattlePassType {
    None = 0,
    CmdBattlePassInfoNotify = 3061,
    CmdTakeBpRewardCsReq = 3020,
    CmdTakeAllRewardScRsp = 3087,
    CmdBuyBpLevelScRsp = 3030,
    CmdTakeAllRewardCsReq = 3071,
    CmdTakeBpRewardScRsp = 3039,
    CmdBuyBpLevelCsReq = 3073,
}
impl CmdBattlePassType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBattlePassType::None => "CmdBattlePassTypeNone",
            CmdBattlePassType::CmdBattlePassInfoNotify => "CmdBattlePassInfoNotify",
            CmdBattlePassType::CmdTakeBpRewardCsReq => "CmdTakeBpRewardCsReq",
            CmdBattlePassType::CmdTakeAllRewardScRsp => "CmdTakeAllRewardScRsp",
            CmdBattlePassType::CmdBuyBpLevelScRsp => "CmdBuyBpLevelScRsp",
            CmdBattlePassType::CmdTakeAllRewardCsReq => "CmdTakeAllRewardCsReq",
            CmdBattlePassType::CmdTakeBpRewardScRsp => "CmdTakeBpRewardScRsp",
            CmdBattlePassType::CmdBuyBpLevelCsReq => "CmdBuyBpLevelCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBattlePassTypeNone" => Some(Self::None),
            "CmdBattlePassInfoNotify" => Some(Self::CmdBattlePassInfoNotify),
            "CmdTakeBpRewardCsReq" => Some(Self::CmdTakeBpRewardCsReq),
            "CmdTakeAllRewardScRsp" => Some(Self::CmdTakeAllRewardScRsp),
            "CmdBuyBpLevelScRsp" => Some(Self::CmdBuyBpLevelScRsp),
            "CmdTakeAllRewardCsReq" => Some(Self::CmdTakeAllRewardCsReq),
            "CmdTakeBpRewardScRsp" => Some(Self::CmdTakeBpRewardScRsp),
            "CmdBuyBpLevelCsReq" => Some(Self::CmdBuyBpLevelCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dodcppolndh {
    BpTierTypeNone = 0,
    BpTierTypeFree = 1,
    BpTierTypePremium1 = 2,
    BpTierTypePremium2 = 3,
}
impl Dodcppolndh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dodcppolndh::BpTierTypeNone => "BP_TIER_TYPE_NONE",
            Dodcppolndh::BpTierTypeFree => "BP_TIER_TYPE_FREE",
            Dodcppolndh::BpTierTypePremium1 => "BP_TIER_TYPE_PREMIUM_1",
            Dodcppolndh::BpTierTypePremium2 => "BP_TIER_TYPE_PREMIUM_2",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BP_TIER_TYPE_NONE" => Some(Self::BpTierTypeNone),
            "BP_TIER_TYPE_FREE" => Some(Self::BpTierTypeFree),
            "BP_TIER_TYPE_PREMIUM_1" => Some(Self::BpTierTypePremium1),
            "BP_TIER_TYPE_PREMIUM_2" => Some(Self::BpTierTypePremium2),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gcfaflhgkpb {
    BpRewaradTypeNone = 0,
    BpRewaradTypeFree = 1,
    BpRewaradTypePremium1 = 2,
    BpRewaradTypePremium2 = 3,
    BpRewaradTypePremiumOptional = 4,
}
impl Gcfaflhgkpb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gcfaflhgkpb::BpRewaradTypeNone => "BP_REWARAD_TYPE_NONE",
            Gcfaflhgkpb::BpRewaradTypeFree => "BP_REWARAD_TYPE_FREE",
            Gcfaflhgkpb::BpRewaradTypePremium1 => "BP_REWARAD_TYPE_PREMIUM_1",
            Gcfaflhgkpb::BpRewaradTypePremium2 => "BP_REWARAD_TYPE_PREMIUM_2",
            Gcfaflhgkpb::BpRewaradTypePremiumOptional => {
                "BP_REWARAD_TYPE_PREMIUM_OPTIONAL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BP_REWARAD_TYPE_NONE" => Some(Self::BpRewaradTypeNone),
            "BP_REWARAD_TYPE_FREE" => Some(Self::BpRewaradTypeFree),
            "BP_REWARAD_TYPE_PREMIUM_1" => Some(Self::BpRewaradTypePremium1),
            "BP_REWARAD_TYPE_PREMIUM_2" => Some(Self::BpRewaradTypePremium2),
            "BP_REWARAD_TYPE_PREMIUM_OPTIONAL" => {
                Some(Self::BpRewaradTypePremiumOptional)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBoxingClubType {
    None = 0,
    CmdSetBoxingClubResonanceLineupCsReq = 4247,
    CmdGetBoxingClubInfoScRsp = 4288,
    CmdGiveUpBoxingClubChallengeCsReq = 4230,
    CmdSetBoxingClubResonanceLineupScRsp = 4294,
    CmdGiveUpBoxingClubChallengeScRsp = 4271,
    CmdChooseBoxingClubResonanceCsReq = 4262,
    CmdStartBoxingClubBattleCsReq = 4239,
    CmdBoxingClubRewardScNotify = 4287,
    CmdChooseBoxingClubStageOptionalBuffCsReq = 4296,
    CmdMatchBoxingClubOpponentScRsp = 4220,
    CmdStartBoxingClubBattleScRsp = 4273,
    CmdChooseBoxingClubStageOptionalBuffScRsp = 4221,
    CmdBoxingClubChallengeUpdateScNotify = 4227,
    CmdMatchBoxingClubOpponentCsReq = 4291,
    CmdChooseBoxingClubResonanceScRsp = 4274,
    CmdGetBoxingClubInfoCsReq = 4261,
}
impl CmdBoxingClubType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBoxingClubType::None => "CmdBoxingClubTypeNone",
            CmdBoxingClubType::CmdSetBoxingClubResonanceLineupCsReq => {
                "CmdSetBoxingClubResonanceLineupCsReq"
            }
            CmdBoxingClubType::CmdGetBoxingClubInfoScRsp => "CmdGetBoxingClubInfoScRsp",
            CmdBoxingClubType::CmdGiveUpBoxingClubChallengeCsReq => {
                "CmdGiveUpBoxingClubChallengeCsReq"
            }
            CmdBoxingClubType::CmdSetBoxingClubResonanceLineupScRsp => {
                "CmdSetBoxingClubResonanceLineupScRsp"
            }
            CmdBoxingClubType::CmdGiveUpBoxingClubChallengeScRsp => {
                "CmdGiveUpBoxingClubChallengeScRsp"
            }
            CmdBoxingClubType::CmdChooseBoxingClubResonanceCsReq => {
                "CmdChooseBoxingClubResonanceCsReq"
            }
            CmdBoxingClubType::CmdStartBoxingClubBattleCsReq => {
                "CmdStartBoxingClubBattleCsReq"
            }
            CmdBoxingClubType::CmdBoxingClubRewardScNotify => {
                "CmdBoxingClubRewardScNotify"
            }
            CmdBoxingClubType::CmdChooseBoxingClubStageOptionalBuffCsReq => {
                "CmdChooseBoxingClubStageOptionalBuffCsReq"
            }
            CmdBoxingClubType::CmdMatchBoxingClubOpponentScRsp => {
                "CmdMatchBoxingClubOpponentScRsp"
            }
            CmdBoxingClubType::CmdStartBoxingClubBattleScRsp => {
                "CmdStartBoxingClubBattleScRsp"
            }
            CmdBoxingClubType::CmdChooseBoxingClubStageOptionalBuffScRsp => {
                "CmdChooseBoxingClubStageOptionalBuffScRsp"
            }
            CmdBoxingClubType::CmdBoxingClubChallengeUpdateScNotify => {
                "CmdBoxingClubChallengeUpdateScNotify"
            }
            CmdBoxingClubType::CmdMatchBoxingClubOpponentCsReq => {
                "CmdMatchBoxingClubOpponentCsReq"
            }
            CmdBoxingClubType::CmdChooseBoxingClubResonanceScRsp => {
                "CmdChooseBoxingClubResonanceScRsp"
            }
            CmdBoxingClubType::CmdGetBoxingClubInfoCsReq => "CmdGetBoxingClubInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBoxingClubTypeNone" => Some(Self::None),
            "CmdSetBoxingClubResonanceLineupCsReq" => {
                Some(Self::CmdSetBoxingClubResonanceLineupCsReq)
            }
            "CmdGetBoxingClubInfoScRsp" => Some(Self::CmdGetBoxingClubInfoScRsp),
            "CmdGiveUpBoxingClubChallengeCsReq" => {
                Some(Self::CmdGiveUpBoxingClubChallengeCsReq)
            }
            "CmdSetBoxingClubResonanceLineupScRsp" => {
                Some(Self::CmdSetBoxingClubResonanceLineupScRsp)
            }
            "CmdGiveUpBoxingClubChallengeScRsp" => {
                Some(Self::CmdGiveUpBoxingClubChallengeScRsp)
            }
            "CmdChooseBoxingClubResonanceCsReq" => {
                Some(Self::CmdChooseBoxingClubResonanceCsReq)
            }
            "CmdStartBoxingClubBattleCsReq" => Some(Self::CmdStartBoxingClubBattleCsReq),
            "CmdBoxingClubRewardScNotify" => Some(Self::CmdBoxingClubRewardScNotify),
            "CmdChooseBoxingClubStageOptionalBuffCsReq" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffCsReq)
            }
            "CmdMatchBoxingClubOpponentScRsp" => {
                Some(Self::CmdMatchBoxingClubOpponentScRsp)
            }
            "CmdStartBoxingClubBattleScRsp" => Some(Self::CmdStartBoxingClubBattleScRsp),
            "CmdChooseBoxingClubStageOptionalBuffScRsp" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffScRsp)
            }
            "CmdBoxingClubChallengeUpdateScNotify" => {
                Some(Self::CmdBoxingClubChallengeUpdateScNotify)
            }
            "CmdMatchBoxingClubOpponentCsReq" => {
                Some(Self::CmdMatchBoxingClubOpponentCsReq)
            }
            "CmdChooseBoxingClubResonanceScRsp" => {
                Some(Self::CmdChooseBoxingClubResonanceScRsp)
            }
            "CmdGetBoxingClubInfoCsReq" => Some(Self::CmdGetBoxingClubInfoCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChallengeType {
    None = 0,
    CmdGetCurChallengeCsReq = 1727,
    CmdLeaveChallengeScRsp = 1773,
    CmdGetChallengeGroupStatisticsScRsp = 1703,
    CmdRestartChallengePhaseScRsp = 1709,
    CmdRestartChallengePhaseCsReq = 1751,
    CmdStartPartialChallengeCsReq = 1770,
    CmdEnterChallengeNextPhaseCsReq = 1781,
    CmdChallengeBossPhaseSettleNotify = 1737,
    CmdStartChallengeCsReq = 1791,
    CmdLeaveChallengeCsReq = 1739,
    CmdEnterChallengeNextPhaseScRsp = 1712,
    CmdGetChallengeScRsp = 1788,
    CmdGetCurChallengeScRsp = 1762,
    CmdChallengeLineupNotify = 1774,
    CmdTakeChallengeRewardScRsp = 1721,
    CmdChallengeSettleNotify = 1730,
    CmdGetChallengeCsReq = 1761,
    CmdGetChallengeGroupStatisticsCsReq = 1782,
    CmdTakeChallengeRewardCsReq = 1796,
    CmdStartChallengeScRsp = 1720,
    CmdStartPartialChallengeScRsp = 1756,
}
impl CmdChallengeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdChallengeType::None => "CmdChallengeTypeNone",
            CmdChallengeType::CmdGetCurChallengeCsReq => "CmdGetCurChallengeCsReq",
            CmdChallengeType::CmdLeaveChallengeScRsp => "CmdLeaveChallengeScRsp",
            CmdChallengeType::CmdGetChallengeGroupStatisticsScRsp => {
                "CmdGetChallengeGroupStatisticsScRsp"
            }
            CmdChallengeType::CmdRestartChallengePhaseScRsp => {
                "CmdRestartChallengePhaseScRsp"
            }
            CmdChallengeType::CmdRestartChallengePhaseCsReq => {
                "CmdRestartChallengePhaseCsReq"
            }
            CmdChallengeType::CmdStartPartialChallengeCsReq => {
                "CmdStartPartialChallengeCsReq"
            }
            CmdChallengeType::CmdEnterChallengeNextPhaseCsReq => {
                "CmdEnterChallengeNextPhaseCsReq"
            }
            CmdChallengeType::CmdChallengeBossPhaseSettleNotify => {
                "CmdChallengeBossPhaseSettleNotify"
            }
            CmdChallengeType::CmdStartChallengeCsReq => "CmdStartChallengeCsReq",
            CmdChallengeType::CmdLeaveChallengeCsReq => "CmdLeaveChallengeCsReq",
            CmdChallengeType::CmdEnterChallengeNextPhaseScRsp => {
                "CmdEnterChallengeNextPhaseScRsp"
            }
            CmdChallengeType::CmdGetChallengeScRsp => "CmdGetChallengeScRsp",
            CmdChallengeType::CmdGetCurChallengeScRsp => "CmdGetCurChallengeScRsp",
            CmdChallengeType::CmdChallengeLineupNotify => "CmdChallengeLineupNotify",
            CmdChallengeType::CmdTakeChallengeRewardScRsp => {
                "CmdTakeChallengeRewardScRsp"
            }
            CmdChallengeType::CmdChallengeSettleNotify => "CmdChallengeSettleNotify",
            CmdChallengeType::CmdGetChallengeCsReq => "CmdGetChallengeCsReq",
            CmdChallengeType::CmdGetChallengeGroupStatisticsCsReq => {
                "CmdGetChallengeGroupStatisticsCsReq"
            }
            CmdChallengeType::CmdTakeChallengeRewardCsReq => {
                "CmdTakeChallengeRewardCsReq"
            }
            CmdChallengeType::CmdStartChallengeScRsp => "CmdStartChallengeScRsp",
            CmdChallengeType::CmdStartPartialChallengeScRsp => {
                "CmdStartPartialChallengeScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChallengeTypeNone" => Some(Self::None),
            "CmdGetCurChallengeCsReq" => Some(Self::CmdGetCurChallengeCsReq),
            "CmdLeaveChallengeScRsp" => Some(Self::CmdLeaveChallengeScRsp),
            "CmdGetChallengeGroupStatisticsScRsp" => {
                Some(Self::CmdGetChallengeGroupStatisticsScRsp)
            }
            "CmdRestartChallengePhaseScRsp" => Some(Self::CmdRestartChallengePhaseScRsp),
            "CmdRestartChallengePhaseCsReq" => Some(Self::CmdRestartChallengePhaseCsReq),
            "CmdStartPartialChallengeCsReq" => Some(Self::CmdStartPartialChallengeCsReq),
            "CmdEnterChallengeNextPhaseCsReq" => {
                Some(Self::CmdEnterChallengeNextPhaseCsReq)
            }
            "CmdChallengeBossPhaseSettleNotify" => {
                Some(Self::CmdChallengeBossPhaseSettleNotify)
            }
            "CmdStartChallengeCsReq" => Some(Self::CmdStartChallengeCsReq),
            "CmdLeaveChallengeCsReq" => Some(Self::CmdLeaveChallengeCsReq),
            "CmdEnterChallengeNextPhaseScRsp" => {
                Some(Self::CmdEnterChallengeNextPhaseScRsp)
            }
            "CmdGetChallengeScRsp" => Some(Self::CmdGetChallengeScRsp),
            "CmdGetCurChallengeScRsp" => Some(Self::CmdGetCurChallengeScRsp),
            "CmdChallengeLineupNotify" => Some(Self::CmdChallengeLineupNotify),
            "CmdTakeChallengeRewardScRsp" => Some(Self::CmdTakeChallengeRewardScRsp),
            "CmdChallengeSettleNotify" => Some(Self::CmdChallengeSettleNotify),
            "CmdGetChallengeCsReq" => Some(Self::CmdGetChallengeCsReq),
            "CmdGetChallengeGroupStatisticsCsReq" => {
                Some(Self::CmdGetChallengeGroupStatisticsCsReq)
            }
            "CmdTakeChallengeRewardCsReq" => Some(Self::CmdTakeChallengeRewardCsReq),
            "CmdStartChallengeScRsp" => Some(Self::CmdStartChallengeScRsp),
            "CmdStartPartialChallengeScRsp" => Some(Self::CmdStartPartialChallengeScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kgfbcefhgbj {
    ChallengeUnknown = 0,
    ChallengeDoing = 1,
    ChallengeFinish = 2,
    ChallengeFailed = 3,
}
impl Kgfbcefhgbj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kgfbcefhgbj::ChallengeUnknown => "CHALLENGE_UNKNOWN",
            Kgfbcefhgbj::ChallengeDoing => "CHALLENGE_DOING",
            Kgfbcefhgbj::ChallengeFinish => "CHALLENGE_FINISH",
            Kgfbcefhgbj::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,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChatType {
    None = 0,
    CmdGetPrivateChatHistoryScRsp = 3973,
    CmdSendMsgCsReq = 3961,
    CmdGetChatEmojiListCsReq = 3987,
    CmdGetPrivateChatHistoryCsReq = 3939,
    CmdRevcMsgScNotify = 3991,
    CmdGetChatEmojiListScRsp = 3927,
    CmdGetLoginChatInfoCsReq = 3996,
    CmdPrivateMsgOfflineUsersScNotify = 3920,
    CmdMarkChatEmojiScRsp = 3974,
    CmdMarkChatEmojiCsReq = 3962,
    CmdBatchMarkChatEmojiCsReq = 3947,
    CmdGetChatFriendHistoryScRsp = 3971,
    CmdSendMsgScRsp = 3988,
    CmdGetChatFriendHistoryCsReq = 3930,
    CmdGetLoginChatInfoScRsp = 3921,
    CmdBatchMarkChatEmojiScRsp = 3994,
}
impl CmdChatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdChatType::None => "CmdChatTypeNone",
            CmdChatType::CmdGetPrivateChatHistoryScRsp => "CmdGetPrivateChatHistoryScRsp",
            CmdChatType::CmdSendMsgCsReq => "CmdSendMsgCsReq",
            CmdChatType::CmdGetChatEmojiListCsReq => "CmdGetChatEmojiListCsReq",
            CmdChatType::CmdGetPrivateChatHistoryCsReq => "CmdGetPrivateChatHistoryCsReq",
            CmdChatType::CmdRevcMsgScNotify => "CmdRevcMsgScNotify",
            CmdChatType::CmdGetChatEmojiListScRsp => "CmdGetChatEmojiListScRsp",
            CmdChatType::CmdGetLoginChatInfoCsReq => "CmdGetLoginChatInfoCsReq",
            CmdChatType::CmdPrivateMsgOfflineUsersScNotify => {
                "CmdPrivateMsgOfflineUsersScNotify"
            }
            CmdChatType::CmdMarkChatEmojiScRsp => "CmdMarkChatEmojiScRsp",
            CmdChatType::CmdMarkChatEmojiCsReq => "CmdMarkChatEmojiCsReq",
            CmdChatType::CmdBatchMarkChatEmojiCsReq => "CmdBatchMarkChatEmojiCsReq",
            CmdChatType::CmdGetChatFriendHistoryScRsp => "CmdGetChatFriendHistoryScRsp",
            CmdChatType::CmdSendMsgScRsp => "CmdSendMsgScRsp",
            CmdChatType::CmdGetChatFriendHistoryCsReq => "CmdGetChatFriendHistoryCsReq",
            CmdChatType::CmdGetLoginChatInfoScRsp => "CmdGetLoginChatInfoScRsp",
            CmdChatType::CmdBatchMarkChatEmojiScRsp => "CmdBatchMarkChatEmojiScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChatTypeNone" => Some(Self::None),
            "CmdGetPrivateChatHistoryScRsp" => Some(Self::CmdGetPrivateChatHistoryScRsp),
            "CmdSendMsgCsReq" => Some(Self::CmdSendMsgCsReq),
            "CmdGetChatEmojiListCsReq" => Some(Self::CmdGetChatEmojiListCsReq),
            "CmdGetPrivateChatHistoryCsReq" => Some(Self::CmdGetPrivateChatHistoryCsReq),
            "CmdRevcMsgScNotify" => Some(Self::CmdRevcMsgScNotify),
            "CmdGetChatEmojiListScRsp" => Some(Self::CmdGetChatEmojiListScRsp),
            "CmdGetLoginChatInfoCsReq" => Some(Self::CmdGetLoginChatInfoCsReq),
            "CmdPrivateMsgOfflineUsersScNotify" => {
                Some(Self::CmdPrivateMsgOfflineUsersScNotify)
            }
            "CmdMarkChatEmojiScRsp" => Some(Self::CmdMarkChatEmojiScRsp),
            "CmdMarkChatEmojiCsReq" => Some(Self::CmdMarkChatEmojiCsReq),
            "CmdBatchMarkChatEmojiCsReq" => Some(Self::CmdBatchMarkChatEmojiCsReq),
            "CmdGetChatFriendHistoryScRsp" => Some(Self::CmdGetChatFriendHistoryScRsp),
            "CmdSendMsgScRsp" => Some(Self::CmdSendMsgScRsp),
            "CmdGetChatFriendHistoryCsReq" => Some(Self::CmdGetChatFriendHistoryCsReq),
            "CmdGetLoginChatInfoScRsp" => Some(Self::CmdGetLoginChatInfoScRsp),
            "CmdBatchMarkChatEmojiScRsp" => Some(Self::CmdBatchMarkChatEmojiScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChessRogueType {
    None = 0,
    CmdChessRogueUpdateAllowedSelectCellScNotify = 5566,
    CmdChessRogueUpdateAeonModifierValueScNotify = 5594,
    CmdChessRogueChangeyAeonDimensionNotify = 5531,
    CmdChessRogueCellUpdateNotify = 5572,
    CmdGetChessRogueStoryInfoScRsp = 5515,
    CmdChessRogueMoveCellNotify = 5582,
    CmdChessRogueFinishCurRoomNotify = 5426,
    CmdChessRogueNousDiceUpdateNotify = 5418,
    CmdChessRogueSkipTeachingLevelScRsp = 5581,
    CmdChessRogueReRollDiceCsReq = 5460,
    CmdGetChessRogueStoryAeonTalkInfoScRsp = 5465,
    CmdChessRogueLeaveCsReq = 5545,
    CmdSelectChessRogueNousSubStoryCsReq = 5495,
    CmdSelectChessRogueSubStoryCsReq = 5491,
    CmdFinishChessRogueNousSubStoryScRsp = 5455,
    CmdFinishChessRogueSubStoryScRsp = 5592,
    CmdChessRogueUpdateLevelBaseInfoScNotify = 5499,
    CmdChessRogueGoAheadScRsp = 5574,
    CmdGetChessRogueStoryInfoCsReq = 5542,
    CmdEnterChessRogueAeonRoomScRsp = 5494,
    CmdChessRogueCheatRollCsReq = 5596,
    CmdGetChessRogueBuffEnhanceInfoCsReq = 5414,
    CmdChessRogueUpdateDiceInfoScNotify = 5435,
    CmdChessRogueNousEnableRogueTalentCsReq = 5457,
    CmdChessRogueQueryScRsp = 5448,
    CmdGetChessRogueStoryAeonTalkInfoCsReq = 5502,
    CmdChessRogueQueryAeonDimensionsCsReq = 5512,
    CmdChessRogueQueryCsReq = 5517,
    CmdChessRogueUpdateReviveInfoScNotify = 5402,
    CmdEnhanceChessRogueBuffCsReq = 5544,
    CmdChessRogueReviveAvatarScRsp = 5522,
    CmdChessRogueEnterScRsp = 5424,
    CmdChessRogueNousEditDiceCsReq = 5464,
    CmdChessRogueQuitScRsp = 5575,
    CmdChessRogueEnterCellCsReq = 5532,
    CmdChessRogueQueryBpScRsp = 5423,
    CmdSyncChessRogueNousValueScNotify = 5469,
    CmdChessRoguePickAvatarCsReq = 5558,
    CmdChessRogueEnterCsReq = 5557,
    CmdGetChessRogueNousStoryInfoCsReq = 5431,
    CmdSyncChessRogueNousMainStoryScNotify = 5537,
    CmdChessRogueEnterNextLayerScRsp = 5598,
    CmdChessRogueQueryAeonDimensionsScRsp = 5590,
    CmdChessRogueSkipTeachingLevelCsReq = 5440,
    CmdChessRogueGiveUpRollCsReq = 5560,
    CmdChessRogueSelectBpCsReq = 5450,
    CmdChessRogueNousEnableRogueTalentScRsp = 5599,
    CmdChessRogueEnterCellScRsp = 5562,
    CmdChessRogueReRollDiceScRsp = 5416,
    CmdEnhanceChessRogueBuffScRsp = 5410,
    CmdChessRogueQuitCsReq = 5539,
    CmdChessRogueGoAheadCsReq = 5472,
    CmdChessRoguePickAvatarScRsp = 5520,
    CmdChessRogueLeaveScRsp = 5513,
    CmdChessRogueNousDiceSurfaceUnlockNotify = 5514,
    CmdChessRogueNousGetRogueTalentInfoCsReq = 5586,
    CmdChessRogueSelectCellCsReq = 5591,
    CmdChessRogueGiveUpScRsp = 5479,
    CmdChessRogueUpdateActionPointScNotify = 5419,
    CmdChessRogueLayerAccountInfoNotify = 5492,
    CmdChessRogueStartScRsp = 5477,
    CmdFinishChessRogueSubStoryCsReq = 5405,
    CmdChessRogueUpdateDicePassiveAccumulateValueScNotify = 5498,
    CmdChessRogueSelectCellScRsp = 5442,
    CmdChessRogueQueryBpCsReq = 5475,
    CmdSyncChessRogueNousSubStoryScNotify = 5526,
    CmdChessRogueCheatRollScRsp = 5456,
    CmdSelectChessRogueNousSubStoryScRsp = 5463,
    CmdGetChessRogueNousStoryInfoScRsp = 5444,
    CmdChessRogueReviveAvatarCsReq = 5570,
    CmdChessRogueQuestFinishNotify = 5571,
    CmdChessRogueConfirmRollScRsp = 5555,
    CmdChessRogueRollDiceCsReq = 5563,
    CmdChessRogueSelectBpScRsp = 5415,
    CmdEnterChessRogueAeonRoomCsReq = 5433,
    CmdChessRogueGiveUpRollScRsp = 5406,
    CmdChessRogueGiveUpCsReq = 5481,
    CmdChessRogueEnterNextLayerCsReq = 5429,
    CmdSyncChessRogueMainStoryFinishScNotify = 5486,
    CmdChessRogueRollDiceScRsp = 5508,
    CmdChessRogueConfirmRollCsReq = 5593,
    CmdChessRogueNousEditDiceScRsp = 5550,
    CmdFinishChessRogueNousSubStoryCsReq = 5535,
    CmdChessRogueUpdateBoardScNotify = 5488,
    CmdSelectChessRogueSubStoryScRsp = 5540,
    CmdChessRogueUpdateMoneyInfoScNotify = 5564,
    CmdChessRogueNousGetRogueTalentInfoScRsp = 5577,
    CmdGetChessRogueBuffEnhanceInfoScRsp = 5524,
    CmdChessRogueStartCsReq = 5452,
    CmdChessRogueUpdateUnlockLevelScNotify = 5454,
}
impl CmdChessRogueType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdChessRogueType::None => "CmdChessRogueTypeNone",
            CmdChessRogueType::CmdChessRogueUpdateAllowedSelectCellScNotify => {
                "CmdChessRogueUpdateAllowedSelectCellScNotify"
            }
            CmdChessRogueType::CmdChessRogueUpdateAeonModifierValueScNotify => {
                "CmdChessRogueUpdateAeonModifierValueScNotify"
            }
            CmdChessRogueType::CmdChessRogueChangeyAeonDimensionNotify => {
                "CmdChessRogueChangeyAeonDimensionNotify"
            }
            CmdChessRogueType::CmdChessRogueCellUpdateNotify => {
                "CmdChessRogueCellUpdateNotify"
            }
            CmdChessRogueType::CmdGetChessRogueStoryInfoScRsp => {
                "CmdGetChessRogueStoryInfoScRsp"
            }
            CmdChessRogueType::CmdChessRogueMoveCellNotify => {
                "CmdChessRogueMoveCellNotify"
            }
            CmdChessRogueType::CmdChessRogueFinishCurRoomNotify => {
                "CmdChessRogueFinishCurRoomNotify"
            }
            CmdChessRogueType::CmdChessRogueNousDiceUpdateNotify => {
                "CmdChessRogueNousDiceUpdateNotify"
            }
            CmdChessRogueType::CmdChessRogueSkipTeachingLevelScRsp => {
                "CmdChessRogueSkipTeachingLevelScRsp"
            }
            CmdChessRogueType::CmdChessRogueReRollDiceCsReq => {
                "CmdChessRogueReRollDiceCsReq"
            }
            CmdChessRogueType::CmdGetChessRogueStoryAeonTalkInfoScRsp => {
                "CmdGetChessRogueStoryAeonTalkInfoScRsp"
            }
            CmdChessRogueType::CmdChessRogueLeaveCsReq => "CmdChessRogueLeaveCsReq",
            CmdChessRogueType::CmdSelectChessRogueNousSubStoryCsReq => {
                "CmdSelectChessRogueNousSubStoryCsReq"
            }
            CmdChessRogueType::CmdSelectChessRogueSubStoryCsReq => {
                "CmdSelectChessRogueSubStoryCsReq"
            }
            CmdChessRogueType::CmdFinishChessRogueNousSubStoryScRsp => {
                "CmdFinishChessRogueNousSubStoryScRsp"
            }
            CmdChessRogueType::CmdFinishChessRogueSubStoryScRsp => {
                "CmdFinishChessRogueSubStoryScRsp"
            }
            CmdChessRogueType::CmdChessRogueUpdateLevelBaseInfoScNotify => {
                "CmdChessRogueUpdateLevelBaseInfoScNotify"
            }
            CmdChessRogueType::CmdChessRogueGoAheadScRsp => "CmdChessRogueGoAheadScRsp",
            CmdChessRogueType::CmdGetChessRogueStoryInfoCsReq => {
                "CmdGetChessRogueStoryInfoCsReq"
            }
            CmdChessRogueType::CmdEnterChessRogueAeonRoomScRsp => {
                "CmdEnterChessRogueAeonRoomScRsp"
            }
            CmdChessRogueType::CmdChessRogueCheatRollCsReq => {
                "CmdChessRogueCheatRollCsReq"
            }
            CmdChessRogueType::CmdGetChessRogueBuffEnhanceInfoCsReq => {
                "CmdGetChessRogueBuffEnhanceInfoCsReq"
            }
            CmdChessRogueType::CmdChessRogueUpdateDiceInfoScNotify => {
                "CmdChessRogueUpdateDiceInfoScNotify"
            }
            CmdChessRogueType::CmdChessRogueNousEnableRogueTalentCsReq => {
                "CmdChessRogueNousEnableRogueTalentCsReq"
            }
            CmdChessRogueType::CmdChessRogueQueryScRsp => "CmdChessRogueQueryScRsp",
            CmdChessRogueType::CmdGetChessRogueStoryAeonTalkInfoCsReq => {
                "CmdGetChessRogueStoryAeonTalkInfoCsReq"
            }
            CmdChessRogueType::CmdChessRogueQueryAeonDimensionsCsReq => {
                "CmdChessRogueQueryAeonDimensionsCsReq"
            }
            CmdChessRogueType::CmdChessRogueQueryCsReq => "CmdChessRogueQueryCsReq",
            CmdChessRogueType::CmdChessRogueUpdateReviveInfoScNotify => {
                "CmdChessRogueUpdateReviveInfoScNotify"
            }
            CmdChessRogueType::CmdEnhanceChessRogueBuffCsReq => {
                "CmdEnhanceChessRogueBuffCsReq"
            }
            CmdChessRogueType::CmdChessRogueReviveAvatarScRsp => {
                "CmdChessRogueReviveAvatarScRsp"
            }
            CmdChessRogueType::CmdChessRogueEnterScRsp => "CmdChessRogueEnterScRsp",
            CmdChessRogueType::CmdChessRogueNousEditDiceCsReq => {
                "CmdChessRogueNousEditDiceCsReq"
            }
            CmdChessRogueType::CmdChessRogueQuitScRsp => "CmdChessRogueQuitScRsp",
            CmdChessRogueType::CmdChessRogueEnterCellCsReq => {
                "CmdChessRogueEnterCellCsReq"
            }
            CmdChessRogueType::CmdChessRogueQueryBpScRsp => "CmdChessRogueQueryBpScRsp",
            CmdChessRogueType::CmdSyncChessRogueNousValueScNotify => {
                "CmdSyncChessRogueNousValueScNotify"
            }
            CmdChessRogueType::CmdChessRoguePickAvatarCsReq => {
                "CmdChessRoguePickAvatarCsReq"
            }
            CmdChessRogueType::CmdChessRogueEnterCsReq => "CmdChessRogueEnterCsReq",
            CmdChessRogueType::CmdGetChessRogueNousStoryInfoCsReq => {
                "CmdGetChessRogueNousStoryInfoCsReq"
            }
            CmdChessRogueType::CmdSyncChessRogueNousMainStoryScNotify => {
                "CmdSyncChessRogueNousMainStoryScNotify"
            }
            CmdChessRogueType::CmdChessRogueEnterNextLayerScRsp => {
                "CmdChessRogueEnterNextLayerScRsp"
            }
            CmdChessRogueType::CmdChessRogueQueryAeonDimensionsScRsp => {
                "CmdChessRogueQueryAeonDimensionsScRsp"
            }
            CmdChessRogueType::CmdChessRogueSkipTeachingLevelCsReq => {
                "CmdChessRogueSkipTeachingLevelCsReq"
            }
            CmdChessRogueType::CmdChessRogueGiveUpRollCsReq => {
                "CmdChessRogueGiveUpRollCsReq"
            }
            CmdChessRogueType::CmdChessRogueSelectBpCsReq => "CmdChessRogueSelectBpCsReq",
            CmdChessRogueType::CmdChessRogueNousEnableRogueTalentScRsp => {
                "CmdChessRogueNousEnableRogueTalentScRsp"
            }
            CmdChessRogueType::CmdChessRogueEnterCellScRsp => {
                "CmdChessRogueEnterCellScRsp"
            }
            CmdChessRogueType::CmdChessRogueReRollDiceScRsp => {
                "CmdChessRogueReRollDiceScRsp"
            }
            CmdChessRogueType::CmdEnhanceChessRogueBuffScRsp => {
                "CmdEnhanceChessRogueBuffScRsp"
            }
            CmdChessRogueType::CmdChessRogueQuitCsReq => "CmdChessRogueQuitCsReq",
            CmdChessRogueType::CmdChessRogueGoAheadCsReq => "CmdChessRogueGoAheadCsReq",
            CmdChessRogueType::CmdChessRoguePickAvatarScRsp => {
                "CmdChessRoguePickAvatarScRsp"
            }
            CmdChessRogueType::CmdChessRogueLeaveScRsp => "CmdChessRogueLeaveScRsp",
            CmdChessRogueType::CmdChessRogueNousDiceSurfaceUnlockNotify => {
                "CmdChessRogueNousDiceSurfaceUnlockNotify"
            }
            CmdChessRogueType::CmdChessRogueNousGetRogueTalentInfoCsReq => {
                "CmdChessRogueNousGetRogueTalentInfoCsReq"
            }
            CmdChessRogueType::CmdChessRogueSelectCellCsReq => {
                "CmdChessRogueSelectCellCsReq"
            }
            CmdChessRogueType::CmdChessRogueGiveUpScRsp => "CmdChessRogueGiveUpScRsp",
            CmdChessRogueType::CmdChessRogueUpdateActionPointScNotify => {
                "CmdChessRogueUpdateActionPointScNotify"
            }
            CmdChessRogueType::CmdChessRogueLayerAccountInfoNotify => {
                "CmdChessRogueLayerAccountInfoNotify"
            }
            CmdChessRogueType::CmdChessRogueStartScRsp => "CmdChessRogueStartScRsp",
            CmdChessRogueType::CmdFinishChessRogueSubStoryCsReq => {
                "CmdFinishChessRogueSubStoryCsReq"
            }
            CmdChessRogueType::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify => {
                "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify"
            }
            CmdChessRogueType::CmdChessRogueSelectCellScRsp => {
                "CmdChessRogueSelectCellScRsp"
            }
            CmdChessRogueType::CmdChessRogueQueryBpCsReq => "CmdChessRogueQueryBpCsReq",
            CmdChessRogueType::CmdSyncChessRogueNousSubStoryScNotify => {
                "CmdSyncChessRogueNousSubStoryScNotify"
            }
            CmdChessRogueType::CmdChessRogueCheatRollScRsp => {
                "CmdChessRogueCheatRollScRsp"
            }
            CmdChessRogueType::CmdSelectChessRogueNousSubStoryScRsp => {
                "CmdSelectChessRogueNousSubStoryScRsp"
            }
            CmdChessRogueType::CmdGetChessRogueNousStoryInfoScRsp => {
                "CmdGetChessRogueNousStoryInfoScRsp"
            }
            CmdChessRogueType::CmdChessRogueReviveAvatarCsReq => {
                "CmdChessRogueReviveAvatarCsReq"
            }
            CmdChessRogueType::CmdChessRogueQuestFinishNotify => {
                "CmdChessRogueQuestFinishNotify"
            }
            CmdChessRogueType::CmdChessRogueConfirmRollScRsp => {
                "CmdChessRogueConfirmRollScRsp"
            }
            CmdChessRogueType::CmdChessRogueRollDiceCsReq => "CmdChessRogueRollDiceCsReq",
            CmdChessRogueType::CmdChessRogueSelectBpScRsp => "CmdChessRogueSelectBpScRsp",
            CmdChessRogueType::CmdEnterChessRogueAeonRoomCsReq => {
                "CmdEnterChessRogueAeonRoomCsReq"
            }
            CmdChessRogueType::CmdChessRogueGiveUpRollScRsp => {
                "CmdChessRogueGiveUpRollScRsp"
            }
            CmdChessRogueType::CmdChessRogueGiveUpCsReq => "CmdChessRogueGiveUpCsReq",
            CmdChessRogueType::CmdChessRogueEnterNextLayerCsReq => {
                "CmdChessRogueEnterNextLayerCsReq"
            }
            CmdChessRogueType::CmdSyncChessRogueMainStoryFinishScNotify => {
                "CmdSyncChessRogueMainStoryFinishScNotify"
            }
            CmdChessRogueType::CmdChessRogueRollDiceScRsp => "CmdChessRogueRollDiceScRsp",
            CmdChessRogueType::CmdChessRogueConfirmRollCsReq => {
                "CmdChessRogueConfirmRollCsReq"
            }
            CmdChessRogueType::CmdChessRogueNousEditDiceScRsp => {
                "CmdChessRogueNousEditDiceScRsp"
            }
            CmdChessRogueType::CmdFinishChessRogueNousSubStoryCsReq => {
                "CmdFinishChessRogueNousSubStoryCsReq"
            }
            CmdChessRogueType::CmdChessRogueUpdateBoardScNotify => {
                "CmdChessRogueUpdateBoardScNotify"
            }
            CmdChessRogueType::CmdSelectChessRogueSubStoryScRsp => {
                "CmdSelectChessRogueSubStoryScRsp"
            }
            CmdChessRogueType::CmdChessRogueUpdateMoneyInfoScNotify => {
                "CmdChessRogueUpdateMoneyInfoScNotify"
            }
            CmdChessRogueType::CmdChessRogueNousGetRogueTalentInfoScRsp => {
                "CmdChessRogueNousGetRogueTalentInfoScRsp"
            }
            CmdChessRogueType::CmdGetChessRogueBuffEnhanceInfoScRsp => {
                "CmdGetChessRogueBuffEnhanceInfoScRsp"
            }
            CmdChessRogueType::CmdChessRogueStartCsReq => "CmdChessRogueStartCsReq",
            CmdChessRogueType::CmdChessRogueUpdateUnlockLevelScNotify => {
                "CmdChessRogueUpdateUnlockLevelScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChessRogueTypeNone" => Some(Self::None),
            "CmdChessRogueUpdateAllowedSelectCellScNotify" => {
                Some(Self::CmdChessRogueUpdateAllowedSelectCellScNotify)
            }
            "CmdChessRogueUpdateAeonModifierValueScNotify" => {
                Some(Self::CmdChessRogueUpdateAeonModifierValueScNotify)
            }
            "CmdChessRogueChangeyAeonDimensionNotify" => {
                Some(Self::CmdChessRogueChangeyAeonDimensionNotify)
            }
            "CmdChessRogueCellUpdateNotify" => Some(Self::CmdChessRogueCellUpdateNotify),
            "CmdGetChessRogueStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryInfoScRsp)
            }
            "CmdChessRogueMoveCellNotify" => Some(Self::CmdChessRogueMoveCellNotify),
            "CmdChessRogueFinishCurRoomNotify" => {
                Some(Self::CmdChessRogueFinishCurRoomNotify)
            }
            "CmdChessRogueNousDiceUpdateNotify" => {
                Some(Self::CmdChessRogueNousDiceUpdateNotify)
            }
            "CmdChessRogueSkipTeachingLevelScRsp" => {
                Some(Self::CmdChessRogueSkipTeachingLevelScRsp)
            }
            "CmdChessRogueReRollDiceCsReq" => Some(Self::CmdChessRogueReRollDiceCsReq),
            "CmdGetChessRogueStoryAeonTalkInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoScRsp)
            }
            "CmdChessRogueLeaveCsReq" => Some(Self::CmdChessRogueLeaveCsReq),
            "CmdSelectChessRogueNousSubStoryCsReq" => {
                Some(Self::CmdSelectChessRogueNousSubStoryCsReq)
            }
            "CmdSelectChessRogueSubStoryCsReq" => {
                Some(Self::CmdSelectChessRogueSubStoryCsReq)
            }
            "CmdFinishChessRogueNousSubStoryScRsp" => {
                Some(Self::CmdFinishChessRogueNousSubStoryScRsp)
            }
            "CmdFinishChessRogueSubStoryScRsp" => {
                Some(Self::CmdFinishChessRogueSubStoryScRsp)
            }
            "CmdChessRogueUpdateLevelBaseInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateLevelBaseInfoScNotify)
            }
            "CmdChessRogueGoAheadScRsp" => Some(Self::CmdChessRogueGoAheadScRsp),
            "CmdGetChessRogueStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryInfoCsReq)
            }
            "CmdEnterChessRogueAeonRoomScRsp" => {
                Some(Self::CmdEnterChessRogueAeonRoomScRsp)
            }
            "CmdChessRogueCheatRollCsReq" => Some(Self::CmdChessRogueCheatRollCsReq),
            "CmdGetChessRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetChessRogueBuffEnhanceInfoCsReq)
            }
            "CmdChessRogueUpdateDiceInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateDiceInfoScNotify)
            }
            "CmdChessRogueNousEnableRogueTalentCsReq" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentCsReq)
            }
            "CmdChessRogueQueryScRsp" => Some(Self::CmdChessRogueQueryScRsp),
            "CmdGetChessRogueStoryAeonTalkInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoCsReq)
            }
            "CmdChessRogueQueryAeonDimensionsCsReq" => {
                Some(Self::CmdChessRogueQueryAeonDimensionsCsReq)
            }
            "CmdChessRogueQueryCsReq" => Some(Self::CmdChessRogueQueryCsReq),
            "CmdChessRogueUpdateReviveInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateReviveInfoScNotify)
            }
            "CmdEnhanceChessRogueBuffCsReq" => Some(Self::CmdEnhanceChessRogueBuffCsReq),
            "CmdChessRogueReviveAvatarScRsp" => {
                Some(Self::CmdChessRogueReviveAvatarScRsp)
            }
            "CmdChessRogueEnterScRsp" => Some(Self::CmdChessRogueEnterScRsp),
            "CmdChessRogueNousEditDiceCsReq" => {
                Some(Self::CmdChessRogueNousEditDiceCsReq)
            }
            "CmdChessRogueQuitScRsp" => Some(Self::CmdChessRogueQuitScRsp),
            "CmdChessRogueEnterCellCsReq" => Some(Self::CmdChessRogueEnterCellCsReq),
            "CmdChessRogueQueryBpScRsp" => Some(Self::CmdChessRogueQueryBpScRsp),
            "CmdSyncChessRogueNousValueScNotify" => {
                Some(Self::CmdSyncChessRogueNousValueScNotify)
            }
            "CmdChessRoguePickAvatarCsReq" => Some(Self::CmdChessRoguePickAvatarCsReq),
            "CmdChessRogueEnterCsReq" => Some(Self::CmdChessRogueEnterCsReq),
            "CmdGetChessRogueNousStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueNousStoryInfoCsReq)
            }
            "CmdSyncChessRogueNousMainStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousMainStoryScNotify)
            }
            "CmdChessRogueEnterNextLayerScRsp" => {
                Some(Self::CmdChessRogueEnterNextLayerScRsp)
            }
            "CmdChessRogueQueryAeonDimensionsScRsp" => {
                Some(Self::CmdChessRogueQueryAeonDimensionsScRsp)
            }
            "CmdChessRogueSkipTeachingLevelCsReq" => {
                Some(Self::CmdChessRogueSkipTeachingLevelCsReq)
            }
            "CmdChessRogueGiveUpRollCsReq" => Some(Self::CmdChessRogueGiveUpRollCsReq),
            "CmdChessRogueSelectBpCsReq" => Some(Self::CmdChessRogueSelectBpCsReq),
            "CmdChessRogueNousEnableRogueTalentScRsp" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentScRsp)
            }
            "CmdChessRogueEnterCellScRsp" => Some(Self::CmdChessRogueEnterCellScRsp),
            "CmdChessRogueReRollDiceScRsp" => Some(Self::CmdChessRogueReRollDiceScRsp),
            "CmdEnhanceChessRogueBuffScRsp" => Some(Self::CmdEnhanceChessRogueBuffScRsp),
            "CmdChessRogueQuitCsReq" => Some(Self::CmdChessRogueQuitCsReq),
            "CmdChessRogueGoAheadCsReq" => Some(Self::CmdChessRogueGoAheadCsReq),
            "CmdChessRoguePickAvatarScRsp" => Some(Self::CmdChessRoguePickAvatarScRsp),
            "CmdChessRogueLeaveScRsp" => Some(Self::CmdChessRogueLeaveScRsp),
            "CmdChessRogueNousDiceSurfaceUnlockNotify" => {
                Some(Self::CmdChessRogueNousDiceSurfaceUnlockNotify)
            }
            "CmdChessRogueNousGetRogueTalentInfoCsReq" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoCsReq)
            }
            "CmdChessRogueSelectCellCsReq" => Some(Self::CmdChessRogueSelectCellCsReq),
            "CmdChessRogueGiveUpScRsp" => Some(Self::CmdChessRogueGiveUpScRsp),
            "CmdChessRogueUpdateActionPointScNotify" => {
                Some(Self::CmdChessRogueUpdateActionPointScNotify)
            }
            "CmdChessRogueLayerAccountInfoNotify" => {
                Some(Self::CmdChessRogueLayerAccountInfoNotify)
            }
            "CmdChessRogueStartScRsp" => Some(Self::CmdChessRogueStartScRsp),
            "CmdFinishChessRogueSubStoryCsReq" => {
                Some(Self::CmdFinishChessRogueSubStoryCsReq)
            }
            "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify" => {
                Some(Self::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify)
            }
            "CmdChessRogueSelectCellScRsp" => Some(Self::CmdChessRogueSelectCellScRsp),
            "CmdChessRogueQueryBpCsReq" => Some(Self::CmdChessRogueQueryBpCsReq),
            "CmdSyncChessRogueNousSubStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousSubStoryScNotify)
            }
            "CmdChessRogueCheatRollScRsp" => Some(Self::CmdChessRogueCheatRollScRsp),
            "CmdSelectChessRogueNousSubStoryScRsp" => {
                Some(Self::CmdSelectChessRogueNousSubStoryScRsp)
            }
            "CmdGetChessRogueNousStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueNousStoryInfoScRsp)
            }
            "CmdChessRogueReviveAvatarCsReq" => {
                Some(Self::CmdChessRogueReviveAvatarCsReq)
            }
            "CmdChessRogueQuestFinishNotify" => {
                Some(Self::CmdChessRogueQuestFinishNotify)
            }
            "CmdChessRogueConfirmRollScRsp" => Some(Self::CmdChessRogueConfirmRollScRsp),
            "CmdChessRogueRollDiceCsReq" => Some(Self::CmdChessRogueRollDiceCsReq),
            "CmdChessRogueSelectBpScRsp" => Some(Self::CmdChessRogueSelectBpScRsp),
            "CmdEnterChessRogueAeonRoomCsReq" => {
                Some(Self::CmdEnterChessRogueAeonRoomCsReq)
            }
            "CmdChessRogueGiveUpRollScRsp" => Some(Self::CmdChessRogueGiveUpRollScRsp),
            "CmdChessRogueGiveUpCsReq" => Some(Self::CmdChessRogueGiveUpCsReq),
            "CmdChessRogueEnterNextLayerCsReq" => {
                Some(Self::CmdChessRogueEnterNextLayerCsReq)
            }
            "CmdSyncChessRogueMainStoryFinishScNotify" => {
                Some(Self::CmdSyncChessRogueMainStoryFinishScNotify)
            }
            "CmdChessRogueRollDiceScRsp" => Some(Self::CmdChessRogueRollDiceScRsp),
            "CmdChessRogueConfirmRollCsReq" => Some(Self::CmdChessRogueConfirmRollCsReq),
            "CmdChessRogueNousEditDiceScRsp" => {
                Some(Self::CmdChessRogueNousEditDiceScRsp)
            }
            "CmdFinishChessRogueNousSubStoryCsReq" => {
                Some(Self::CmdFinishChessRogueNousSubStoryCsReq)
            }
            "CmdChessRogueUpdateBoardScNotify" => {
                Some(Self::CmdChessRogueUpdateBoardScNotify)
            }
            "CmdSelectChessRogueSubStoryScRsp" => {
                Some(Self::CmdSelectChessRogueSubStoryScRsp)
            }
            "CmdChessRogueUpdateMoneyInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateMoneyInfoScNotify)
            }
            "CmdChessRogueNousGetRogueTalentInfoScRsp" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoScRsp)
            }
            "CmdGetChessRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetChessRogueBuffEnhanceInfoScRsp)
            }
            "CmdChessRogueStartCsReq" => Some(Self::CmdChessRogueStartCsReq),
            "CmdChessRogueUpdateUnlockLevelScNotify" => {
                Some(Self::CmdChessRogueUpdateUnlockLevelScNotify)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jjhpamhfcef {
    ChessRogueDiceIdle = 0,
    ChessRogueDiceRolled = 1,
    ChessRogueDiceConfirmed = 2,
    ChessRogueDiceGiveup = 3,
}
impl Jjhpamhfcef {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jjhpamhfcef::ChessRogueDiceIdle => "CHESS_ROGUE_DICE_IDLE",
            Jjhpamhfcef::ChessRogueDiceRolled => "CHESS_ROGUE_DICE_ROLLED",
            Jjhpamhfcef::ChessRogueDiceConfirmed => "CHESS_ROGUE_DICE_CONFIRMED",
            Jjhpamhfcef::ChessRogueDiceGiveup => "CHESS_ROGUE_DICE_GIVEUP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_IDLE" => Some(Self::ChessRogueDiceIdle),
            "CHESS_ROGUE_DICE_ROLLED" => Some(Self::ChessRogueDiceRolled),
            "CHESS_ROGUE_DICE_CONFIRMED" => Some(Self::ChessRogueDiceConfirmed),
            "CHESS_ROGUE_DICE_GIVEUP" => Some(Self::ChessRogueDiceGiveup),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gnebieaojca {
    ChessRogueDiceFixed = 0,
    ChessRogueDiceEditable = 1,
}
impl Gnebieaojca {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gnebieaojca::ChessRogueDiceFixed => "CHESS_ROGUE_DICE_FIXED",
            Gnebieaojca::ChessRogueDiceEditable => "CHESS_ROGUE_DICE_EDITABLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_FIXED" => Some(Self::ChessRogueDiceFixed),
            "CHESS_ROGUE_DICE_EDITABLE" => Some(Self::ChessRogueDiceEditable),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pgnfehpijne {
    Idle = 0,
    Selected = 1,
    Processing = 2,
    Finish = 3,
}
impl Pgnfehpijne {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pgnfehpijne::Idle => "IDLE",
            Pgnfehpijne::Selected => "SELECTED",
            Pgnfehpijne::Processing => "PROCESSING",
            Pgnfehpijne::Finish => "FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IDLE" => Some(Self::Idle),
            "SELECTED" => Some(Self::Selected),
            "PROCESSING" => Some(Self::Processing),
            "FINISH" => Some(Self::Finish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lkokifliddm {
    ChessRogueCellSpecialTypeNone = 0,
    ChessRogueCellSpecialTypeLocked = 1,
    ChessRogueCellSpecialTypeReplicate = 2,
    ChessRogueCellSpecialTypeProtected = 3,
    ChessRogueCellSpecialTypeSeed = 4,
    ChessRogueCellSpecialTypeStamp = 5,
}
impl Lkokifliddm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lkokifliddm::ChessRogueCellSpecialTypeNone => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_NONE"
            }
            Lkokifliddm::ChessRogueCellSpecialTypeLocked => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_LOCKED"
            }
            Lkokifliddm::ChessRogueCellSpecialTypeReplicate => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_REPLICATE"
            }
            Lkokifliddm::ChessRogueCellSpecialTypeProtected => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_PROTECTED"
            }
            Lkokifliddm::ChessRogueCellSpecialTypeSeed => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_SEED"
            }
            Lkokifliddm::ChessRogueCellSpecialTypeStamp => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_STAMP"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_NONE" => {
                Some(Self::ChessRogueCellSpecialTypeNone)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_LOCKED" => {
                Some(Self::ChessRogueCellSpecialTypeLocked)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_REPLICATE" => {
                Some(Self::ChessRogueCellSpecialTypeReplicate)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_PROTECTED" => {
                Some(Self::ChessRogueCellSpecialTypeProtected)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_SEED" => {
                Some(Self::ChessRogueCellSpecialTypeSeed)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_STAMP" => {
                Some(Self::ChessRogueCellSpecialTypeStamp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Celhaknfjde {
    ChessRogueLevelIdle = 0,
    ChessRogueLevelProcessing = 1,
    ChessRogueLevelPending = 2,
    ChessRogueLevelFinish = 3,
    ChessRogueLevelFailed = 4,
    ChessRogueLevelForceFinish = 5,
}
impl Celhaknfjde {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Celhaknfjde::ChessRogueLevelIdle => "CHESS_ROGUE_LEVEL_IDLE",
            Celhaknfjde::ChessRogueLevelProcessing => "CHESS_ROGUE_LEVEL_PROCESSING",
            Celhaknfjde::ChessRogueLevelPending => "CHESS_ROGUE_LEVEL_PENDING",
            Celhaknfjde::ChessRogueLevelFinish => "CHESS_ROGUE_LEVEL_FINISH",
            Celhaknfjde::ChessRogueLevelFailed => "CHESS_ROGUE_LEVEL_FAILED",
            Celhaknfjde::ChessRogueLevelForceFinish => "CHESS_ROGUE_LEVEL_FORCE_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_LEVEL_IDLE" => Some(Self::ChessRogueLevelIdle),
            "CHESS_ROGUE_LEVEL_PROCESSING" => Some(Self::ChessRogueLevelProcessing),
            "CHESS_ROGUE_LEVEL_PENDING" => Some(Self::ChessRogueLevelPending),
            "CHESS_ROGUE_LEVEL_FINISH" => Some(Self::ChessRogueLevelFinish),
            "CHESS_ROGUE_LEVEL_FAILED" => Some(Self::ChessRogueLevelFailed),
            "CHESS_ROGUE_LEVEL_FORCE_FINISH" => Some(Self::ChessRogueLevelForceFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hbmofhgflkl {
    ChessRogueAccountByNone = 0,
    ChessRogueAccountByNormalFinish = 1,
    ChessRogueAccountByNormalQuit = 2,
    ChessRogueAccountByDialog = 3,
    ChessRogueAccountByFailed = 4,
    ChessRogueAccountByCustomOp = 5,
}
impl Hbmofhgflkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hbmofhgflkl::ChessRogueAccountByNone => "CHESS_ROGUE_ACCOUNT_BY_NONE",
            Hbmofhgflkl::ChessRogueAccountByNormalFinish => {
                "CHESS_ROGUE_ACCOUNT_BY_NORMAL_FINISH"
            }
            Hbmofhgflkl::ChessRogueAccountByNormalQuit => {
                "CHESS_ROGUE_ACCOUNT_BY_NORMAL_QUIT"
            }
            Hbmofhgflkl::ChessRogueAccountByDialog => "CHESS_ROGUE_ACCOUNT_BY_DIALOG",
            Hbmofhgflkl::ChessRogueAccountByFailed => "CHESS_ROGUE_ACCOUNT_BY_FAILED",
            Hbmofhgflkl::ChessRogueAccountByCustomOp => {
                "CHESS_ROGUE_ACCOUNT_BY_CUSTOM_OP"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_ACCOUNT_BY_NONE" => Some(Self::ChessRogueAccountByNone),
            "CHESS_ROGUE_ACCOUNT_BY_NORMAL_FINISH" => {
                Some(Self::ChessRogueAccountByNormalFinish)
            }
            "CHESS_ROGUE_ACCOUNT_BY_NORMAL_QUIT" => {
                Some(Self::ChessRogueAccountByNormalQuit)
            }
            "CHESS_ROGUE_ACCOUNT_BY_DIALOG" => Some(Self::ChessRogueAccountByDialog),
            "CHESS_ROGUE_ACCOUNT_BY_FAILED" => Some(Self::ChessRogueAccountByFailed),
            "CHESS_ROGUE_ACCOUNT_BY_CUSTOM_OP" => Some(Self::ChessRogueAccountByCustomOp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pdajmbkgihh {
    ChessRogueBuffSourceTypeNone = 0,
    ChessRogueBuffSourceTypeSelect = 1,
    ChessRogueBuffSourceTypeEnhance = 2,
    ChessRogueBuffSourceTypeMiracle = 3,
    ChessRogueBuffSourceTypeDialogue = 4,
    ChessRogueBuffSourceTypeBonus = 5,
    ChessRogueBuffSourceTypeShop = 6,
    ChessRogueBuffSourceTypeDice = 7,
    ChessRogueBuffSourceTypeAeon = 8,
    ChessRogueBuffSourceTypeMazeSkill = 9,
    ChessRogueBuffSourceTypeLevelMechanism = 10,
}
impl Pdajmbkgihh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pdajmbkgihh::ChessRogueBuffSourceTypeNone => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_NONE"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeSelect => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_SELECT"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeEnhance => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_ENHANCE"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeMiracle => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_MIRACLE"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeDialogue => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_DIALOGUE"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeBonus => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_BONUS"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeShop => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_SHOP"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeDice => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_DICE"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeAeon => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_AEON"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeMazeSkill => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL"
            }
            Pdajmbkgihh::ChessRogueBuffSourceTypeLevelMechanism => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueBuffSourceTypeNone)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_SELECT" => {
                Some(Self::ChessRogueBuffSourceTypeSelect)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_ENHANCE" => {
                Some(Self::ChessRogueBuffSourceTypeEnhance)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_MIRACLE" => {
                Some(Self::ChessRogueBuffSourceTypeMiracle)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::ChessRogueBuffSourceTypeDialogue)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_BONUS" => {
                Some(Self::ChessRogueBuffSourceTypeBonus)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_SHOP" => {
                Some(Self::ChessRogueBuffSourceTypeShop)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_DICE" => {
                Some(Self::ChessRogueBuffSourceTypeDice)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_AEON" => {
                Some(Self::ChessRogueBuffSourceTypeAeon)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::ChessRogueBuffSourceTypeMazeSkill)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::ChessRogueBuffSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bdcmmpidmjg {
    ChessRogueMiracleSourceTypeNone = 0,
    ChessRogueMiracleSourceTypeSelect = 1,
    ChessRogueMiracleSourceTypeDialogue = 2,
    ChessRogueMiracleSourceTypeBonus = 3,
    ChessRogueMiracleSourceTypeUse = 4,
    ChessRogueMiracleSourceTypeReset = 5,
    ChessRogueMiracleSourceTypeReplace = 6,
    ChessRogueMiracleSourceTypeTrade = 7,
    ChessRogueMiracleSourceTypeGet = 8,
    ChessRogueMiracleSourceTypeShop = 9,
    ChessRogueMiracleSourceTypeMazeSkill = 10,
    ChessRogueMiracleSourceTypeLevelMechanism = 11,
}
impl Bdcmmpidmjg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeNone => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_NONE"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeSelect => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SELECT"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeDialogue => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeBonus => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_BONUS"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeUse => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_USE"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeReset => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_RESET"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeReplace => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_REPLACE"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeTrade => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_TRADE"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeGet => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_GET"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeShop => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SHOP"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeMazeSkill => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL"
            }
            Bdcmmpidmjg::ChessRogueMiracleSourceTypeLevelMechanism => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueMiracleSourceTypeNone)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SELECT" => {
                Some(Self::ChessRogueMiracleSourceTypeSelect)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::ChessRogueMiracleSourceTypeDialogue)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_BONUS" => {
                Some(Self::ChessRogueMiracleSourceTypeBonus)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_USE" => {
                Some(Self::ChessRogueMiracleSourceTypeUse)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_RESET" => {
                Some(Self::ChessRogueMiracleSourceTypeReset)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_REPLACE" => {
                Some(Self::ChessRogueMiracleSourceTypeReplace)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_TRADE" => {
                Some(Self::ChessRogueMiracleSourceTypeTrade)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_GET" => {
                Some(Self::ChessRogueMiracleSourceTypeGet)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SHOP" => {
                Some(Self::ChessRogueMiracleSourceTypeShop)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::ChessRogueMiracleSourceTypeMazeSkill)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::ChessRogueMiracleSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mfmhhamodgn {
    ChessRogueUpdateLevelStatusByNone = 0,
    ChessRogueUpdateLevelStatusByDialog = 1,
}
impl Mfmhhamodgn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mfmhhamodgn::ChessRogueUpdateLevelStatusByNone => {
                "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_NONE"
            }
            Mfmhhamodgn::ChessRogueUpdateLevelStatusByDialog => {
                "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_DIALOG"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_NONE" => {
                Some(Self::ChessRogueUpdateLevelStatusByNone)
            }
            "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_DIALOG" => {
                Some(Self::ChessRogueUpdateLevelStatusByDialog)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bhaacimojdf {
    ChessRogueCellUpdateReasonNone = 0,
    ChessRogueCellUpdateReasonModifier = 1,
}
impl Bhaacimojdf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bhaacimojdf::ChessRogueCellUpdateReasonNone => {
                "CHESS_ROGUE_CELL_UPDATE_REASON_NONE"
            }
            Bhaacimojdf::ChessRogueCellUpdateReasonModifier => {
                "CHESS_ROGUE_CELL_UPDATE_REASON_MODIFIER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_CELL_UPDATE_REASON_NONE" => {
                Some(Self::ChessRogueCellUpdateReasonNone)
            }
            "CHESS_ROGUE_CELL_UPDATE_REASON_MODIFIER" => {
                Some(Self::ChessRogueCellUpdateReasonModifier)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mnnaddghcnn {
    ChessRogueAeonTypeNone = 0,
    ChessRogueAeonTypeKnight = 1,
    ChessRogueAeonTypeMemory = 2,
    ChessRogueAeonTypeWarlock = 3,
    ChessRogueAeonTypePriest = 4,
    ChessRogueAeonTypeRogue = 5,
    ChessRogueAeonTypeWarrior = 6,
    ChessRogueAeonTypeHappy = 7,
    ChessRogueAeonTypeBreed = 8,
}
impl Mnnaddghcnn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mnnaddghcnn::ChessRogueAeonTypeNone => "CHESS_ROGUE_AEON_TYPE_NONE",
            Mnnaddghcnn::ChessRogueAeonTypeKnight => "CHESS_ROGUE_AEON_TYPE_KNIGHT",
            Mnnaddghcnn::ChessRogueAeonTypeMemory => "CHESS_ROGUE_AEON_TYPE_MEMORY",
            Mnnaddghcnn::ChessRogueAeonTypeWarlock => "CHESS_ROGUE_AEON_TYPE_WARLOCK",
            Mnnaddghcnn::ChessRogueAeonTypePriest => "CHESS_ROGUE_AEON_TYPE_PRIEST",
            Mnnaddghcnn::ChessRogueAeonTypeRogue => "CHESS_ROGUE_AEON_TYPE_ROGUE",
            Mnnaddghcnn::ChessRogueAeonTypeWarrior => "CHESS_ROGUE_AEON_TYPE_WARRIOR",
            Mnnaddghcnn::ChessRogueAeonTypeHappy => "CHESS_ROGUE_AEON_TYPE_HAPPY",
            Mnnaddghcnn::ChessRogueAeonTypeBreed => "CHESS_ROGUE_AEON_TYPE_BREED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_AEON_TYPE_NONE" => Some(Self::ChessRogueAeonTypeNone),
            "CHESS_ROGUE_AEON_TYPE_KNIGHT" => Some(Self::ChessRogueAeonTypeKnight),
            "CHESS_ROGUE_AEON_TYPE_MEMORY" => Some(Self::ChessRogueAeonTypeMemory),
            "CHESS_ROGUE_AEON_TYPE_WARLOCK" => Some(Self::ChessRogueAeonTypeWarlock),
            "CHESS_ROGUE_AEON_TYPE_PRIEST" => Some(Self::ChessRogueAeonTypePriest),
            "CHESS_ROGUE_AEON_TYPE_ROGUE" => Some(Self::ChessRogueAeonTypeRogue),
            "CHESS_ROGUE_AEON_TYPE_WARRIOR" => Some(Self::ChessRogueAeonTypeWarrior),
            "CHESS_ROGUE_AEON_TYPE_HAPPY" => Some(Self::ChessRogueAeonTypeHappy),
            "CHESS_ROGUE_AEON_TYPE_BREED" => Some(Self::ChessRogueAeonTypeBreed),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Obbkgaollac {
    ChessRogueDiceSourceTypeNone = 0,
    ChessRogueDiceSourceTypeNormal = 1,
    ChessRogueDiceSourceTypeRepeat = 2,
    ChessRogueDiceSourceTypeCheat = 3,
}
impl Obbkgaollac {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Obbkgaollac::ChessRogueDiceSourceTypeNone => {
                "CHESS_ROGUE_DICE_SOURCE_TYPE_NONE"
            }
            Obbkgaollac::ChessRogueDiceSourceTypeNormal => {
                "CHESS_ROGUE_DICE_SOURCE_TYPE_NORMAL"
            }
            Obbkgaollac::ChessRogueDiceSourceTypeRepeat => {
                "CHESS_ROGUE_DICE_SOURCE_TYPE_REPEAT"
            }
            Obbkgaollac::ChessRogueDiceSourceTypeCheat => {
                "CHESS_ROGUE_DICE_SOURCE_TYPE_CHEAT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueDiceSourceTypeNone)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_NORMAL" => {
                Some(Self::ChessRogueDiceSourceTypeNormal)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_REPEAT" => {
                Some(Self::ChessRogueDiceSourceTypeRepeat)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_CHEAT" => {
                Some(Self::ChessRogueDiceSourceTypeCheat)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bbiemcjfpnf {
    ChessRogueNousMainStoryStatusNone = 0,
    ChessRogueNousMainStoryStatusUnlock = 1,
    ChessRogueNousMainStoryStatusFinish = 2,
    ChessRogueNousMainStoryStatusCanTrigger = 3,
}
impl Bbiemcjfpnf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bbiemcjfpnf::ChessRogueNousMainStoryStatusNone => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_NONE"
            }
            Bbiemcjfpnf::ChessRogueNousMainStoryStatusUnlock => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_UNLOCK"
            }
            Bbiemcjfpnf::ChessRogueNousMainStoryStatusFinish => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_FINISH"
            }
            Bbiemcjfpnf::ChessRogueNousMainStoryStatusCanTrigger => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_CAN_TRIGGER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_NONE" => {
                Some(Self::ChessRogueNousMainStoryStatusNone)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_UNLOCK" => {
                Some(Self::ChessRogueNousMainStoryStatusUnlock)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_FINISH" => {
                Some(Self::ChessRogueNousMainStoryStatusFinish)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_CAN_TRIGGER" => {
                Some(Self::ChessRogueNousMainStoryStatusCanTrigger)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jfoabfamapl {
    None = 0,
    PhaseOne = 1,
    PhaseTwo = 2,
}
impl Jfoabfamapl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jfoabfamapl::None => "NONE",
            Jfoabfamapl::PhaseOne => "PHASE_ONE",
            Jfoabfamapl::PhaseTwo => "PHASE_TWO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NONE" => Some(Self::None),
            "PHASE_ONE" => Some(Self::PhaseOne),
            "PHASE_TWO" => Some(Self::PhaseTwo),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdClockParkType {
    None = 0,
    CmdClockParkUnlockTalentScRsp = 7273,
    CmdClockParkUseBuffScRsp = 7256,
    CmdClockParkBattleEndScNotify = 7282,
    CmdClockParkUseBuffCsReq = 7270,
    CmdClockParkFinishScriptScNotify = 7249,
    CmdClockParkStartScriptCsReq = 7230,
    CmdClockParkQuitScriptScRsp = 7294,
    CmdClockParkGetOngoingScriptInfoScRsp = 7227,
    CmdClockParkGetInfoCsReq = 7261,
    CmdClockParkQuitScriptCsReq = 7247,
    CmdClockParkUnlockTalentCsReq = 7239,
    CmdClockParkStartScriptScRsp = 7271,
    CmdClockParkHandleWaitOperationScRsp = 7274,
    CmdClockParkGetInfoScRsp = 7288,
    CmdClockParkHandleWaitOperationCsReq = 7262,
    CmdClockParkGetOngoingScriptInfoCsReq = 7287,
}
impl CmdClockParkType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdClockParkType::None => "CmdClockParkTypeNone",
            CmdClockParkType::CmdClockParkUnlockTalentScRsp => {
                "CmdClockParkUnlockTalentScRsp"
            }
            CmdClockParkType::CmdClockParkUseBuffScRsp => "CmdClockParkUseBuffScRsp",
            CmdClockParkType::CmdClockParkBattleEndScNotify => {
                "CmdClockParkBattleEndScNotify"
            }
            CmdClockParkType::CmdClockParkUseBuffCsReq => "CmdClockParkUseBuffCsReq",
            CmdClockParkType::CmdClockParkFinishScriptScNotify => {
                "CmdClockParkFinishScriptScNotify"
            }
            CmdClockParkType::CmdClockParkStartScriptCsReq => {
                "CmdClockParkStartScriptCsReq"
            }
            CmdClockParkType::CmdClockParkQuitScriptScRsp => {
                "CmdClockParkQuitScriptScRsp"
            }
            CmdClockParkType::CmdClockParkGetOngoingScriptInfoScRsp => {
                "CmdClockParkGetOngoingScriptInfoScRsp"
            }
            CmdClockParkType::CmdClockParkGetInfoCsReq => "CmdClockParkGetInfoCsReq",
            CmdClockParkType::CmdClockParkQuitScriptCsReq => {
                "CmdClockParkQuitScriptCsReq"
            }
            CmdClockParkType::CmdClockParkUnlockTalentCsReq => {
                "CmdClockParkUnlockTalentCsReq"
            }
            CmdClockParkType::CmdClockParkStartScriptScRsp => {
                "CmdClockParkStartScriptScRsp"
            }
            CmdClockParkType::CmdClockParkHandleWaitOperationScRsp => {
                "CmdClockParkHandleWaitOperationScRsp"
            }
            CmdClockParkType::CmdClockParkGetInfoScRsp => "CmdClockParkGetInfoScRsp",
            CmdClockParkType::CmdClockParkHandleWaitOperationCsReq => {
                "CmdClockParkHandleWaitOperationCsReq"
            }
            CmdClockParkType::CmdClockParkGetOngoingScriptInfoCsReq => {
                "CmdClockParkGetOngoingScriptInfoCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdClockParkTypeNone" => Some(Self::None),
            "CmdClockParkUnlockTalentScRsp" => Some(Self::CmdClockParkUnlockTalentScRsp),
            "CmdClockParkUseBuffScRsp" => Some(Self::CmdClockParkUseBuffScRsp),
            "CmdClockParkBattleEndScNotify" => Some(Self::CmdClockParkBattleEndScNotify),
            "CmdClockParkUseBuffCsReq" => Some(Self::CmdClockParkUseBuffCsReq),
            "CmdClockParkFinishScriptScNotify" => {
                Some(Self::CmdClockParkFinishScriptScNotify)
            }
            "CmdClockParkStartScriptCsReq" => Some(Self::CmdClockParkStartScriptCsReq),
            "CmdClockParkQuitScriptScRsp" => Some(Self::CmdClockParkQuitScriptScRsp),
            "CmdClockParkGetOngoingScriptInfoScRsp" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoScRsp)
            }
            "CmdClockParkGetInfoCsReq" => Some(Self::CmdClockParkGetInfoCsReq),
            "CmdClockParkQuitScriptCsReq" => Some(Self::CmdClockParkQuitScriptCsReq),
            "CmdClockParkUnlockTalentCsReq" => Some(Self::CmdClockParkUnlockTalentCsReq),
            "CmdClockParkStartScriptScRsp" => Some(Self::CmdClockParkStartScriptScRsp),
            "CmdClockParkHandleWaitOperationScRsp" => {
                Some(Self::CmdClockParkHandleWaitOperationScRsp)
            }
            "CmdClockParkGetInfoScRsp" => Some(Self::CmdClockParkGetInfoScRsp),
            "CmdClockParkHandleWaitOperationCsReq" => {
                Some(Self::CmdClockParkHandleWaitOperationCsReq)
            }
            "CmdClockParkGetOngoingScriptInfoCsReq" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lccaokhchao {
    ClockParkPlayNone = 0,
    ClockParkPlayNormalDeath = 1,
    ClockParkPlayNormalPass = 2,
    ClockParkPlayFinishScript = 5,
}
impl Lccaokhchao {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lccaokhchao::ClockParkPlayNone => "CLOCK_PARK_PLAY_NONE",
            Lccaokhchao::ClockParkPlayNormalDeath => "CLOCK_PARK_PLAY_NORMAL_DEATH",
            Lccaokhchao::ClockParkPlayNormalPass => "CLOCK_PARK_PLAY_NORMAL_PASS",
            Lccaokhchao::ClockParkPlayFinishScript => "CLOCK_PARK_PLAY_FINISH_SCRIPT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CLOCK_PARK_PLAY_NONE" => Some(Self::ClockParkPlayNone),
            "CLOCK_PARK_PLAY_NORMAL_DEATH" => Some(Self::ClockParkPlayNormalDeath),
            "CLOCK_PARK_PLAY_NORMAL_PASS" => Some(Self::ClockParkPlayNormalPass),
            "CLOCK_PARK_PLAY_FINISH_SCRIPT" => Some(Self::ClockParkPlayFinishScript),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MissionStatus {
    MissionNone = 0,
    MissionDoing = 1,
    MissionFinish = 2,
    MissionPrepared = 3,
}
impl MissionStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MissionStatus::MissionNone => "MISSION_NONE",
            MissionStatus::MissionDoing => "MISSION_DOING",
            MissionStatus::MissionFinish => "MISSION_FINISH",
            MissionStatus::MissionPrepared => "MISSION_PREPARED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MISSION_NONE" => Some(Self::MissionNone),
            "MISSION_DOING" => Some(Self::MissionDoing),
            "MISSION_FINISH" => Some(Self::MissionFinish),
            "MISSION_PREPARED" => Some(Self::MissionPrepared),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cpfadidefce {
    MessageSectionNone = 0,
    MessageSectionDoing = 1,
    MessageSectionFinish = 2,
    MessageSectionFrozen = 3,
}
impl Cpfadidefce {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cpfadidefce::MessageSectionNone => "MESSAGE_SECTION_NONE",
            Cpfadidefce::MessageSectionDoing => "MESSAGE_SECTION_DOING",
            Cpfadidefce::MessageSectionFinish => "MESSAGE_SECTION_FINISH",
            Cpfadidefce::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(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jeiomeagmoj {
    MessageGroupNone = 0,
    MessageGroupDoing = 1,
    MessageGroupFinish = 2,
    MessageGroupFrozen = 3,
}
impl Jeiomeagmoj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jeiomeagmoj::MessageGroupNone => "MESSAGE_GROUP_NONE",
            Jeiomeagmoj::MessageGroupDoing => "MESSAGE_GROUP_DOING",
            Jeiomeagmoj::MessageGroupFinish => "MESSAGE_GROUP_FINISH",
            Jeiomeagmoj::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(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kmmiecegekn {
    BattleRecordNone = 0,
    BattleRecordChallenge = 1,
    BattleRecordRogue = 2,
}
impl Kmmiecegekn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kmmiecegekn::BattleRecordNone => "BATTLE_RECORD_NONE",
            Kmmiecegekn::BattleRecordChallenge => "BATTLE_RECORD_CHALLENGE",
            Kmmiecegekn::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(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cmknmggeipi {
    RebattleTypeNone = 0,
    RebattleTypeRebattleMidway = 1,
    RebattleTypeRebattleLose = 2,
    RebattleTypeRebattleMidwayLineup = 3,
    RebattleTypeRebattleLoseLineup = 4,
    RebattleTypeQuitMidway = 5,
    RebattleTypeQuitLose = 6,
}
impl Cmknmggeipi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cmknmggeipi::RebattleTypeNone => "REBATTLE_TYPE_NONE",
            Cmknmggeipi::RebattleTypeRebattleMidway => "REBATTLE_TYPE_REBATTLE_MIDWAY",
            Cmknmggeipi::RebattleTypeRebattleLose => "REBATTLE_TYPE_REBATTLE_LOSE",
            Cmknmggeipi::RebattleTypeRebattleMidwayLineup => {
                "REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP"
            }
            Cmknmggeipi::RebattleTypeRebattleLoseLineup => {
                "REBATTLE_TYPE_REBATTLE_LOSE_LINEUP"
            }
            Cmknmggeipi::RebattleTypeQuitMidway => "REBATTLE_TYPE_QUIT_MIDWAY",
            Cmknmggeipi::RebattleTypeQuitLose => "REBATTLE_TYPE_QUIT_LOSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "REBATTLE_TYPE_NONE" => Some(Self::RebattleTypeNone),
            "REBATTLE_TYPE_REBATTLE_MIDWAY" => Some(Self::RebattleTypeRebattleMidway),
            "REBATTLE_TYPE_REBATTLE_LOSE" => Some(Self::RebattleTypeRebattleLose),
            "REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP" => {
                Some(Self::RebattleTypeRebattleMidwayLineup)
            }
            "REBATTLE_TYPE_REBATTLE_LOSE_LINEUP" => {
                Some(Self::RebattleTypeRebattleLoseLineup)
            }
            "REBATTLE_TYPE_QUIT_MIDWAY" => Some(Self::RebattleTypeQuitMidway),
            "REBATTLE_TYPE_QUIT_LOSE" => Some(Self::RebattleTypeQuitLose),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Olngclnnaie {
    ContentPackageStatusNone = 0,
    ContentPackageStatusInit = 1,
    ContentPackageStatusDoing = 2,
    ContentPackageStatusFinished = 3,
}
impl Olngclnnaie {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Olngclnnaie::ContentPackageStatusNone => "ContentPackageStatus_None",
            Olngclnnaie::ContentPackageStatusInit => "ContentPackageStatus_Init",
            Olngclnnaie::ContentPackageStatusDoing => "ContentPackageStatus_Doing",
            Olngclnnaie::ContentPackageStatusFinished => "ContentPackageStatus_Finished",
        }
    }
    /// 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::ContentPackageStatusNone),
            "ContentPackageStatus_Init" => Some(Self::ContentPackageStatusInit),
            "ContentPackageStatus_Doing" => Some(Self::ContentPackageStatusDoing),
            "ContentPackageStatus_Finished" => Some(Self::ContentPackageStatusFinished),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdContentPackageType {
    None = 0,
    CmdContentPackageGetDataCsReq = 7495,
    CmdContentPackageSyncDataScNotify = 7470,
    CmdContentPackageUnlockScRsp = 7474,
    CmdContentPackageGetDataScRsp = 7467,
    CmdContentPackageUnlockCsReq = 7463,
}
impl CmdContentPackageType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdContentPackageType::None => "CmdContentPackageTypeNone",
            CmdContentPackageType::CmdContentPackageGetDataCsReq => {
                "CmdContentPackageGetDataCsReq"
            }
            CmdContentPackageType::CmdContentPackageSyncDataScNotify => {
                "CmdContentPackageSyncDataScNotify"
            }
            CmdContentPackageType::CmdContentPackageUnlockScRsp => {
                "CmdContentPackageUnlockScRsp"
            }
            CmdContentPackageType::CmdContentPackageGetDataScRsp => {
                "CmdContentPackageGetDataScRsp"
            }
            CmdContentPackageType::CmdContentPackageUnlockCsReq => {
                "CmdContentPackageUnlockCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdContentPackageTypeNone" => Some(Self::None),
            "CmdContentPackageGetDataCsReq" => Some(Self::CmdContentPackageGetDataCsReq),
            "CmdContentPackageSyncDataScNotify" => {
                Some(Self::CmdContentPackageSyncDataScNotify)
            }
            "CmdContentPackageUnlockScRsp" => Some(Self::CmdContentPackageUnlockScRsp),
            "CmdContentPackageGetDataScRsp" => Some(Self::CmdContentPackageGetDataScRsp),
            "CmdContentPackageUnlockCsReq" => Some(Self::CmdContentPackageUnlockCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDailyActiveType {
    None = 0,
    CmdGetDailyActiveInfoScRsp = 3320,
    CmdGetDailyActiveInfoCsReq = 3391,
    CmdDailyActiveInfoNotify = 3339,
    CmdTakeAllApRewardCsReq = 3373,
    CmdTakeAllApRewardScRsp = 3330,
    CmdTakeApRewardScRsp = 3388,
    CmdTakeApRewardCsReq = 3361,
}
impl CmdDailyActiveType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdDailyActiveType::None => "CmdDailyActiveTypeNone",
            CmdDailyActiveType::CmdGetDailyActiveInfoScRsp => {
                "CmdGetDailyActiveInfoScRsp"
            }
            CmdDailyActiveType::CmdGetDailyActiveInfoCsReq => {
                "CmdGetDailyActiveInfoCsReq"
            }
            CmdDailyActiveType::CmdDailyActiveInfoNotify => "CmdDailyActiveInfoNotify",
            CmdDailyActiveType::CmdTakeAllApRewardCsReq => "CmdTakeAllApRewardCsReq",
            CmdDailyActiveType::CmdTakeAllApRewardScRsp => "CmdTakeAllApRewardScRsp",
            CmdDailyActiveType::CmdTakeApRewardScRsp => "CmdTakeApRewardScRsp",
            CmdDailyActiveType::CmdTakeApRewardCsReq => "CmdTakeApRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdDailyActiveTypeNone" => Some(Self::None),
            "CmdGetDailyActiveInfoScRsp" => Some(Self::CmdGetDailyActiveInfoScRsp),
            "CmdGetDailyActiveInfoCsReq" => Some(Self::CmdGetDailyActiveInfoCsReq),
            "CmdDailyActiveInfoNotify" => Some(Self::CmdDailyActiveInfoNotify),
            "CmdTakeAllApRewardCsReq" => Some(Self::CmdTakeAllApRewardCsReq),
            "CmdTakeAllApRewardScRsp" => Some(Self::CmdTakeAllApRewardScRsp),
            "CmdTakeApRewardScRsp" => Some(Self::CmdTakeApRewardScRsp),
            "CmdTakeApRewardCsReq" => Some(Self::CmdTakeApRewardCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDrinkMakerType {
    None = 0,
    CmdDrinkMakerUpdateTipsNotify = 6990,
    CmdMakeDrinkCsReq = 6987,
    CmdDrinkMakerChallengeScRsp = 6996,
    CmdMakeMissionDrinkScRsp = 6993,
    CmdDrinkMakerDayEndScNotify = 6991,
    CmdEndDrinkMakerSequenceCsReq = 6999,
    CmdGetDrinkMakerDataScRsp = 6982,
    CmdEndDrinkMakerSequenceScRsp = 6994,
    CmdGetDrinkMakerDataCsReq = 6989,
    CmdDrinkMakerChallengeCsReq = 6992,
    CmdMakeDrinkScRsp = 6983,
    CmdMakeMissionDrinkCsReq = 6995,
}
impl CmdDrinkMakerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdDrinkMakerType::None => "CmdDrinkMakerTypeNone",
            CmdDrinkMakerType::CmdDrinkMakerUpdateTipsNotify => {
                "CmdDrinkMakerUpdateTipsNotify"
            }
            CmdDrinkMakerType::CmdMakeDrinkCsReq => "CmdMakeDrinkCsReq",
            CmdDrinkMakerType::CmdDrinkMakerChallengeScRsp => {
                "CmdDrinkMakerChallengeScRsp"
            }
            CmdDrinkMakerType::CmdMakeMissionDrinkScRsp => "CmdMakeMissionDrinkScRsp",
            CmdDrinkMakerType::CmdDrinkMakerDayEndScNotify => {
                "CmdDrinkMakerDayEndScNotify"
            }
            CmdDrinkMakerType::CmdEndDrinkMakerSequenceCsReq => {
                "CmdEndDrinkMakerSequenceCsReq"
            }
            CmdDrinkMakerType::CmdGetDrinkMakerDataScRsp => "CmdGetDrinkMakerDataScRsp",
            CmdDrinkMakerType::CmdEndDrinkMakerSequenceScRsp => {
                "CmdEndDrinkMakerSequenceScRsp"
            }
            CmdDrinkMakerType::CmdGetDrinkMakerDataCsReq => "CmdGetDrinkMakerDataCsReq",
            CmdDrinkMakerType::CmdDrinkMakerChallengeCsReq => {
                "CmdDrinkMakerChallengeCsReq"
            }
            CmdDrinkMakerType::CmdMakeDrinkScRsp => "CmdMakeDrinkScRsp",
            CmdDrinkMakerType::CmdMakeMissionDrinkCsReq => "CmdMakeMissionDrinkCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdDrinkMakerTypeNone" => Some(Self::None),
            "CmdDrinkMakerUpdateTipsNotify" => Some(Self::CmdDrinkMakerUpdateTipsNotify),
            "CmdMakeDrinkCsReq" => Some(Self::CmdMakeDrinkCsReq),
            "CmdDrinkMakerChallengeScRsp" => Some(Self::CmdDrinkMakerChallengeScRsp),
            "CmdMakeMissionDrinkScRsp" => Some(Self::CmdMakeMissionDrinkScRsp),
            "CmdDrinkMakerDayEndScNotify" => Some(Self::CmdDrinkMakerDayEndScNotify),
            "CmdEndDrinkMakerSequenceCsReq" => Some(Self::CmdEndDrinkMakerSequenceCsReq),
            "CmdGetDrinkMakerDataScRsp" => Some(Self::CmdGetDrinkMakerDataScRsp),
            "CmdEndDrinkMakerSequenceScRsp" => Some(Self::CmdEndDrinkMakerSequenceScRsp),
            "CmdGetDrinkMakerDataCsReq" => Some(Self::CmdGetDrinkMakerDataCsReq),
            "CmdDrinkMakerChallengeCsReq" => Some(Self::CmdDrinkMakerChallengeCsReq),
            "CmdMakeDrinkScRsp" => Some(Self::CmdMakeDrinkScRsp),
            "CmdMakeMissionDrinkCsReq" => Some(Self::CmdMakeMissionDrinkCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEvolveBuildType {
    CmdEvolveBuildNone = 0,
    CmdEvolveBuildTakeExpRewardScRsp = 7115,
    CmdEvolveBuildShopAbilityDownScRsp = 7143,
    CmdEvolveBuildQueryInfoCsReq = 7145,
    CmdEvolveBuildShopAbilityDownCsReq = 7148,
    CmdEvolveBuildQueryInfoScRsp = 7117,
    CmdEvolveBuildTakeExpRewardCsReq = 7150,
    CmdEvolveBuildReRandomStageCsReq = 7105,
    CmdEvolveBuildShopAbilityResetScRsp = 7108,
    CmdEvolveBuildGiveupScRsp = 7103,
    CmdEvolveBuildReRandomStageScRsp = 7129,
    CmdEvolveBuildCoinNotify = 7136,
    CmdEvolveBuildUnlockInfoNotify = 7132,
    CmdEvolveBuildShopAbilityUpCsReq = 7107,
    CmdEvolveBuildShopAbilityUpScRsp = 7114,
    CmdEvolveBuildFinishScNotify = 7140,
    CmdEvolveBuildStartLevelScRsp = 7113,
    CmdEvolveBuildStartStageScRsp = 7128,
    CmdEvolveBuildStartStageCsReq = 7124,
    CmdEvolveBuildStartLevelCsReq = 7120,
    CmdEvolveBuildLeaveCsReq = 7127,
    CmdEvolveBuildGiveupCsReq = 7133,
    CmdEvolveBuildShopAbilityResetCsReq = 7131,
    CmdEvolveBuildLeaveScRsp = 7106,
}
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 {
            CmdEvolveBuildType::CmdEvolveBuildNone => "CmdEvolveBuildNone",
            CmdEvolveBuildType::CmdEvolveBuildTakeExpRewardScRsp => {
                "CmdEvolveBuildTakeExpRewardScRsp"
            }
            CmdEvolveBuildType::CmdEvolveBuildShopAbilityDownScRsp => {
                "CmdEvolveBuildShopAbilityDownScRsp"
            }
            CmdEvolveBuildType::CmdEvolveBuildQueryInfoCsReq => {
                "CmdEvolveBuildQueryInfoCsReq"
            }
            CmdEvolveBuildType::CmdEvolveBuildShopAbilityDownCsReq => {
                "CmdEvolveBuildShopAbilityDownCsReq"
            }
            CmdEvolveBuildType::CmdEvolveBuildQueryInfoScRsp => {
                "CmdEvolveBuildQueryInfoScRsp"
            }
            CmdEvolveBuildType::CmdEvolveBuildTakeExpRewardCsReq => {
                "CmdEvolveBuildTakeExpRewardCsReq"
            }
            CmdEvolveBuildType::CmdEvolveBuildReRandomStageCsReq => {
                "CmdEvolveBuildReRandomStageCsReq"
            }
            CmdEvolveBuildType::CmdEvolveBuildShopAbilityResetScRsp => {
                "CmdEvolveBuildShopAbilityResetScRsp"
            }
            CmdEvolveBuildType::CmdEvolveBuildGiveupScRsp => "CmdEvolveBuildGiveupScRsp",
            CmdEvolveBuildType::CmdEvolveBuildReRandomStageScRsp => {
                "CmdEvolveBuildReRandomStageScRsp"
            }
            CmdEvolveBuildType::CmdEvolveBuildCoinNotify => "CmdEvolveBuildCoinNotify",
            CmdEvolveBuildType::CmdEvolveBuildUnlockInfoNotify => {
                "CmdEvolveBuildUnlockInfoNotify"
            }
            CmdEvolveBuildType::CmdEvolveBuildShopAbilityUpCsReq => {
                "CmdEvolveBuildShopAbilityUpCsReq"
            }
            CmdEvolveBuildType::CmdEvolveBuildShopAbilityUpScRsp => {
                "CmdEvolveBuildShopAbilityUpScRsp"
            }
            CmdEvolveBuildType::CmdEvolveBuildFinishScNotify => {
                "CmdEvolveBuildFinishScNotify"
            }
            CmdEvolveBuildType::CmdEvolveBuildStartLevelScRsp => {
                "CmdEvolveBuildStartLevelScRsp"
            }
            CmdEvolveBuildType::CmdEvolveBuildStartStageScRsp => {
                "CmdEvolveBuildStartStageScRsp"
            }
            CmdEvolveBuildType::CmdEvolveBuildStartStageCsReq => {
                "CmdEvolveBuildStartStageCsReq"
            }
            CmdEvolveBuildType::CmdEvolveBuildStartLevelCsReq => {
                "CmdEvolveBuildStartLevelCsReq"
            }
            CmdEvolveBuildType::CmdEvolveBuildLeaveCsReq => "CmdEvolveBuildLeaveCsReq",
            CmdEvolveBuildType::CmdEvolveBuildGiveupCsReq => "CmdEvolveBuildGiveupCsReq",
            CmdEvolveBuildType::CmdEvolveBuildShopAbilityResetCsReq => {
                "CmdEvolveBuildShopAbilityResetCsReq"
            }
            CmdEvolveBuildType::CmdEvolveBuildLeaveScRsp => "CmdEvolveBuildLeaveScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdEvolveBuildNone" => Some(Self::CmdEvolveBuildNone),
            "CmdEvolveBuildTakeExpRewardScRsp" => {
                Some(Self::CmdEvolveBuildTakeExpRewardScRsp)
            }
            "CmdEvolveBuildShopAbilityDownScRsp" => {
                Some(Self::CmdEvolveBuildShopAbilityDownScRsp)
            }
            "CmdEvolveBuildQueryInfoCsReq" => Some(Self::CmdEvolveBuildQueryInfoCsReq),
            "CmdEvolveBuildShopAbilityDownCsReq" => {
                Some(Self::CmdEvolveBuildShopAbilityDownCsReq)
            }
            "CmdEvolveBuildQueryInfoScRsp" => Some(Self::CmdEvolveBuildQueryInfoScRsp),
            "CmdEvolveBuildTakeExpRewardCsReq" => {
                Some(Self::CmdEvolveBuildTakeExpRewardCsReq)
            }
            "CmdEvolveBuildReRandomStageCsReq" => {
                Some(Self::CmdEvolveBuildReRandomStageCsReq)
            }
            "CmdEvolveBuildShopAbilityResetScRsp" => {
                Some(Self::CmdEvolveBuildShopAbilityResetScRsp)
            }
            "CmdEvolveBuildGiveupScRsp" => Some(Self::CmdEvolveBuildGiveupScRsp),
            "CmdEvolveBuildReRandomStageScRsp" => {
                Some(Self::CmdEvolveBuildReRandomStageScRsp)
            }
            "CmdEvolveBuildCoinNotify" => Some(Self::CmdEvolveBuildCoinNotify),
            "CmdEvolveBuildUnlockInfoNotify" => {
                Some(Self::CmdEvolveBuildUnlockInfoNotify)
            }
            "CmdEvolveBuildShopAbilityUpCsReq" => {
                Some(Self::CmdEvolveBuildShopAbilityUpCsReq)
            }
            "CmdEvolveBuildShopAbilityUpScRsp" => {
                Some(Self::CmdEvolveBuildShopAbilityUpScRsp)
            }
            "CmdEvolveBuildFinishScNotify" => Some(Self::CmdEvolveBuildFinishScNotify),
            "CmdEvolveBuildStartLevelScRsp" => Some(Self::CmdEvolveBuildStartLevelScRsp),
            "CmdEvolveBuildStartStageScRsp" => Some(Self::CmdEvolveBuildStartStageScRsp),
            "CmdEvolveBuildStartStageCsReq" => Some(Self::CmdEvolveBuildStartStageCsReq),
            "CmdEvolveBuildStartLevelCsReq" => Some(Self::CmdEvolveBuildStartLevelCsReq),
            "CmdEvolveBuildLeaveCsReq" => Some(Self::CmdEvolveBuildLeaveCsReq),
            "CmdEvolveBuildGiveupCsReq" => Some(Self::CmdEvolveBuildGiveupCsReq),
            "CmdEvolveBuildShopAbilityResetCsReq" => {
                Some(Self::CmdEvolveBuildShopAbilityResetCsReq)
            }
            "CmdEvolveBuildLeaveScRsp" => Some(Self::CmdEvolveBuildLeaveScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gmojpmofmko {
    EvolvePeriodNone = 0,
    EvolvePeriodFirst = 1,
    EvolvePeriodSecond = 2,
    EvolvePeriodThird = 3,
    EvolvePeriodExtra = 4,
}
impl Gmojpmofmko {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gmojpmofmko::EvolvePeriodNone => "EVOLVE_PERIOD_NONE",
            Gmojpmofmko::EvolvePeriodFirst => "EVOLVE_PERIOD_FIRST",
            Gmojpmofmko::EvolvePeriodSecond => "EVOLVE_PERIOD_SECOND",
            Gmojpmofmko::EvolvePeriodThird => "EVOLVE_PERIOD_THIRD",
            Gmojpmofmko::EvolvePeriodExtra => "EVOLVE_PERIOD_EXTRA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVOLVE_PERIOD_NONE" => Some(Self::EvolvePeriodNone),
            "EVOLVE_PERIOD_FIRST" => Some(Self::EvolvePeriodFirst),
            "EVOLVE_PERIOD_SECOND" => Some(Self::EvolvePeriodSecond),
            "EVOLVE_PERIOD_THIRD" => Some(Self::EvolvePeriodThird),
            "EVOLVE_PERIOD_EXTRA" => Some(Self::EvolvePeriodExtra),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dbinnehjfah {
    EvolveBattleResultNone = 0,
    EvolveBattleResultWin = 1,
    EvolveBattleResultAllAvatarDead = 2,
    EvolveBattleResultNoDeadLine = 3,
    EvolveBattleResultQuit = 4,
}
impl Dbinnehjfah {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dbinnehjfah::EvolveBattleResultNone => "EVOLVE_BATTLE_RESULT_NONE",
            Dbinnehjfah::EvolveBattleResultWin => "EVOLVE_BATTLE_RESULT_WIN",
            Dbinnehjfah::EvolveBattleResultAllAvatarDead => {
                "EVOLVE_BATTLE_RESULT_ALL_AVATAR_DEAD"
            }
            Dbinnehjfah::EvolveBattleResultNoDeadLine => {
                "EVOLVE_BATTLE_RESULT_NO_DEAD_LINE"
            }
            Dbinnehjfah::EvolveBattleResultQuit => "EVOLVE_BATTLE_RESULT_QUIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVOLVE_BATTLE_RESULT_NONE" => Some(Self::EvolveBattleResultNone),
            "EVOLVE_BATTLE_RESULT_WIN" => Some(Self::EvolveBattleResultWin),
            "EVOLVE_BATTLE_RESULT_ALL_AVATAR_DEAD" => {
                Some(Self::EvolveBattleResultAllAvatarDead)
            }
            "EVOLVE_BATTLE_RESULT_NO_DEAD_LINE" => {
                Some(Self::EvolveBattleResultNoDeadLine)
            }
            "EVOLVE_BATTLE_RESULT_QUIT" => Some(Self::EvolveBattleResultQuit),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdExpeditionType {
    None = 0,
    CmdTakeExpeditionRewardCsReq = 2530,
    CmdGetExpeditionDataScRsp = 2588,
    CmdTakeMultipleExpeditionRewardCsReq = 2503,
    CmdCancelExpeditionCsReq = 2539,
    CmdAcceptActivityExpeditionScRsp = 2562,
    CmdCancelActivityExpeditionCsReq = 2574,
    CmdCancelExpeditionScRsp = 2573,
    CmdExpeditionDataChangeScNotify = 2587,
    CmdGetExpeditionDataCsReq = 2561,
    CmdAcceptMultipleExpeditionScRsp = 2582,
    CmdAcceptActivityExpeditionCsReq = 2527,
    CmdTakeExpeditionRewardScRsp = 2571,
    CmdCancelActivityExpeditionScRsp = 2547,
    CmdAcceptExpeditionScRsp = 2520,
    CmdTakeActivityExpeditionRewardScRsp = 2596,
    CmdAcceptMultipleExpeditionCsReq = 2521,
    CmdAcceptExpeditionCsReq = 2591,
    CmdTakeMultipleExpeditionRewardScRsp = 2570,
    CmdTakeActivityExpeditionRewardCsReq = 2594,
}
impl CmdExpeditionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdExpeditionType::None => "CmdExpeditionTypeNone",
            CmdExpeditionType::CmdTakeExpeditionRewardCsReq => {
                "CmdTakeExpeditionRewardCsReq"
            }
            CmdExpeditionType::CmdGetExpeditionDataScRsp => "CmdGetExpeditionDataScRsp",
            CmdExpeditionType::CmdTakeMultipleExpeditionRewardCsReq => {
                "CmdTakeMultipleExpeditionRewardCsReq"
            }
            CmdExpeditionType::CmdCancelExpeditionCsReq => "CmdCancelExpeditionCsReq",
            CmdExpeditionType::CmdAcceptActivityExpeditionScRsp => {
                "CmdAcceptActivityExpeditionScRsp"
            }
            CmdExpeditionType::CmdCancelActivityExpeditionCsReq => {
                "CmdCancelActivityExpeditionCsReq"
            }
            CmdExpeditionType::CmdCancelExpeditionScRsp => "CmdCancelExpeditionScRsp",
            CmdExpeditionType::CmdExpeditionDataChangeScNotify => {
                "CmdExpeditionDataChangeScNotify"
            }
            CmdExpeditionType::CmdGetExpeditionDataCsReq => "CmdGetExpeditionDataCsReq",
            CmdExpeditionType::CmdAcceptMultipleExpeditionScRsp => {
                "CmdAcceptMultipleExpeditionScRsp"
            }
            CmdExpeditionType::CmdAcceptActivityExpeditionCsReq => {
                "CmdAcceptActivityExpeditionCsReq"
            }
            CmdExpeditionType::CmdTakeExpeditionRewardScRsp => {
                "CmdTakeExpeditionRewardScRsp"
            }
            CmdExpeditionType::CmdCancelActivityExpeditionScRsp => {
                "CmdCancelActivityExpeditionScRsp"
            }
            CmdExpeditionType::CmdAcceptExpeditionScRsp => "CmdAcceptExpeditionScRsp",
            CmdExpeditionType::CmdTakeActivityExpeditionRewardScRsp => {
                "CmdTakeActivityExpeditionRewardScRsp"
            }
            CmdExpeditionType::CmdAcceptMultipleExpeditionCsReq => {
                "CmdAcceptMultipleExpeditionCsReq"
            }
            CmdExpeditionType::CmdAcceptExpeditionCsReq => "CmdAcceptExpeditionCsReq",
            CmdExpeditionType::CmdTakeMultipleExpeditionRewardScRsp => {
                "CmdTakeMultipleExpeditionRewardScRsp"
            }
            CmdExpeditionType::CmdTakeActivityExpeditionRewardCsReq => {
                "CmdTakeActivityExpeditionRewardCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdExpeditionTypeNone" => Some(Self::None),
            "CmdTakeExpeditionRewardCsReq" => Some(Self::CmdTakeExpeditionRewardCsReq),
            "CmdGetExpeditionDataScRsp" => Some(Self::CmdGetExpeditionDataScRsp),
            "CmdTakeMultipleExpeditionRewardCsReq" => {
                Some(Self::CmdTakeMultipleExpeditionRewardCsReq)
            }
            "CmdCancelExpeditionCsReq" => Some(Self::CmdCancelExpeditionCsReq),
            "CmdAcceptActivityExpeditionScRsp" => {
                Some(Self::CmdAcceptActivityExpeditionScRsp)
            }
            "CmdCancelActivityExpeditionCsReq" => {
                Some(Self::CmdCancelActivityExpeditionCsReq)
            }
            "CmdCancelExpeditionScRsp" => Some(Self::CmdCancelExpeditionScRsp),
            "CmdExpeditionDataChangeScNotify" => {
                Some(Self::CmdExpeditionDataChangeScNotify)
            }
            "CmdGetExpeditionDataCsReq" => Some(Self::CmdGetExpeditionDataCsReq),
            "CmdAcceptMultipleExpeditionScRsp" => {
                Some(Self::CmdAcceptMultipleExpeditionScRsp)
            }
            "CmdAcceptActivityExpeditionCsReq" => {
                Some(Self::CmdAcceptActivityExpeditionCsReq)
            }
            "CmdTakeExpeditionRewardScRsp" => Some(Self::CmdTakeExpeditionRewardScRsp),
            "CmdCancelActivityExpeditionScRsp" => {
                Some(Self::CmdCancelActivityExpeditionScRsp)
            }
            "CmdAcceptExpeditionScRsp" => Some(Self::CmdAcceptExpeditionScRsp),
            "CmdTakeActivityExpeditionRewardScRsp" => {
                Some(Self::CmdTakeActivityExpeditionRewardScRsp)
            }
            "CmdAcceptMultipleExpeditionCsReq" => {
                Some(Self::CmdAcceptMultipleExpeditionCsReq)
            }
            "CmdAcceptExpeditionCsReq" => Some(Self::CmdAcceptExpeditionCsReq),
            "CmdTakeMultipleExpeditionRewardScRsp" => {
                Some(Self::CmdTakeMultipleExpeditionRewardScRsp)
            }
            "CmdTakeActivityExpeditionRewardCsReq" => {
                Some(Self::CmdTakeActivityExpeditionRewardCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFantasticStoryActivityType {
    None = 0,
    CmdEnterFantasticStoryActivityStageScRsp = 4939,
    CmdFantasticStoryActivityBattleEndScNotify = 4973,
    CmdFinishChapterScNotify = 4991,
    CmdGetFantasticStoryActivityDataScRsp = 4988,
    CmdEnterFantasticStoryActivityStageCsReq = 4920,
    CmdGetFantasticStoryActivityDataCsReq = 4961,
}
impl CmdFantasticStoryActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFantasticStoryActivityType::None => "CmdFantasticStoryActivityTypeNone",
            CmdFantasticStoryActivityType::CmdEnterFantasticStoryActivityStageScRsp => {
                "CmdEnterFantasticStoryActivityStageScRsp"
            }
            CmdFantasticStoryActivityType::CmdFantasticStoryActivityBattleEndScNotify => {
                "CmdFantasticStoryActivityBattleEndScNotify"
            }
            CmdFantasticStoryActivityType::CmdFinishChapterScNotify => {
                "CmdFinishChapterScNotify"
            }
            CmdFantasticStoryActivityType::CmdGetFantasticStoryActivityDataScRsp => {
                "CmdGetFantasticStoryActivityDataScRsp"
            }
            CmdFantasticStoryActivityType::CmdEnterFantasticStoryActivityStageCsReq => {
                "CmdEnterFantasticStoryActivityStageCsReq"
            }
            CmdFantasticStoryActivityType::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 {
            "CmdFantasticStoryActivityTypeNone" => Some(Self::None),
            "CmdEnterFantasticStoryActivityStageScRsp" => {
                Some(Self::CmdEnterFantasticStoryActivityStageScRsp)
            }
            "CmdFantasticStoryActivityBattleEndScNotify" => {
                Some(Self::CmdFantasticStoryActivityBattleEndScNotify)
            }
            "CmdFinishChapterScNotify" => Some(Self::CmdFinishChapterScNotify),
            "CmdGetFantasticStoryActivityDataScRsp" => {
                Some(Self::CmdGetFantasticStoryActivityDataScRsp)
            }
            "CmdEnterFantasticStoryActivityStageCsReq" => {
                Some(Self::CmdEnterFantasticStoryActivityStageCsReq)
            }
            "CmdGetFantasticStoryActivityDataCsReq" => {
                Some(Self::CmdGetFantasticStoryActivityDataCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFeverTimeActivityType {
    None = 0,
    CmdGetFeverTimeActivityDataCsReq = 7155,
    CmdGetFeverTimeActivityDataScRsp = 7156,
    CmdEnterFeverTimeActivityStageCsReq = 7158,
    CmdFeverTimeActivityBattleEndScNotify = 7154,
    CmdEnterFeverTimeActivityStageScRsp = 7151,
}
impl CmdFeverTimeActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFeverTimeActivityType::None => "CmdFeverTimeActivityTypeNone",
            CmdFeverTimeActivityType::CmdGetFeverTimeActivityDataCsReq => {
                "CmdGetFeverTimeActivityDataCsReq"
            }
            CmdFeverTimeActivityType::CmdGetFeverTimeActivityDataScRsp => {
                "CmdGetFeverTimeActivityDataScRsp"
            }
            CmdFeverTimeActivityType::CmdEnterFeverTimeActivityStageCsReq => {
                "CmdEnterFeverTimeActivityStageCsReq"
            }
            CmdFeverTimeActivityType::CmdFeverTimeActivityBattleEndScNotify => {
                "CmdFeverTimeActivityBattleEndScNotify"
            }
            CmdFeverTimeActivityType::CmdEnterFeverTimeActivityStageScRsp => {
                "CmdEnterFeverTimeActivityStageScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFeverTimeActivityTypeNone" => Some(Self::None),
            "CmdGetFeverTimeActivityDataCsReq" => {
                Some(Self::CmdGetFeverTimeActivityDataCsReq)
            }
            "CmdGetFeverTimeActivityDataScRsp" => {
                Some(Self::CmdGetFeverTimeActivityDataScRsp)
            }
            "CmdEnterFeverTimeActivityStageCsReq" => {
                Some(Self::CmdEnterFeverTimeActivityStageCsReq)
            }
            "CmdFeverTimeActivityBattleEndScNotify" => {
                Some(Self::CmdFeverTimeActivityBattleEndScNotify)
            }
            "CmdEnterFeverTimeActivityStageScRsp" => {
                Some(Self::CmdEnterFeverTimeActivityStageScRsp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gmfbecbgnfn {
    FeverTimeBattleRankC = 0,
    FeverTimeBattleRankB = 1,
    FeverTimeBattleRankA = 2,
    FeverTimeBattleRankS = 3,
    FeverTimeBattleRankSs = 4,
}
impl Gmfbecbgnfn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gmfbecbgnfn::FeverTimeBattleRankC => "FEVER_TIME_BATTLE_RANK_C",
            Gmfbecbgnfn::FeverTimeBattleRankB => "FEVER_TIME_BATTLE_RANK_B",
            Gmfbecbgnfn::FeverTimeBattleRankA => "FEVER_TIME_BATTLE_RANK_A",
            Gmfbecbgnfn::FeverTimeBattleRankS => "FEVER_TIME_BATTLE_RANK_S",
            Gmfbecbgnfn::FeverTimeBattleRankSs => "FEVER_TIME_BATTLE_RANK_SS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEVER_TIME_BATTLE_RANK_C" => Some(Self::FeverTimeBattleRankC),
            "FEVER_TIME_BATTLE_RANK_B" => Some(Self::FeverTimeBattleRankB),
            "FEVER_TIME_BATTLE_RANK_A" => Some(Self::FeverTimeBattleRankA),
            "FEVER_TIME_BATTLE_RANK_S" => Some(Self::FeverTimeBattleRankS),
            "FEVER_TIME_BATTLE_RANK_SS" => Some(Self::FeverTimeBattleRankSs),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightType {
    None = 0,
    CmdFightLeaveScNotify = 30091,
    CmdFightEnterScRsp = 30088,
    CmdFightSessionStopScNotify = 30030,
    CmdFightHeartBeatCsReq = 30039,
    CmdFightHeartBeatScRsp = 30073,
    CmdFightKickOutScNotify = 30020,
    CmdFightEnterCsReq = 30061,
}
impl CmdFightType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFightType::None => "CmdFightTypeNone",
            CmdFightType::CmdFightLeaveScNotify => "CmdFightLeaveScNotify",
            CmdFightType::CmdFightEnterScRsp => "CmdFightEnterScRsp",
            CmdFightType::CmdFightSessionStopScNotify => "CmdFightSessionStopScNotify",
            CmdFightType::CmdFightHeartBeatCsReq => "CmdFightHeartBeatCsReq",
            CmdFightType::CmdFightHeartBeatScRsp => "CmdFightHeartBeatScRsp",
            CmdFightType::CmdFightKickOutScNotify => "CmdFightKickOutScNotify",
            CmdFightType::CmdFightEnterCsReq => "CmdFightEnterCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightTypeNone" => Some(Self::None),
            "CmdFightLeaveScNotify" => Some(Self::CmdFightLeaveScNotify),
            "CmdFightEnterScRsp" => Some(Self::CmdFightEnterScRsp),
            "CmdFightSessionStopScNotify" => Some(Self::CmdFightSessionStopScNotify),
            "CmdFightHeartBeatCsReq" => Some(Self::CmdFightHeartBeatCsReq),
            "CmdFightHeartBeatScRsp" => Some(Self::CmdFightHeartBeatScRsp),
            "CmdFightKickOutScNotify" => Some(Self::CmdFightKickOutScNotify),
            "CmdFightEnterCsReq" => Some(Self::CmdFightEnterCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightActivityType {
    None = 0,
    CmdTakeFightActivityRewardScRsp = 3630,
    CmdEnterFightActivityStageScRsp = 3639,
    CmdTakeFightActivityRewardCsReq = 3673,
    CmdGetFightActivityDataCsReq = 3661,
    CmdEnterFightActivityStageCsReq = 3620,
    CmdGetFightActivityDataScRsp = 3688,
    CmdFightActivityDataChangeScNotify = 3691,
}
impl CmdFightActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFightActivityType::None => "CmdFightActivityTypeNone",
            CmdFightActivityType::CmdTakeFightActivityRewardScRsp => {
                "CmdTakeFightActivityRewardScRsp"
            }
            CmdFightActivityType::CmdEnterFightActivityStageScRsp => {
                "CmdEnterFightActivityStageScRsp"
            }
            CmdFightActivityType::CmdTakeFightActivityRewardCsReq => {
                "CmdTakeFightActivityRewardCsReq"
            }
            CmdFightActivityType::CmdGetFightActivityDataCsReq => {
                "CmdGetFightActivityDataCsReq"
            }
            CmdFightActivityType::CmdEnterFightActivityStageCsReq => {
                "CmdEnterFightActivityStageCsReq"
            }
            CmdFightActivityType::CmdGetFightActivityDataScRsp => {
                "CmdGetFightActivityDataScRsp"
            }
            CmdFightActivityType::CmdFightActivityDataChangeScNotify => {
                "CmdFightActivityDataChangeScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightActivityTypeNone" => Some(Self::None),
            "CmdTakeFightActivityRewardScRsp" => {
                Some(Self::CmdTakeFightActivityRewardScRsp)
            }
            "CmdEnterFightActivityStageScRsp" => {
                Some(Self::CmdEnterFightActivityStageScRsp)
            }
            "CmdTakeFightActivityRewardCsReq" => {
                Some(Self::CmdTakeFightActivityRewardCsReq)
            }
            "CmdGetFightActivityDataCsReq" => Some(Self::CmdGetFightActivityDataCsReq),
            "CmdEnterFightActivityStageCsReq" => {
                Some(Self::CmdEnterFightActivityStageCsReq)
            }
            "CmdGetFightActivityDataScRsp" => Some(Self::CmdGetFightActivityDataScRsp),
            "CmdFightActivityDataChangeScNotify" => {
                Some(Self::CmdFightActivityDataChangeScNotify)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightMathc3Type {
    None = 0,
    CmdFightMatch3DataCsReq = 30161,
    CmdFightMatch3ForceUpdateNotify = 30174,
    CmdFightMatch3TurnEndScNotify = 30139,
    CmdFightMatch3SwapScRsp = 30130,
    CmdFightMatch3ChatCsReq = 30187,
    CmdFightMatch3DataScRsp = 30188,
    CmdFightMatch3ChatScRsp = 30127,
    CmdFightMatch3OpponentDataScNotify = 30171,
    CmdFightMatch3ChatScNotify = 30162,
    CmdFightMatch3StartCountDownScNotify = 30191,
    CmdFightMatch3TurnStartScNotify = 30120,
    CmdFightMatch3SwapCsReq = 30173,
}
impl CmdFightMathc3Type {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFightMathc3Type::None => "CmdFightMathc3TypeNone",
            CmdFightMathc3Type::CmdFightMatch3DataCsReq => "CmdFightMatch3DataCsReq",
            CmdFightMathc3Type::CmdFightMatch3ForceUpdateNotify => {
                "CmdFightMatch3ForceUpdateNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3TurnEndScNotify => {
                "CmdFightMatch3TurnEndScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3SwapScRsp => "CmdFightMatch3SwapScRsp",
            CmdFightMathc3Type::CmdFightMatch3ChatCsReq => "CmdFightMatch3ChatCsReq",
            CmdFightMathc3Type::CmdFightMatch3DataScRsp => "CmdFightMatch3DataScRsp",
            CmdFightMathc3Type::CmdFightMatch3ChatScRsp => "CmdFightMatch3ChatScRsp",
            CmdFightMathc3Type::CmdFightMatch3OpponentDataScNotify => {
                "CmdFightMatch3OpponentDataScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3ChatScNotify => {
                "CmdFightMatch3ChatScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3StartCountDownScNotify => {
                "CmdFightMatch3StartCountDownScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3TurnStartScNotify => {
                "CmdFightMatch3TurnStartScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3SwapCsReq => "CmdFightMatch3SwapCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightMathc3TypeNone" => Some(Self::None),
            "CmdFightMatch3DataCsReq" => Some(Self::CmdFightMatch3DataCsReq),
            "CmdFightMatch3ForceUpdateNotify" => {
                Some(Self::CmdFightMatch3ForceUpdateNotify)
            }
            "CmdFightMatch3TurnEndScNotify" => Some(Self::CmdFightMatch3TurnEndScNotify),
            "CmdFightMatch3SwapScRsp" => Some(Self::CmdFightMatch3SwapScRsp),
            "CmdFightMatch3ChatCsReq" => Some(Self::CmdFightMatch3ChatCsReq),
            "CmdFightMatch3DataScRsp" => Some(Self::CmdFightMatch3DataScRsp),
            "CmdFightMatch3ChatScRsp" => Some(Self::CmdFightMatch3ChatScRsp),
            "CmdFightMatch3OpponentDataScNotify" => {
                Some(Self::CmdFightMatch3OpponentDataScNotify)
            }
            "CmdFightMatch3ChatScNotify" => Some(Self::CmdFightMatch3ChatScNotify),
            "CmdFightMatch3StartCountDownScNotify" => {
                Some(Self::CmdFightMatch3StartCountDownScNotify)
            }
            "CmdFightMatch3TurnStartScNotify" => {
                Some(Self::CmdFightMatch3TurnStartScNotify)
            }
            "CmdFightMatch3SwapCsReq" => Some(Self::CmdFightMatch3SwapCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Madmjljeldi {
    Match3StateIdle = 0,
    Match3StateStart = 1,
    Match3StateMatch = 2,
    Match3StateGame = 3,
    Match3StateHalftime = 4,
    Match3StateOver = 5,
}
impl Madmjljeldi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Madmjljeldi::Match3StateIdle => "MATCH3_STATE_IDLE",
            Madmjljeldi::Match3StateStart => "MATCH3_STATE_START",
            Madmjljeldi::Match3StateMatch => "MATCH3_STATE_MATCH",
            Madmjljeldi::Match3StateGame => "MATCH3_STATE_GAME",
            Madmjljeldi::Match3StateHalftime => "MATCH3_STATE_HALFTIME",
            Madmjljeldi::Match3StateOver => "MATCH3_STATE_OVER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_STATE_IDLE" => Some(Self::Match3StateIdle),
            "MATCH3_STATE_START" => Some(Self::Match3StateStart),
            "MATCH3_STATE_MATCH" => Some(Self::Match3StateMatch),
            "MATCH3_STATE_GAME" => Some(Self::Match3StateGame),
            "MATCH3_STATE_HALFTIME" => Some(Self::Match3StateHalftime),
            "MATCH3_STATE_OVER" => Some(Self::Match3StateOver),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Efeemphmfki {
    Match3PlayerStateAlive = 0,
    Match3PlayerStateDying = 1,
    Match3PlayerStateDead = 2,
    Match3PlayerStateLeave = 3,
}
impl Efeemphmfki {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Efeemphmfki::Match3PlayerStateAlive => "MATCH3_PLAYER_STATE_ALIVE",
            Efeemphmfki::Match3PlayerStateDying => "MATCH3_PLAYER_STATE_DYING",
            Efeemphmfki::Match3PlayerStateDead => "MATCH3_PLAYER_STATE_DEAD",
            Efeemphmfki::Match3PlayerStateLeave => "MATCH3_PLAYER_STATE_LEAVE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_PLAYER_STATE_ALIVE" => Some(Self::Match3PlayerStateAlive),
            "MATCH3_PLAYER_STATE_DYING" => Some(Self::Match3PlayerStateDying),
            "MATCH3_PLAYER_STATE_DEAD" => Some(Self::Match3PlayerStateDead),
            "MATCH3_PLAYER_STATE_LEAVE" => Some(Self::Match3PlayerStateLeave),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Okdfocfddog {
    EventBegin = 0,
    EventBreak = 1,
    EventFall = 2,
    EventRefresh = 3,
    EventBirdSkill = 4,
    EventEnv = 5,
    EventShuffle = 6,
    EventSettleTag = 7,
}
impl Okdfocfddog {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Okdfocfddog::EventBegin => "EVENT_BEGIN",
            Okdfocfddog::EventBreak => "EVENT_BREAK",
            Okdfocfddog::EventFall => "EVENT_FALL",
            Okdfocfddog::EventRefresh => "EVENT_REFRESH",
            Okdfocfddog::EventBirdSkill => "EVENT_BIRD_SKILL",
            Okdfocfddog::EventEnv => "EVENT_ENV",
            Okdfocfddog::EventShuffle => "EVENT_SHUFFLE",
            Okdfocfddog::EventSettleTag => "EVENT_SETTLE_TAG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVENT_BEGIN" => Some(Self::EventBegin),
            "EVENT_BREAK" => Some(Self::EventBreak),
            "EVENT_FALL" => Some(Self::EventFall),
            "EVENT_REFRESH" => Some(Self::EventRefresh),
            "EVENT_BIRD_SKILL" => Some(Self::EventBirdSkill),
            "EVENT_ENV" => Some(Self::EventEnv),
            "EVENT_SHUFFLE" => Some(Self::EventShuffle),
            "EVENT_SETTLE_TAG" => Some(Self::EventSettleTag),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFriendType {
    None = 0,
    CmdGetCurAssistCsReq = 2968,
    CmdGetFriendLoginInfoScRsp = 2948,
    CmdApplyFriendScRsp = 2971,
    CmdGetFriendChallengeLineupCsReq = 2908,
    CmdSetFriendRemarkNameScRsp = 2951,
    CmdGetAssistHistoryCsReq = 2958,
    CmdGetFriendBattleRecordDetailCsReq = 2924,
    CmdGetFriendDevelopmentInfoScRsp = 2965,
    CmdReportPlayerScRsp = 2981,
    CmdSearchPlayerCsReq = 2928,
    CmdGetPlatformPlayerInfoScRsp = 2993,
    CmdHandleFriendScRsp = 2962,
    CmdSetFriendMarkScRsp = 2918,
    CmdNewAssistHistoryNotify = 2985,
    CmdGetFriendAssistListCsReq = 2976,
    CmdGetFriendAssistListScRsp = 2964,
    CmdAddBlacklistScRsp = 2982,
    CmdSetAssistCsReq = 2932,
    CmdGetFriendRecommendListInfoScRsp = 2956,
    CmdGetFriendApplyListInfoScRsp = 2973,
    CmdCurAssistChangedNotify = 2917,
    CmdSearchPlayerScRsp = 2901,
    CmdDeleteFriendScRsp = 2994,
    CmdSetFriendRemarkNameCsReq = 2949,
    CmdGetPlayerDetailInfoScRsp = 2920,
    CmdApplyFriendCsReq = 2930,
    CmdAddBlacklistCsReq = 2921,
    CmdGetPlayerDetailInfoCsReq = 2991,
    CmdGetAssistHistoryScRsp = 2913,
    CmdGetPlatformPlayerInfoCsReq = 3000,
    CmdGetFriendChallengeDetailCsReq = 2911,
    CmdGetFriendChallengeLineupScRsp = 2946,
    CmdGetFriendChallengeDetailScRsp = 2944,
    CmdSyncHandleFriendScNotify = 2974,
    CmdSyncApplyFriendScNotify = 2987,
    CmdGetFriendListInfoScRsp = 2988,
    CmdGetFriendRecommendListInfoCsReq = 2970,
    CmdReportPlayerCsReq = 2909,
    CmdGetAssistListCsReq = 2933,
    CmdSetForbidOtherApplyFriendCsReq = 2905,
    CmdSetForbidOtherApplyFriendScRsp = 2966,
    CmdTakeAssistRewardCsReq = 2954,
    CmdDeleteBlacklistScRsp = 2937,
    CmdGetFriendApplyListInfoCsReq = 2939,
    CmdSetFriendMarkCsReq = 2990,
    CmdDeleteBlacklistCsReq = 2912,
    CmdSetAssistScRsp = 2955,
    CmdHandleFriendCsReq = 2927,
    CmdGetFriendListInfoCsReq = 2961,
    CmdDeleteFriendCsReq = 2947,
    CmdSyncAddBlacklistScNotify = 2903,
    CmdTakeAssistRewardScRsp = 2926,
    CmdGetFriendDevelopmentInfoCsReq = 2916,
    CmdSyncDeleteFriendScNotify = 2996,
    CmdGetAssistListScRsp = 2950,
    CmdGetFriendLoginInfoCsReq = 2940,
    CmdGetCurAssistScRsp = 2995,
    CmdGetFriendBattleRecordDetailScRsp = 2942,
}
impl CmdFriendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFriendType::None => "CmdFriendTypeNone",
            CmdFriendType::CmdGetCurAssistCsReq => "CmdGetCurAssistCsReq",
            CmdFriendType::CmdGetFriendLoginInfoScRsp => "CmdGetFriendLoginInfoScRsp",
            CmdFriendType::CmdApplyFriendScRsp => "CmdApplyFriendScRsp",
            CmdFriendType::CmdGetFriendChallengeLineupCsReq => {
                "CmdGetFriendChallengeLineupCsReq"
            }
            CmdFriendType::CmdSetFriendRemarkNameScRsp => "CmdSetFriendRemarkNameScRsp",
            CmdFriendType::CmdGetAssistHistoryCsReq => "CmdGetAssistHistoryCsReq",
            CmdFriendType::CmdGetFriendBattleRecordDetailCsReq => {
                "CmdGetFriendBattleRecordDetailCsReq"
            }
            CmdFriendType::CmdGetFriendDevelopmentInfoScRsp => {
                "CmdGetFriendDevelopmentInfoScRsp"
            }
            CmdFriendType::CmdReportPlayerScRsp => "CmdReportPlayerScRsp",
            CmdFriendType::CmdSearchPlayerCsReq => "CmdSearchPlayerCsReq",
            CmdFriendType::CmdGetPlatformPlayerInfoScRsp => {
                "CmdGetPlatformPlayerInfoScRsp"
            }
            CmdFriendType::CmdHandleFriendScRsp => "CmdHandleFriendScRsp",
            CmdFriendType::CmdSetFriendMarkScRsp => "CmdSetFriendMarkScRsp",
            CmdFriendType::CmdNewAssistHistoryNotify => "CmdNewAssistHistoryNotify",
            CmdFriendType::CmdGetFriendAssistListCsReq => "CmdGetFriendAssistListCsReq",
            CmdFriendType::CmdGetFriendAssistListScRsp => "CmdGetFriendAssistListScRsp",
            CmdFriendType::CmdAddBlacklistScRsp => "CmdAddBlacklistScRsp",
            CmdFriendType::CmdSetAssistCsReq => "CmdSetAssistCsReq",
            CmdFriendType::CmdGetFriendRecommendListInfoScRsp => {
                "CmdGetFriendRecommendListInfoScRsp"
            }
            CmdFriendType::CmdGetFriendApplyListInfoScRsp => {
                "CmdGetFriendApplyListInfoScRsp"
            }
            CmdFriendType::CmdCurAssistChangedNotify => "CmdCurAssistChangedNotify",
            CmdFriendType::CmdSearchPlayerScRsp => "CmdSearchPlayerScRsp",
            CmdFriendType::CmdDeleteFriendScRsp => "CmdDeleteFriendScRsp",
            CmdFriendType::CmdSetFriendRemarkNameCsReq => "CmdSetFriendRemarkNameCsReq",
            CmdFriendType::CmdGetPlayerDetailInfoScRsp => "CmdGetPlayerDetailInfoScRsp",
            CmdFriendType::CmdApplyFriendCsReq => "CmdApplyFriendCsReq",
            CmdFriendType::CmdAddBlacklistCsReq => "CmdAddBlacklistCsReq",
            CmdFriendType::CmdGetPlayerDetailInfoCsReq => "CmdGetPlayerDetailInfoCsReq",
            CmdFriendType::CmdGetAssistHistoryScRsp => "CmdGetAssistHistoryScRsp",
            CmdFriendType::CmdGetPlatformPlayerInfoCsReq => {
                "CmdGetPlatformPlayerInfoCsReq"
            }
            CmdFriendType::CmdGetFriendChallengeDetailCsReq => {
                "CmdGetFriendChallengeDetailCsReq"
            }
            CmdFriendType::CmdGetFriendChallengeLineupScRsp => {
                "CmdGetFriendChallengeLineupScRsp"
            }
            CmdFriendType::CmdGetFriendChallengeDetailScRsp => {
                "CmdGetFriendChallengeDetailScRsp"
            }
            CmdFriendType::CmdSyncHandleFriendScNotify => "CmdSyncHandleFriendScNotify",
            CmdFriendType::CmdSyncApplyFriendScNotify => "CmdSyncApplyFriendScNotify",
            CmdFriendType::CmdGetFriendListInfoScRsp => "CmdGetFriendListInfoScRsp",
            CmdFriendType::CmdGetFriendRecommendListInfoCsReq => {
                "CmdGetFriendRecommendListInfoCsReq"
            }
            CmdFriendType::CmdReportPlayerCsReq => "CmdReportPlayerCsReq",
            CmdFriendType::CmdGetAssistListCsReq => "CmdGetAssistListCsReq",
            CmdFriendType::CmdSetForbidOtherApplyFriendCsReq => {
                "CmdSetForbidOtherApplyFriendCsReq"
            }
            CmdFriendType::CmdSetForbidOtherApplyFriendScRsp => {
                "CmdSetForbidOtherApplyFriendScRsp"
            }
            CmdFriendType::CmdTakeAssistRewardCsReq => "CmdTakeAssistRewardCsReq",
            CmdFriendType::CmdDeleteBlacklistScRsp => "CmdDeleteBlacklistScRsp",
            CmdFriendType::CmdGetFriendApplyListInfoCsReq => {
                "CmdGetFriendApplyListInfoCsReq"
            }
            CmdFriendType::CmdSetFriendMarkCsReq => "CmdSetFriendMarkCsReq",
            CmdFriendType::CmdDeleteBlacklistCsReq => "CmdDeleteBlacklistCsReq",
            CmdFriendType::CmdSetAssistScRsp => "CmdSetAssistScRsp",
            CmdFriendType::CmdHandleFriendCsReq => "CmdHandleFriendCsReq",
            CmdFriendType::CmdGetFriendListInfoCsReq => "CmdGetFriendListInfoCsReq",
            CmdFriendType::CmdDeleteFriendCsReq => "CmdDeleteFriendCsReq",
            CmdFriendType::CmdSyncAddBlacklistScNotify => "CmdSyncAddBlacklistScNotify",
            CmdFriendType::CmdTakeAssistRewardScRsp => "CmdTakeAssistRewardScRsp",
            CmdFriendType::CmdGetFriendDevelopmentInfoCsReq => {
                "CmdGetFriendDevelopmentInfoCsReq"
            }
            CmdFriendType::CmdSyncDeleteFriendScNotify => "CmdSyncDeleteFriendScNotify",
            CmdFriendType::CmdGetAssistListScRsp => "CmdGetAssistListScRsp",
            CmdFriendType::CmdGetFriendLoginInfoCsReq => "CmdGetFriendLoginInfoCsReq",
            CmdFriendType::CmdGetCurAssistScRsp => "CmdGetCurAssistScRsp",
            CmdFriendType::CmdGetFriendBattleRecordDetailScRsp => {
                "CmdGetFriendBattleRecordDetailScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFriendTypeNone" => Some(Self::None),
            "CmdGetCurAssistCsReq" => Some(Self::CmdGetCurAssistCsReq),
            "CmdGetFriendLoginInfoScRsp" => Some(Self::CmdGetFriendLoginInfoScRsp),
            "CmdApplyFriendScRsp" => Some(Self::CmdApplyFriendScRsp),
            "CmdGetFriendChallengeLineupCsReq" => {
                Some(Self::CmdGetFriendChallengeLineupCsReq)
            }
            "CmdSetFriendRemarkNameScRsp" => Some(Self::CmdSetFriendRemarkNameScRsp),
            "CmdGetAssistHistoryCsReq" => Some(Self::CmdGetAssistHistoryCsReq),
            "CmdGetFriendBattleRecordDetailCsReq" => {
                Some(Self::CmdGetFriendBattleRecordDetailCsReq)
            }
            "CmdGetFriendDevelopmentInfoScRsp" => {
                Some(Self::CmdGetFriendDevelopmentInfoScRsp)
            }
            "CmdReportPlayerScRsp" => Some(Self::CmdReportPlayerScRsp),
            "CmdSearchPlayerCsReq" => Some(Self::CmdSearchPlayerCsReq),
            "CmdGetPlatformPlayerInfoScRsp" => Some(Self::CmdGetPlatformPlayerInfoScRsp),
            "CmdHandleFriendScRsp" => Some(Self::CmdHandleFriendScRsp),
            "CmdSetFriendMarkScRsp" => Some(Self::CmdSetFriendMarkScRsp),
            "CmdNewAssistHistoryNotify" => Some(Self::CmdNewAssistHistoryNotify),
            "CmdGetFriendAssistListCsReq" => Some(Self::CmdGetFriendAssistListCsReq),
            "CmdGetFriendAssistListScRsp" => Some(Self::CmdGetFriendAssistListScRsp),
            "CmdAddBlacklistScRsp" => Some(Self::CmdAddBlacklistScRsp),
            "CmdSetAssistCsReq" => Some(Self::CmdSetAssistCsReq),
            "CmdGetFriendRecommendListInfoScRsp" => {
                Some(Self::CmdGetFriendRecommendListInfoScRsp)
            }
            "CmdGetFriendApplyListInfoScRsp" => {
                Some(Self::CmdGetFriendApplyListInfoScRsp)
            }
            "CmdCurAssistChangedNotify" => Some(Self::CmdCurAssistChangedNotify),
            "CmdSearchPlayerScRsp" => Some(Self::CmdSearchPlayerScRsp),
            "CmdDeleteFriendScRsp" => Some(Self::CmdDeleteFriendScRsp),
            "CmdSetFriendRemarkNameCsReq" => Some(Self::CmdSetFriendRemarkNameCsReq),
            "CmdGetPlayerDetailInfoScRsp" => Some(Self::CmdGetPlayerDetailInfoScRsp),
            "CmdApplyFriendCsReq" => Some(Self::CmdApplyFriendCsReq),
            "CmdAddBlacklistCsReq" => Some(Self::CmdAddBlacklistCsReq),
            "CmdGetPlayerDetailInfoCsReq" => Some(Self::CmdGetPlayerDetailInfoCsReq),
            "CmdGetAssistHistoryScRsp" => Some(Self::CmdGetAssistHistoryScRsp),
            "CmdGetPlatformPlayerInfoCsReq" => Some(Self::CmdGetPlatformPlayerInfoCsReq),
            "CmdGetFriendChallengeDetailCsReq" => {
                Some(Self::CmdGetFriendChallengeDetailCsReq)
            }
            "CmdGetFriendChallengeLineupScRsp" => {
                Some(Self::CmdGetFriendChallengeLineupScRsp)
            }
            "CmdGetFriendChallengeDetailScRsp" => {
                Some(Self::CmdGetFriendChallengeDetailScRsp)
            }
            "CmdSyncHandleFriendScNotify" => Some(Self::CmdSyncHandleFriendScNotify),
            "CmdSyncApplyFriendScNotify" => Some(Self::CmdSyncApplyFriendScNotify),
            "CmdGetFriendListInfoScRsp" => Some(Self::CmdGetFriendListInfoScRsp),
            "CmdGetFriendRecommendListInfoCsReq" => {
                Some(Self::CmdGetFriendRecommendListInfoCsReq)
            }
            "CmdReportPlayerCsReq" => Some(Self::CmdReportPlayerCsReq),
            "CmdGetAssistListCsReq" => Some(Self::CmdGetAssistListCsReq),
            "CmdSetForbidOtherApplyFriendCsReq" => {
                Some(Self::CmdSetForbidOtherApplyFriendCsReq)
            }
            "CmdSetForbidOtherApplyFriendScRsp" => {
                Some(Self::CmdSetForbidOtherApplyFriendScRsp)
            }
            "CmdTakeAssistRewardCsReq" => Some(Self::CmdTakeAssistRewardCsReq),
            "CmdDeleteBlacklistScRsp" => Some(Self::CmdDeleteBlacklistScRsp),
            "CmdGetFriendApplyListInfoCsReq" => {
                Some(Self::CmdGetFriendApplyListInfoCsReq)
            }
            "CmdSetFriendMarkCsReq" => Some(Self::CmdSetFriendMarkCsReq),
            "CmdDeleteBlacklistCsReq" => Some(Self::CmdDeleteBlacklistCsReq),
            "CmdSetAssistScRsp" => Some(Self::CmdSetAssistScRsp),
            "CmdHandleFriendCsReq" => Some(Self::CmdHandleFriendCsReq),
            "CmdGetFriendListInfoCsReq" => Some(Self::CmdGetFriendListInfoCsReq),
            "CmdDeleteFriendCsReq" => Some(Self::CmdDeleteFriendCsReq),
            "CmdSyncAddBlacklistScNotify" => Some(Self::CmdSyncAddBlacklistScNotify),
            "CmdTakeAssistRewardScRsp" => Some(Self::CmdTakeAssistRewardScRsp),
            "CmdGetFriendDevelopmentInfoCsReq" => {
                Some(Self::CmdGetFriendDevelopmentInfoCsReq)
            }
            "CmdSyncDeleteFriendScNotify" => Some(Self::CmdSyncDeleteFriendScNotify),
            "CmdGetAssistListScRsp" => Some(Self::CmdGetAssistListScRsp),
            "CmdGetFriendLoginInfoCsReq" => Some(Self::CmdGetFriendLoginInfoCsReq),
            "CmdGetCurAssistScRsp" => Some(Self::CmdGetCurAssistScRsp),
            "CmdGetFriendBattleRecordDetailScRsp" => {
                Some(Self::CmdGetFriendBattleRecordDetailScRsp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FriendOnlineStatus {
    Offline = 0,
    Online = 1,
}
impl FriendOnlineStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            FriendOnlineStatus::Offline => "FRIEND_ONLINE_STATUS_OFFLINE",
            FriendOnlineStatus::Online => "FRIEND_ONLINE_STATUS_ONLINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FRIEND_ONLINE_STATUS_OFFLINE" => Some(Self::Offline),
            "FRIEND_ONLINE_STATUS_ONLINE" => Some(Self::Online),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jdbefnkahme {
    FriendApplySourceNone = 0,
    FriendApplySourceSearch = 1,
    FriendApplySourceRecommend = 2,
    FriendApplySourceAssist = 3,
    FriendApplySourceRecommendAssist = 4,
    FriendApplySourcePsnFriend = 5,
    FriendApplySourceAssistReward = 6,
}
impl Jdbefnkahme {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jdbefnkahme::FriendApplySourceNone => "FRIEND_APPLY_SOURCE_NONE",
            Jdbefnkahme::FriendApplySourceSearch => "FRIEND_APPLY_SOURCE_SEARCH",
            Jdbefnkahme::FriendApplySourceRecommend => "FRIEND_APPLY_SOURCE_RECOMMEND",
            Jdbefnkahme::FriendApplySourceAssist => "FRIEND_APPLY_SOURCE_ASSIST",
            Jdbefnkahme::FriendApplySourceRecommendAssist => {
                "FRIEND_APPLY_SOURCE_RECOMMEND_ASSIST"
            }
            Jdbefnkahme::FriendApplySourcePsnFriend => "FRIEND_APPLY_SOURCE_PSN_FRIEND",
            Jdbefnkahme::FriendApplySourceAssistReward => {
                "FRIEND_APPLY_SOURCE_ASSIST_REWARD"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FRIEND_APPLY_SOURCE_NONE" => Some(Self::FriendApplySourceNone),
            "FRIEND_APPLY_SOURCE_SEARCH" => Some(Self::FriendApplySourceSearch),
            "FRIEND_APPLY_SOURCE_RECOMMEND" => Some(Self::FriendApplySourceRecommend),
            "FRIEND_APPLY_SOURCE_ASSIST" => Some(Self::FriendApplySourceAssist),
            "FRIEND_APPLY_SOURCE_RECOMMEND_ASSIST" => {
                Some(Self::FriendApplySourceRecommendAssist)
            }
            "FRIEND_APPLY_SOURCE_PSN_FRIEND" => Some(Self::FriendApplySourcePsnFriend),
            "FRIEND_APPLY_SOURCE_ASSIST_REWARD" => {
                Some(Self::FriendApplySourceAssistReward)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdGachaType {
    None = 0,
    CmdExchangeGachaCeilingCsReq = 1930,
    CmdDoGachaCsReq = 1991,
    CmdGetGachaCeilingCsReq = 1939,
    CmdGetGachaInfoCsReq = 1961,
    CmdDoGachaScRsp = 1920,
    CmdGetGachaCeilingScRsp = 1973,
    CmdExchangeGachaCeilingScRsp = 1971,
    CmdGetGachaInfoScRsp = 1988,
}
impl CmdGachaType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdGachaType::None => "CmdGachaTypeNone",
            CmdGachaType::CmdExchangeGachaCeilingCsReq => "CmdExchangeGachaCeilingCsReq",
            CmdGachaType::CmdDoGachaCsReq => "CmdDoGachaCsReq",
            CmdGachaType::CmdGetGachaCeilingCsReq => "CmdGetGachaCeilingCsReq",
            CmdGachaType::CmdGetGachaInfoCsReq => "CmdGetGachaInfoCsReq",
            CmdGachaType::CmdDoGachaScRsp => "CmdDoGachaScRsp",
            CmdGachaType::CmdGetGachaCeilingScRsp => "CmdGetGachaCeilingScRsp",
            CmdGachaType::CmdExchangeGachaCeilingScRsp => "CmdExchangeGachaCeilingScRsp",
            CmdGachaType::CmdGetGachaInfoScRsp => "CmdGetGachaInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdGachaTypeNone" => Some(Self::None),
            "CmdExchangeGachaCeilingCsReq" => Some(Self::CmdExchangeGachaCeilingCsReq),
            "CmdDoGachaCsReq" => Some(Self::CmdDoGachaCsReq),
            "CmdGetGachaCeilingCsReq" => Some(Self::CmdGetGachaCeilingCsReq),
            "CmdGetGachaInfoCsReq" => Some(Self::CmdGetGachaInfoCsReq),
            "CmdDoGachaScRsp" => Some(Self::CmdDoGachaScRsp),
            "CmdGetGachaCeilingScRsp" => Some(Self::CmdGetGachaCeilingScRsp),
            "CmdExchangeGachaCeilingScRsp" => Some(Self::CmdExchangeGachaCeilingScRsp),
            "CmdGetGachaInfoScRsp" => Some(Self::CmdGetGachaInfoScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeartdialType {
    None = 0,
    CmdSubmitEmotionItemCsReq = 6339,
    CmdChangeScriptEmotionScRsp = 6320,
    CmdGetHeartDialInfoScRsp = 6388,
    CmdChangeScriptEmotionCsReq = 6391,
    CmdHeartDialTraceScriptCsReq = 6327,
    CmdHeartDialScriptChangeScNotify = 6387,
    CmdGetHeartDialInfoCsReq = 6361,
    CmdFinishEmotionDialoguePerformanceScRsp = 6371,
    CmdSubmitEmotionItemScRsp = 6373,
    CmdFinishEmotionDialoguePerformanceCsReq = 6330,
    CmdHeartDialTraceScriptScRsp = 6362,
}
impl CmdHeartdialType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdHeartdialType::None => "CmdHeartdialTypeNone",
            CmdHeartdialType::CmdSubmitEmotionItemCsReq => "CmdSubmitEmotionItemCsReq",
            CmdHeartdialType::CmdChangeScriptEmotionScRsp => {
                "CmdChangeScriptEmotionScRsp"
            }
            CmdHeartdialType::CmdGetHeartDialInfoScRsp => "CmdGetHeartDialInfoScRsp",
            CmdHeartdialType::CmdChangeScriptEmotionCsReq => {
                "CmdChangeScriptEmotionCsReq"
            }
            CmdHeartdialType::CmdHeartDialTraceScriptCsReq => {
                "CmdHeartDialTraceScriptCsReq"
            }
            CmdHeartdialType::CmdHeartDialScriptChangeScNotify => {
                "CmdHeartDialScriptChangeScNotify"
            }
            CmdHeartdialType::CmdGetHeartDialInfoCsReq => "CmdGetHeartDialInfoCsReq",
            CmdHeartdialType::CmdFinishEmotionDialoguePerformanceScRsp => {
                "CmdFinishEmotionDialoguePerformanceScRsp"
            }
            CmdHeartdialType::CmdSubmitEmotionItemScRsp => "CmdSubmitEmotionItemScRsp",
            CmdHeartdialType::CmdFinishEmotionDialoguePerformanceCsReq => {
                "CmdFinishEmotionDialoguePerformanceCsReq"
            }
            CmdHeartdialType::CmdHeartDialTraceScriptScRsp => {
                "CmdHeartDialTraceScriptScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdHeartdialTypeNone" => Some(Self::None),
            "CmdSubmitEmotionItemCsReq" => Some(Self::CmdSubmitEmotionItemCsReq),
            "CmdChangeScriptEmotionScRsp" => Some(Self::CmdChangeScriptEmotionScRsp),
            "CmdGetHeartDialInfoScRsp" => Some(Self::CmdGetHeartDialInfoScRsp),
            "CmdChangeScriptEmotionCsReq" => Some(Self::CmdChangeScriptEmotionCsReq),
            "CmdHeartDialTraceScriptCsReq" => Some(Self::CmdHeartDialTraceScriptCsReq),
            "CmdHeartDialScriptChangeScNotify" => {
                Some(Self::CmdHeartDialScriptChangeScNotify)
            }
            "CmdGetHeartDialInfoCsReq" => Some(Self::CmdGetHeartDialInfoCsReq),
            "CmdFinishEmotionDialoguePerformanceScRsp" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceScRsp)
            }
            "CmdSubmitEmotionItemScRsp" => Some(Self::CmdSubmitEmotionItemScRsp),
            "CmdFinishEmotionDialoguePerformanceCsReq" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceCsReq)
            }
            "CmdHeartDialTraceScriptScRsp" => Some(Self::CmdHeartDialTraceScriptScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Anklkgpfoeo {
    HeartDialEmotionTypePeace = 0,
    HeartDialEmotionTypeAnger = 1,
    HeartDialEmotionTypeHappy = 2,
    HeartDialEmotionTypeSad = 3,
}
impl Anklkgpfoeo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Anklkgpfoeo::HeartDialEmotionTypePeace => "HEART_DIAL_EMOTION_TYPE_PEACE",
            Anklkgpfoeo::HeartDialEmotionTypeAnger => "HEART_DIAL_EMOTION_TYPE_ANGER",
            Anklkgpfoeo::HeartDialEmotionTypeHappy => "HEART_DIAL_EMOTION_TYPE_HAPPY",
            Anklkgpfoeo::HeartDialEmotionTypeSad => "HEART_DIAL_EMOTION_TYPE_SAD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_EMOTION_TYPE_PEACE" => Some(Self::HeartDialEmotionTypePeace),
            "HEART_DIAL_EMOTION_TYPE_ANGER" => Some(Self::HeartDialEmotionTypeAnger),
            "HEART_DIAL_EMOTION_TYPE_HAPPY" => Some(Self::HeartDialEmotionTypeHappy),
            "HEART_DIAL_EMOTION_TYPE_SAD" => Some(Self::HeartDialEmotionTypeSad),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kabchpbejkk {
    HeartDialStepTypeMissing = 0,
    HeartDialStepTypeFull = 1,
    HeartDialStepTypeLock = 2,
    HeartDialStepTypeUnlock = 3,
    HeartDialStepTypeNormal = 4,
    HeartDialStepTypeControl = 5,
}
impl Kabchpbejkk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kabchpbejkk::HeartDialStepTypeMissing => "HEART_DIAL_STEP_TYPE_MISSING",
            Kabchpbejkk::HeartDialStepTypeFull => "HEART_DIAL_STEP_TYPE_FULL",
            Kabchpbejkk::HeartDialStepTypeLock => "HEART_DIAL_STEP_TYPE_LOCK",
            Kabchpbejkk::HeartDialStepTypeUnlock => "HEART_DIAL_STEP_TYPE_UNLOCK",
            Kabchpbejkk::HeartDialStepTypeNormal => "HEART_DIAL_STEP_TYPE_NORMAL",
            Kabchpbejkk::HeartDialStepTypeControl => "HEART_DIAL_STEP_TYPE_CONTROL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_STEP_TYPE_MISSING" => Some(Self::HeartDialStepTypeMissing),
            "HEART_DIAL_STEP_TYPE_FULL" => Some(Self::HeartDialStepTypeFull),
            "HEART_DIAL_STEP_TYPE_LOCK" => Some(Self::HeartDialStepTypeLock),
            "HEART_DIAL_STEP_TYPE_UNLOCK" => Some(Self::HeartDialStepTypeUnlock),
            "HEART_DIAL_STEP_TYPE_NORMAL" => Some(Self::HeartDialStepTypeNormal),
            "HEART_DIAL_STEP_TYPE_CONTROL" => Some(Self::HeartDialStepTypeControl),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bpafcepnoai {
    HeartDialUnlockStatusLock = 0,
    HeartDialUnlockStatusUnlockSingle = 1,
    HeartDialUnlockStatusUnlockAll = 2,
}
impl Bpafcepnoai {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bpafcepnoai::HeartDialUnlockStatusLock => "HEART_DIAL_UNLOCK_STATUS_LOCK",
            Bpafcepnoai::HeartDialUnlockStatusUnlockSingle => {
                "HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE"
            }
            Bpafcepnoai::HeartDialUnlockStatusUnlockAll => {
                "HEART_DIAL_UNLOCK_STATUS_UNLOCK_ALL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_UNLOCK_STATUS_LOCK" => Some(Self::HeartDialUnlockStatusLock),
            "HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE" => {
                Some(Self::HeartDialUnlockStatusUnlockSingle)
            }
            "HEART_DIAL_UNLOCK_STATUS_UNLOCK_ALL" => {
                Some(Self::HeartDialUnlockStatusUnlockAll)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeliobusType {
    None = 0,
    CmdHeliobusUnlockSkillScNotify = 5896,
    CmdHeliobusSnsUpdateScNotify = 5862,
    CmdHeliobusActivityDataScRsp = 5888,
    CmdHeliobusEnterBattleScRsp = 5849,
    CmdHeliobusSnsLikeScRsp = 5871,
    CmdHeliobusSnsPostScRsp = 5873,
    CmdHeliobusSnsPostCsReq = 5839,
    CmdHeliobusEnterBattleCsReq = 5856,
    CmdHeliobusSnsCommentScRsp = 5827,
    CmdHeliobusSnsReadScRsp = 5820,
    CmdHeliobusChallengeUpdateScNotify = 5881,
    CmdHeliobusSnsLikeCsReq = 5830,
    CmdHeliobusSelectSkillCsReq = 5821,
    CmdHeliobusSnsCommentCsReq = 5887,
    CmdHeliobusInfoChangedScNotify = 5874,
    CmdHeliobusLineupUpdateScNotify = 5812,
    CmdHeliobusSelectSkillScRsp = 5882,
    CmdHeliobusStartRaidScRsp = 5809,
    CmdHeliobusSnsReadCsReq = 5891,
    CmdHeliobusStartRaidCsReq = 5851,
    CmdHeliobusUpgradeLevelCsReq = 5847,
    CmdHeliobusUpgradeLevelScRsp = 5894,
    CmdHeliobusActivityDataCsReq = 5861,
}
impl CmdHeliobusType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdHeliobusType::None => "CmdHeliobusTypeNone",
            CmdHeliobusType::CmdHeliobusUnlockSkillScNotify => {
                "CmdHeliobusUnlockSkillScNotify"
            }
            CmdHeliobusType::CmdHeliobusSnsUpdateScNotify => {
                "CmdHeliobusSnsUpdateScNotify"
            }
            CmdHeliobusType::CmdHeliobusActivityDataScRsp => {
                "CmdHeliobusActivityDataScRsp"
            }
            CmdHeliobusType::CmdHeliobusEnterBattleScRsp => "CmdHeliobusEnterBattleScRsp",
            CmdHeliobusType::CmdHeliobusSnsLikeScRsp => "CmdHeliobusSnsLikeScRsp",
            CmdHeliobusType::CmdHeliobusSnsPostScRsp => "CmdHeliobusSnsPostScRsp",
            CmdHeliobusType::CmdHeliobusSnsPostCsReq => "CmdHeliobusSnsPostCsReq",
            CmdHeliobusType::CmdHeliobusEnterBattleCsReq => "CmdHeliobusEnterBattleCsReq",
            CmdHeliobusType::CmdHeliobusSnsCommentScRsp => "CmdHeliobusSnsCommentScRsp",
            CmdHeliobusType::CmdHeliobusSnsReadScRsp => "CmdHeliobusSnsReadScRsp",
            CmdHeliobusType::CmdHeliobusChallengeUpdateScNotify => {
                "CmdHeliobusChallengeUpdateScNotify"
            }
            CmdHeliobusType::CmdHeliobusSnsLikeCsReq => "CmdHeliobusSnsLikeCsReq",
            CmdHeliobusType::CmdHeliobusSelectSkillCsReq => "CmdHeliobusSelectSkillCsReq",
            CmdHeliobusType::CmdHeliobusSnsCommentCsReq => "CmdHeliobusSnsCommentCsReq",
            CmdHeliobusType::CmdHeliobusInfoChangedScNotify => {
                "CmdHeliobusInfoChangedScNotify"
            }
            CmdHeliobusType::CmdHeliobusLineupUpdateScNotify => {
                "CmdHeliobusLineupUpdateScNotify"
            }
            CmdHeliobusType::CmdHeliobusSelectSkillScRsp => "CmdHeliobusSelectSkillScRsp",
            CmdHeliobusType::CmdHeliobusStartRaidScRsp => "CmdHeliobusStartRaidScRsp",
            CmdHeliobusType::CmdHeliobusSnsReadCsReq => "CmdHeliobusSnsReadCsReq",
            CmdHeliobusType::CmdHeliobusStartRaidCsReq => "CmdHeliobusStartRaidCsReq",
            CmdHeliobusType::CmdHeliobusUpgradeLevelCsReq => {
                "CmdHeliobusUpgradeLevelCsReq"
            }
            CmdHeliobusType::CmdHeliobusUpgradeLevelScRsp => {
                "CmdHeliobusUpgradeLevelScRsp"
            }
            CmdHeliobusType::CmdHeliobusActivityDataCsReq => {
                "CmdHeliobusActivityDataCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdHeliobusTypeNone" => Some(Self::None),
            "CmdHeliobusUnlockSkillScNotify" => {
                Some(Self::CmdHeliobusUnlockSkillScNotify)
            }
            "CmdHeliobusSnsUpdateScNotify" => Some(Self::CmdHeliobusSnsUpdateScNotify),
            "CmdHeliobusActivityDataScRsp" => Some(Self::CmdHeliobusActivityDataScRsp),
            "CmdHeliobusEnterBattleScRsp" => Some(Self::CmdHeliobusEnterBattleScRsp),
            "CmdHeliobusSnsLikeScRsp" => Some(Self::CmdHeliobusSnsLikeScRsp),
            "CmdHeliobusSnsPostScRsp" => Some(Self::CmdHeliobusSnsPostScRsp),
            "CmdHeliobusSnsPostCsReq" => Some(Self::CmdHeliobusSnsPostCsReq),
            "CmdHeliobusEnterBattleCsReq" => Some(Self::CmdHeliobusEnterBattleCsReq),
            "CmdHeliobusSnsCommentScRsp" => Some(Self::CmdHeliobusSnsCommentScRsp),
            "CmdHeliobusSnsReadScRsp" => Some(Self::CmdHeliobusSnsReadScRsp),
            "CmdHeliobusChallengeUpdateScNotify" => {
                Some(Self::CmdHeliobusChallengeUpdateScNotify)
            }
            "CmdHeliobusSnsLikeCsReq" => Some(Self::CmdHeliobusSnsLikeCsReq),
            "CmdHeliobusSelectSkillCsReq" => Some(Self::CmdHeliobusSelectSkillCsReq),
            "CmdHeliobusSnsCommentCsReq" => Some(Self::CmdHeliobusSnsCommentCsReq),
            "CmdHeliobusInfoChangedScNotify" => {
                Some(Self::CmdHeliobusInfoChangedScNotify)
            }
            "CmdHeliobusLineupUpdateScNotify" => {
                Some(Self::CmdHeliobusLineupUpdateScNotify)
            }
            "CmdHeliobusSelectSkillScRsp" => Some(Self::CmdHeliobusSelectSkillScRsp),
            "CmdHeliobusStartRaidScRsp" => Some(Self::CmdHeliobusStartRaidScRsp),
            "CmdHeliobusSnsReadCsReq" => Some(Self::CmdHeliobusSnsReadCsReq),
            "CmdHeliobusStartRaidCsReq" => Some(Self::CmdHeliobusStartRaidCsReq),
            "CmdHeliobusUpgradeLevelCsReq" => Some(Self::CmdHeliobusUpgradeLevelCsReq),
            "CmdHeliobusUpgradeLevelScRsp" => Some(Self::CmdHeliobusUpgradeLevelScRsp),
            "CmdHeliobusActivityDataCsReq" => Some(Self::CmdHeliobusActivityDataCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdItemType {
    None = 0,
    CmdLockEquipmentCsReq = 539,
    CmdSellItemCsReq = 570,
    CmdComposeSelectedRelicScRsp = 512,
    CmdDestroyItemCsReq = 532,
    CmdGetMarkItemListScRsp = 595,
    CmdRechargeSuccNotify = 549,
    CmdUseItemScRsp = 571,
    CmdAddEquipmentScNotify = 537,
    CmdGetBagCsReq = 561,
    CmdDiscardRelicCsReq = 593,
    CmdSellItemScRsp = 556,
    CmdDestroyItemScRsp = 555,
    CmdLockRelicScRsp = 503,
    CmdGetBagScRsp = 588,
    CmdComposeItemScRsp = 594,
    CmdCancelMarkItemNotify = 585,
    CmdGetRecyleTimeScRsp = 501,
    CmdExpUpRelicScRsp = 521,
    CmdPromoteEquipmentScRsp = 520,
    CmdExpUpEquipmentCsReq = 562,
    CmdLockRelicCsReq = 582,
    CmdDiscardRelicScRsp = 540,
    CmdComposeLimitNumUpdateNotify = 550,
    CmdRankUpEquipmentCsReq = 587,
    CmdExchangeHcoinCsReq = 551,
    CmdRelicRecommendScRsp = 505,
    CmdLockEquipmentScRsp = 573,
    CmdComposeSelectedRelicCsReq = 581,
    CmdExpUpRelicCsReq = 596,
    CmdComposeLimitNumCompleteNotify = 533,
    CmdExpUpEquipmentScRsp = 574,
    CmdGetRecyleTimeCsReq = 528,
    CmdSetTurnFoodSwitchScRsp = 517,
    CmdPromoteEquipmentCsReq = 591,
    CmdComposeItemCsReq = 547,
    CmdGetMarkItemListCsReq = 568,
    CmdMarkItemScRsp = 513,
    CmdGeneralVirtualItemDataNotify = 600,
    CmdMarkItemCsReq = 558,
    CmdSetTurnFoodSwitchCsReq = 526,
    CmdExchangeHcoinScRsp = 509,
    CmdSyncTurnFoodNotify = 554,
    CmdRelicRecommendCsReq = 548,
    CmdRankUpEquipmentScRsp = 527,
    CmdUseItemCsReq = 530,
}
impl CmdItemType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdItemType::None => "CmdItemTypeNone",
            CmdItemType::CmdLockEquipmentCsReq => "CmdLockEquipmentCsReq",
            CmdItemType::CmdSellItemCsReq => "CmdSellItemCsReq",
            CmdItemType::CmdComposeSelectedRelicScRsp => "CmdComposeSelectedRelicScRsp",
            CmdItemType::CmdDestroyItemCsReq => "CmdDestroyItemCsReq",
            CmdItemType::CmdGetMarkItemListScRsp => "CmdGetMarkItemListScRsp",
            CmdItemType::CmdRechargeSuccNotify => "CmdRechargeSuccNotify",
            CmdItemType::CmdUseItemScRsp => "CmdUseItemScRsp",
            CmdItemType::CmdAddEquipmentScNotify => "CmdAddEquipmentScNotify",
            CmdItemType::CmdGetBagCsReq => "CmdGetBagCsReq",
            CmdItemType::CmdDiscardRelicCsReq => "CmdDiscardRelicCsReq",
            CmdItemType::CmdSellItemScRsp => "CmdSellItemScRsp",
            CmdItemType::CmdDestroyItemScRsp => "CmdDestroyItemScRsp",
            CmdItemType::CmdLockRelicScRsp => "CmdLockRelicScRsp",
            CmdItemType::CmdGetBagScRsp => "CmdGetBagScRsp",
            CmdItemType::CmdComposeItemScRsp => "CmdComposeItemScRsp",
            CmdItemType::CmdCancelMarkItemNotify => "CmdCancelMarkItemNotify",
            CmdItemType::CmdGetRecyleTimeScRsp => "CmdGetRecyleTimeScRsp",
            CmdItemType::CmdExpUpRelicScRsp => "CmdExpUpRelicScRsp",
            CmdItemType::CmdPromoteEquipmentScRsp => "CmdPromoteEquipmentScRsp",
            CmdItemType::CmdExpUpEquipmentCsReq => "CmdExpUpEquipmentCsReq",
            CmdItemType::CmdLockRelicCsReq => "CmdLockRelicCsReq",
            CmdItemType::CmdDiscardRelicScRsp => "CmdDiscardRelicScRsp",
            CmdItemType::CmdComposeLimitNumUpdateNotify => {
                "CmdComposeLimitNumUpdateNotify"
            }
            CmdItemType::CmdRankUpEquipmentCsReq => "CmdRankUpEquipmentCsReq",
            CmdItemType::CmdExchangeHcoinCsReq => "CmdExchangeHcoinCsReq",
            CmdItemType::CmdRelicRecommendScRsp => "CmdRelicRecommendScRsp",
            CmdItemType::CmdLockEquipmentScRsp => "CmdLockEquipmentScRsp",
            CmdItemType::CmdComposeSelectedRelicCsReq => "CmdComposeSelectedRelicCsReq",
            CmdItemType::CmdExpUpRelicCsReq => "CmdExpUpRelicCsReq",
            CmdItemType::CmdComposeLimitNumCompleteNotify => {
                "CmdComposeLimitNumCompleteNotify"
            }
            CmdItemType::CmdExpUpEquipmentScRsp => "CmdExpUpEquipmentScRsp",
            CmdItemType::CmdGetRecyleTimeCsReq => "CmdGetRecyleTimeCsReq",
            CmdItemType::CmdSetTurnFoodSwitchScRsp => "CmdSetTurnFoodSwitchScRsp",
            CmdItemType::CmdPromoteEquipmentCsReq => "CmdPromoteEquipmentCsReq",
            CmdItemType::CmdComposeItemCsReq => "CmdComposeItemCsReq",
            CmdItemType::CmdGetMarkItemListCsReq => "CmdGetMarkItemListCsReq",
            CmdItemType::CmdMarkItemScRsp => "CmdMarkItemScRsp",
            CmdItemType::CmdGeneralVirtualItemDataNotify => {
                "CmdGeneralVirtualItemDataNotify"
            }
            CmdItemType::CmdMarkItemCsReq => "CmdMarkItemCsReq",
            CmdItemType::CmdSetTurnFoodSwitchCsReq => "CmdSetTurnFoodSwitchCsReq",
            CmdItemType::CmdExchangeHcoinScRsp => "CmdExchangeHcoinScRsp",
            CmdItemType::CmdSyncTurnFoodNotify => "CmdSyncTurnFoodNotify",
            CmdItemType::CmdRelicRecommendCsReq => "CmdRelicRecommendCsReq",
            CmdItemType::CmdRankUpEquipmentScRsp => "CmdRankUpEquipmentScRsp",
            CmdItemType::CmdUseItemCsReq => "CmdUseItemCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdItemTypeNone" => Some(Self::None),
            "CmdLockEquipmentCsReq" => Some(Self::CmdLockEquipmentCsReq),
            "CmdSellItemCsReq" => Some(Self::CmdSellItemCsReq),
            "CmdComposeSelectedRelicScRsp" => Some(Self::CmdComposeSelectedRelicScRsp),
            "CmdDestroyItemCsReq" => Some(Self::CmdDestroyItemCsReq),
            "CmdGetMarkItemListScRsp" => Some(Self::CmdGetMarkItemListScRsp),
            "CmdRechargeSuccNotify" => Some(Self::CmdRechargeSuccNotify),
            "CmdUseItemScRsp" => Some(Self::CmdUseItemScRsp),
            "CmdAddEquipmentScNotify" => Some(Self::CmdAddEquipmentScNotify),
            "CmdGetBagCsReq" => Some(Self::CmdGetBagCsReq),
            "CmdDiscardRelicCsReq" => Some(Self::CmdDiscardRelicCsReq),
            "CmdSellItemScRsp" => Some(Self::CmdSellItemScRsp),
            "CmdDestroyItemScRsp" => Some(Self::CmdDestroyItemScRsp),
            "CmdLockRelicScRsp" => Some(Self::CmdLockRelicScRsp),
            "CmdGetBagScRsp" => Some(Self::CmdGetBagScRsp),
            "CmdComposeItemScRsp" => Some(Self::CmdComposeItemScRsp),
            "CmdCancelMarkItemNotify" => Some(Self::CmdCancelMarkItemNotify),
            "CmdGetRecyleTimeScRsp" => Some(Self::CmdGetRecyleTimeScRsp),
            "CmdExpUpRelicScRsp" => Some(Self::CmdExpUpRelicScRsp),
            "CmdPromoteEquipmentScRsp" => Some(Self::CmdPromoteEquipmentScRsp),
            "CmdExpUpEquipmentCsReq" => Some(Self::CmdExpUpEquipmentCsReq),
            "CmdLockRelicCsReq" => Some(Self::CmdLockRelicCsReq),
            "CmdDiscardRelicScRsp" => Some(Self::CmdDiscardRelicScRsp),
            "CmdComposeLimitNumUpdateNotify" => {
                Some(Self::CmdComposeLimitNumUpdateNotify)
            }
            "CmdRankUpEquipmentCsReq" => Some(Self::CmdRankUpEquipmentCsReq),
            "CmdExchangeHcoinCsReq" => Some(Self::CmdExchangeHcoinCsReq),
            "CmdRelicRecommendScRsp" => Some(Self::CmdRelicRecommendScRsp),
            "CmdLockEquipmentScRsp" => Some(Self::CmdLockEquipmentScRsp),
            "CmdComposeSelectedRelicCsReq" => Some(Self::CmdComposeSelectedRelicCsReq),
            "CmdExpUpRelicCsReq" => Some(Self::CmdExpUpRelicCsReq),
            "CmdComposeLimitNumCompleteNotify" => {
                Some(Self::CmdComposeLimitNumCompleteNotify)
            }
            "CmdExpUpEquipmentScRsp" => Some(Self::CmdExpUpEquipmentScRsp),
            "CmdGetRecyleTimeCsReq" => Some(Self::CmdGetRecyleTimeCsReq),
            "CmdSetTurnFoodSwitchScRsp" => Some(Self::CmdSetTurnFoodSwitchScRsp),
            "CmdPromoteEquipmentCsReq" => Some(Self::CmdPromoteEquipmentCsReq),
            "CmdComposeItemCsReq" => Some(Self::CmdComposeItemCsReq),
            "CmdGetMarkItemListCsReq" => Some(Self::CmdGetMarkItemListCsReq),
            "CmdMarkItemScRsp" => Some(Self::CmdMarkItemScRsp),
            "CmdGeneralVirtualItemDataNotify" => {
                Some(Self::CmdGeneralVirtualItemDataNotify)
            }
            "CmdMarkItemCsReq" => Some(Self::CmdMarkItemCsReq),
            "CmdSetTurnFoodSwitchCsReq" => Some(Self::CmdSetTurnFoodSwitchCsReq),
            "CmdExchangeHcoinScRsp" => Some(Self::CmdExchangeHcoinScRsp),
            "CmdSyncTurnFoodNotify" => Some(Self::CmdSyncTurnFoodNotify),
            "CmdRelicRecommendCsReq" => Some(Self::CmdRelicRecommendCsReq),
            "CmdRankUpEquipmentScRsp" => Some(Self::CmdRankUpEquipmentScRsp),
            "CmdUseItemCsReq" => Some(Self::CmdUseItemCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TurnFoodSwitchType {
    TurnFoodSwitchNone = 0,
    TurnFoodSwitchAttack = 1,
    TurnFoodSwitchDefine = 2,
}
impl TurnFoodSwitchType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TurnFoodSwitchType::TurnFoodSwitchNone => "TURN_FOOD_SWITCH_NONE",
            TurnFoodSwitchType::TurnFoodSwitchAttack => "TURN_FOOD_SWITCH_ATTACK",
            TurnFoodSwitchType::TurnFoodSwitchDefine => "TURN_FOOD_SWITCH_DEFINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TURN_FOOD_SWITCH_NONE" => Some(Self::TurnFoodSwitchNone),
            "TURN_FOOD_SWITCH_ATTACK" => Some(Self::TurnFoodSwitchAttack),
            "TURN_FOOD_SWITCH_DEFINE" => Some(Self::TurnFoodSwitchDefine),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdJukeboxType {
    None = 0,
    CmdPlayBackGroundMusicCsReq = 3191,
    CmdGetJukeboxDataScRsp = 3188,
    CmdGetJukeboxDataCsReq = 3161,
    CmdTrialBackGroundMusicCsReq = 3130,
    CmdTrialBackGroundMusicScRsp = 3171,
    CmdUnlockBackGroundMusicCsReq = 3139,
    CmdUnlockBackGroundMusicScRsp = 3173,
    CmdPlayBackGroundMusicScRsp = 3120,
}
impl CmdJukeboxType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdJukeboxType::None => "CmdJukeboxTypeNone",
            CmdJukeboxType::CmdPlayBackGroundMusicCsReq => "CmdPlayBackGroundMusicCsReq",
            CmdJukeboxType::CmdGetJukeboxDataScRsp => "CmdGetJukeboxDataScRsp",
            CmdJukeboxType::CmdGetJukeboxDataCsReq => "CmdGetJukeboxDataCsReq",
            CmdJukeboxType::CmdTrialBackGroundMusicCsReq => {
                "CmdTrialBackGroundMusicCsReq"
            }
            CmdJukeboxType::CmdTrialBackGroundMusicScRsp => {
                "CmdTrialBackGroundMusicScRsp"
            }
            CmdJukeboxType::CmdUnlockBackGroundMusicCsReq => {
                "CmdUnlockBackGroundMusicCsReq"
            }
            CmdJukeboxType::CmdUnlockBackGroundMusicScRsp => {
                "CmdUnlockBackGroundMusicScRsp"
            }
            CmdJukeboxType::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 {
            "CmdJukeboxTypeNone" => Some(Self::None),
            "CmdPlayBackGroundMusicCsReq" => Some(Self::CmdPlayBackGroundMusicCsReq),
            "CmdGetJukeboxDataScRsp" => Some(Self::CmdGetJukeboxDataScRsp),
            "CmdGetJukeboxDataCsReq" => Some(Self::CmdGetJukeboxDataCsReq),
            "CmdTrialBackGroundMusicCsReq" => Some(Self::CmdTrialBackGroundMusicCsReq),
            "CmdTrialBackGroundMusicScRsp" => Some(Self::CmdTrialBackGroundMusicScRsp),
            "CmdUnlockBackGroundMusicCsReq" => Some(Self::CmdUnlockBackGroundMusicCsReq),
            "CmdUnlockBackGroundMusicScRsp" => Some(Self::CmdUnlockBackGroundMusicScRsp),
            "CmdPlayBackGroundMusicScRsp" => Some(Self::CmdPlayBackGroundMusicScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLineupType {
    None = 0,
    CmdGetCurLineupDataScRsp = 720,
    CmdSwapLineupScRsp = 727,
    CmdVirtualLineupDestroyNotify = 751,
    CmdGetCurLineupDataCsReq = 791,
    CmdSwapLineupCsReq = 787,
    CmdSetLineupNameScRsp = 770,
    CmdReplaceLineupScRsp = 781,
    CmdJoinLineupScRsp = 773,
    CmdSwitchLineupIndexScRsp = 782,
    CmdQuitLineupScRsp = 771,
    CmdSyncLineupNotify = 762,
    CmdGetLineupAvatarDataCsReq = 774,
    CmdQuitLineupCsReq = 730,
    CmdGetLineupAvatarDataScRsp = 747,
    CmdSwitchLineupIndexCsReq = 721,
    CmdChangeLineupLeaderCsReq = 794,
    CmdGetAllLineupDataCsReq = 756,
    CmdGetStageLineupCsReq = 761,
    CmdGetStageLineupScRsp = 788,
    CmdExtraLineupDestroyNotify = 712,
    CmdGetAllLineupDataScRsp = 749,
    CmdJoinLineupCsReq = 739,
    CmdChangeLineupLeaderScRsp = 796,
    CmdSetLineupNameCsReq = 703,
    CmdReplaceLineupCsReq = 709,
}
impl CmdLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdLineupType::None => "CmdLineupTypeNone",
            CmdLineupType::CmdGetCurLineupDataScRsp => "CmdGetCurLineupDataScRsp",
            CmdLineupType::CmdSwapLineupScRsp => "CmdSwapLineupScRsp",
            CmdLineupType::CmdVirtualLineupDestroyNotify => {
                "CmdVirtualLineupDestroyNotify"
            }
            CmdLineupType::CmdGetCurLineupDataCsReq => "CmdGetCurLineupDataCsReq",
            CmdLineupType::CmdSwapLineupCsReq => "CmdSwapLineupCsReq",
            CmdLineupType::CmdSetLineupNameScRsp => "CmdSetLineupNameScRsp",
            CmdLineupType::CmdReplaceLineupScRsp => "CmdReplaceLineupScRsp",
            CmdLineupType::CmdJoinLineupScRsp => "CmdJoinLineupScRsp",
            CmdLineupType::CmdSwitchLineupIndexScRsp => "CmdSwitchLineupIndexScRsp",
            CmdLineupType::CmdQuitLineupScRsp => "CmdQuitLineupScRsp",
            CmdLineupType::CmdSyncLineupNotify => "CmdSyncLineupNotify",
            CmdLineupType::CmdGetLineupAvatarDataCsReq => "CmdGetLineupAvatarDataCsReq",
            CmdLineupType::CmdQuitLineupCsReq => "CmdQuitLineupCsReq",
            CmdLineupType::CmdGetLineupAvatarDataScRsp => "CmdGetLineupAvatarDataScRsp",
            CmdLineupType::CmdSwitchLineupIndexCsReq => "CmdSwitchLineupIndexCsReq",
            CmdLineupType::CmdChangeLineupLeaderCsReq => "CmdChangeLineupLeaderCsReq",
            CmdLineupType::CmdGetAllLineupDataCsReq => "CmdGetAllLineupDataCsReq",
            CmdLineupType::CmdGetStageLineupCsReq => "CmdGetStageLineupCsReq",
            CmdLineupType::CmdGetStageLineupScRsp => "CmdGetStageLineupScRsp",
            CmdLineupType::CmdExtraLineupDestroyNotify => "CmdExtraLineupDestroyNotify",
            CmdLineupType::CmdGetAllLineupDataScRsp => "CmdGetAllLineupDataScRsp",
            CmdLineupType::CmdJoinLineupCsReq => "CmdJoinLineupCsReq",
            CmdLineupType::CmdChangeLineupLeaderScRsp => "CmdChangeLineupLeaderScRsp",
            CmdLineupType::CmdSetLineupNameCsReq => "CmdSetLineupNameCsReq",
            CmdLineupType::CmdReplaceLineupCsReq => "CmdReplaceLineupCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdLineupTypeNone" => Some(Self::None),
            "CmdGetCurLineupDataScRsp" => Some(Self::CmdGetCurLineupDataScRsp),
            "CmdSwapLineupScRsp" => Some(Self::CmdSwapLineupScRsp),
            "CmdVirtualLineupDestroyNotify" => Some(Self::CmdVirtualLineupDestroyNotify),
            "CmdGetCurLineupDataCsReq" => Some(Self::CmdGetCurLineupDataCsReq),
            "CmdSwapLineupCsReq" => Some(Self::CmdSwapLineupCsReq),
            "CmdSetLineupNameScRsp" => Some(Self::CmdSetLineupNameScRsp),
            "CmdReplaceLineupScRsp" => Some(Self::CmdReplaceLineupScRsp),
            "CmdJoinLineupScRsp" => Some(Self::CmdJoinLineupScRsp),
            "CmdSwitchLineupIndexScRsp" => Some(Self::CmdSwitchLineupIndexScRsp),
            "CmdQuitLineupScRsp" => Some(Self::CmdQuitLineupScRsp),
            "CmdSyncLineupNotify" => Some(Self::CmdSyncLineupNotify),
            "CmdGetLineupAvatarDataCsReq" => Some(Self::CmdGetLineupAvatarDataCsReq),
            "CmdQuitLineupCsReq" => Some(Self::CmdQuitLineupCsReq),
            "CmdGetLineupAvatarDataScRsp" => Some(Self::CmdGetLineupAvatarDataScRsp),
            "CmdSwitchLineupIndexCsReq" => Some(Self::CmdSwitchLineupIndexCsReq),
            "CmdChangeLineupLeaderCsReq" => Some(Self::CmdChangeLineupLeaderCsReq),
            "CmdGetAllLineupDataCsReq" => Some(Self::CmdGetAllLineupDataCsReq),
            "CmdGetStageLineupCsReq" => Some(Self::CmdGetStageLineupCsReq),
            "CmdGetStageLineupScRsp" => Some(Self::CmdGetStageLineupScRsp),
            "CmdExtraLineupDestroyNotify" => Some(Self::CmdExtraLineupDestroyNotify),
            "CmdGetAllLineupDataScRsp" => Some(Self::CmdGetAllLineupDataScRsp),
            "CmdJoinLineupCsReq" => Some(Self::CmdJoinLineupCsReq),
            "CmdChangeLineupLeaderScRsp" => Some(Self::CmdChangeLineupLeaderScRsp),
            "CmdSetLineupNameCsReq" => Some(Self::CmdSetLineupNameCsReq),
            "CmdReplaceLineupCsReq" => Some(Self::CmdReplaceLineupCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ecnccneehpm {
    LineupTypeNone = 0,
    LineupTypePreset = 1,
    LineupTypeVirtual = 2,
    LineupTypeExtra = 3,
    LineupTypeStoryLine = 4,
}
impl Ecnccneehpm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ecnccneehpm::LineupTypeNone => "LINEUP_TYPE_NONE",
            Ecnccneehpm::LineupTypePreset => "LINEUP_TYPE_PRESET",
            Ecnccneehpm::LineupTypeVirtual => "LINEUP_TYPE_VIRTUAL",
            Ecnccneehpm::LineupTypeExtra => "LINEUP_TYPE_EXTRA",
            Ecnccneehpm::LineupTypeStoryLine => "LINEUP_TYPE_STORY_LINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LINEUP_TYPE_NONE" => Some(Self::LineupTypeNone),
            "LINEUP_TYPE_PRESET" => Some(Self::LineupTypePreset),
            "LINEUP_TYPE_VIRTUAL" => Some(Self::LineupTypeVirtual),
            "LINEUP_TYPE_EXTRA" => Some(Self::LineupTypeExtra),
            "LINEUP_TYPE_STORY_LINE" => Some(Self::LineupTypeStoryLine),
            _ => None,
        }
    }
}
#[derive(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,
}
impl ExtraLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ExtraLineupType::LineupNone => "LINEUP_NONE",
            ExtraLineupType::LineupChallenge => "LINEUP_CHALLENGE",
            ExtraLineupType::LineupRogue => "LINEUP_ROGUE",
            ExtraLineupType::LineupChallenge2 => "LINEUP_CHALLENGE_2",
            ExtraLineupType::LineupChallenge3 => "LINEUP_CHALLENGE_3",
            ExtraLineupType::LineupRogueChallenge => "LINEUP_ROGUE_CHALLENGE",
            ExtraLineupType::LineupStageTrial => "LINEUP_STAGE_TRIAL",
            ExtraLineupType::LineupRogueTrial => "LINEUP_ROGUE_TRIAL",
            ExtraLineupType::LineupActivity => "LINEUP_ACTIVITY",
            ExtraLineupType::LineupBoxingClub => "LINEUP_BOXING_CLUB",
            ExtraLineupType::LineupTreasureDungeon => "LINEUP_TREASURE_DUNGEON",
            ExtraLineupType::LineupChessRogue => "LINEUP_CHESS_ROGUE",
            ExtraLineupType::LineupHeliobus => "LINEUP_HELIOBUS",
            ExtraLineupType::LineupTournRogue => "LINEUP_TOURN_ROGUE",
            ExtraLineupType::LineupRelicRogue => "LINEUP_RELIC_ROGUE",
        }
    }
    /// 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),
            _ => None,
        }
    }
}
#[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,
}
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 {
            SyncLineupReason::SyncReasonNone => "SYNC_REASON_NONE",
            SyncLineupReason::SyncReasonMpAdd => "SYNC_REASON_MP_ADD",
            SyncLineupReason::SyncReasonMpAddPropHit => "SYNC_REASON_MP_ADD_PROP_HIT",
            SyncLineupReason::SyncReasonHpAdd => "SYNC_REASON_HP_ADD",
            SyncLineupReason::SyncReasonHpAddPropHit => "SYNC_REASON_HP_ADD_PROP_HIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SYNC_REASON_NONE" => Some(Self::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),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLobbyType {
    None = 0,
    CmdLobbySyncInfoScNotify = 7390,
    CmdLobbyInviteScNotify = 7357,
    CmdLobbyBeginScRsp = 7378,
    CmdLobbyCreateCsReq = 7395,
    CmdLobbyModifyPlayerInfoScRsp = 7353,
    CmdLobbyQuitScRsp = 7359,
    CmdLobbyCreateScRsp = 7367,
    CmdLobbyModifyPlayerInfoCsReq = 7383,
    CmdLobbyGetInfoCsReq = 7364,
    CmdLobbyKickOutScRsp = 7356,
    CmdLobbyJoinCsReq = 7370,
    CmdLobbyInviteCsReq = 7355,
    CmdLobbyQuitCsReq = 7387,
    CmdLobbyGetInfoScRsp = 7398,
    CmdLobbyBeginCsReq = 7374,
    CmdLobbyJoinScRsp = 7363,
    CmdLobbyInviteScRsp = 7379,
    CmdLobbyKickOutCsReq = 7377,
}
impl CmdLobbyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdLobbyType::None => "CmdLobbyTypeNone",
            CmdLobbyType::CmdLobbySyncInfoScNotify => "CmdLobbySyncInfoScNotify",
            CmdLobbyType::CmdLobbyInviteScNotify => "CmdLobbyInviteScNotify",
            CmdLobbyType::CmdLobbyBeginScRsp => "CmdLobbyBeginScRsp",
            CmdLobbyType::CmdLobbyCreateCsReq => "CmdLobbyCreateCsReq",
            CmdLobbyType::CmdLobbyModifyPlayerInfoScRsp => {
                "CmdLobbyModifyPlayerInfoScRsp"
            }
            CmdLobbyType::CmdLobbyQuitScRsp => "CmdLobbyQuitScRsp",
            CmdLobbyType::CmdLobbyCreateScRsp => "CmdLobbyCreateScRsp",
            CmdLobbyType::CmdLobbyModifyPlayerInfoCsReq => {
                "CmdLobbyModifyPlayerInfoCsReq"
            }
            CmdLobbyType::CmdLobbyGetInfoCsReq => "CmdLobbyGetInfoCsReq",
            CmdLobbyType::CmdLobbyKickOutScRsp => "CmdLobbyKickOutScRsp",
            CmdLobbyType::CmdLobbyJoinCsReq => "CmdLobbyJoinCsReq",
            CmdLobbyType::CmdLobbyInviteCsReq => "CmdLobbyInviteCsReq",
            CmdLobbyType::CmdLobbyQuitCsReq => "CmdLobbyQuitCsReq",
            CmdLobbyType::CmdLobbyGetInfoScRsp => "CmdLobbyGetInfoScRsp",
            CmdLobbyType::CmdLobbyBeginCsReq => "CmdLobbyBeginCsReq",
            CmdLobbyType::CmdLobbyJoinScRsp => "CmdLobbyJoinScRsp",
            CmdLobbyType::CmdLobbyInviteScRsp => "CmdLobbyInviteScRsp",
            CmdLobbyType::CmdLobbyKickOutCsReq => "CmdLobbyKickOutCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdLobbyTypeNone" => Some(Self::None),
            "CmdLobbySyncInfoScNotify" => Some(Self::CmdLobbySyncInfoScNotify),
            "CmdLobbyInviteScNotify" => Some(Self::CmdLobbyInviteScNotify),
            "CmdLobbyBeginScRsp" => Some(Self::CmdLobbyBeginScRsp),
            "CmdLobbyCreateCsReq" => Some(Self::CmdLobbyCreateCsReq),
            "CmdLobbyModifyPlayerInfoScRsp" => Some(Self::CmdLobbyModifyPlayerInfoScRsp),
            "CmdLobbyQuitScRsp" => Some(Self::CmdLobbyQuitScRsp),
            "CmdLobbyCreateScRsp" => Some(Self::CmdLobbyCreateScRsp),
            "CmdLobbyModifyPlayerInfoCsReq" => Some(Self::CmdLobbyModifyPlayerInfoCsReq),
            "CmdLobbyGetInfoCsReq" => Some(Self::CmdLobbyGetInfoCsReq),
            "CmdLobbyKickOutScRsp" => Some(Self::CmdLobbyKickOutScRsp),
            "CmdLobbyJoinCsReq" => Some(Self::CmdLobbyJoinCsReq),
            "CmdLobbyInviteCsReq" => Some(Self::CmdLobbyInviteCsReq),
            "CmdLobbyQuitCsReq" => Some(Self::CmdLobbyQuitCsReq),
            "CmdLobbyGetInfoScRsp" => Some(Self::CmdLobbyGetInfoScRsp),
            "CmdLobbyBeginCsReq" => Some(Self::CmdLobbyBeginCsReq),
            "CmdLobbyJoinScRsp" => Some(Self::CmdLobbyJoinScRsp),
            "CmdLobbyInviteScRsp" => Some(Self::CmdLobbyInviteScRsp),
            "CmdLobbyKickOutCsReq" => Some(Self::CmdLobbyKickOutCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMailType {
    None = 0,
    CmdGetMailScRsp = 888,
    CmdNewMailScNotify = 887,
    CmdMarkReadMailCsReq = 891,
    CmdDelMailScRsp = 873,
    CmdGetMailCsReq = 861,
    CmdTakeMailAttachmentScRsp = 871,
    CmdMarkReadMailScRsp = 820,
    CmdTakeMailAttachmentCsReq = 830,
    CmdDelMailCsReq = 839,
}
impl CmdMailType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMailType::None => "CmdMailTypeNone",
            CmdMailType::CmdGetMailScRsp => "CmdGetMailScRsp",
            CmdMailType::CmdNewMailScNotify => "CmdNewMailScNotify",
            CmdMailType::CmdMarkReadMailCsReq => "CmdMarkReadMailCsReq",
            CmdMailType::CmdDelMailScRsp => "CmdDelMailScRsp",
            CmdMailType::CmdGetMailCsReq => "CmdGetMailCsReq",
            CmdMailType::CmdTakeMailAttachmentScRsp => "CmdTakeMailAttachmentScRsp",
            CmdMailType::CmdMarkReadMailScRsp => "CmdMarkReadMailScRsp",
            CmdMailType::CmdTakeMailAttachmentCsReq => "CmdTakeMailAttachmentCsReq",
            CmdMailType::CmdDelMailCsReq => "CmdDelMailCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMailTypeNone" => Some(Self::None),
            "CmdGetMailScRsp" => Some(Self::CmdGetMailScRsp),
            "CmdNewMailScNotify" => Some(Self::CmdNewMailScNotify),
            "CmdMarkReadMailCsReq" => Some(Self::CmdMarkReadMailCsReq),
            "CmdDelMailScRsp" => Some(Self::CmdDelMailScRsp),
            "CmdGetMailCsReq" => Some(Self::CmdGetMailCsReq),
            "CmdTakeMailAttachmentScRsp" => Some(Self::CmdTakeMailAttachmentScRsp),
            "CmdMarkReadMailScRsp" => Some(Self::CmdMarkReadMailScRsp),
            "CmdTakeMailAttachmentCsReq" => Some(Self::CmdTakeMailAttachmentCsReq),
            "CmdDelMailCsReq" => Some(Self::CmdDelMailCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MailType {
    Normal = 0,
    Star = 1,
}
impl MailType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MailType::Normal => "MAIL_TYPE_NORMAL",
            MailType::Star => "MAIL_TYPE_STAR",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAIL_TYPE_NORMAL" => Some(Self::Normal),
            "MAIL_TYPE_STAR" => Some(Self::Star),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMapRotationType {
    None = 0,
    CmdRemoveRotaterCsReq = 6803,
    CmdEnterMapRotationRegionScRsp = 6888,
    CmdRotateMapScRsp = 6871,
    CmdResetMapRotationRegionCsReq = 6847,
    CmdLeaveMapRotationRegionCsReq = 6887,
    CmdEnterMapRotationRegionCsReq = 6861,
    CmdGetMapRotationDataCsReq = 6862,
    CmdRotateMapCsReq = 6830,
    CmdGetMapRotationDataScRsp = 6874,
    CmdRemoveRotaterScRsp = 6870,
    CmdLeaveMapRotationRegionScRsp = 6827,
    CmdUpdateMapRotationDataScNotify = 6882,
    CmdDeployRotaterScRsp = 6873,
    CmdInteractChargerScRsp = 6820,
    CmdDeployRotaterCsReq = 6839,
    CmdResetMapRotationRegionScRsp = 6894,
    CmdInteractChargerCsReq = 6891,
    CmdLeaveMapRotationRegionScNotify = 6896,
    CmdUpdateRotaterScNotify = 6856,
    CmdUpdateEnergyScNotify = 6821,
}
impl CmdMapRotationType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMapRotationType::None => "CmdMapRotationTypeNone",
            CmdMapRotationType::CmdRemoveRotaterCsReq => "CmdRemoveRotaterCsReq",
            CmdMapRotationType::CmdEnterMapRotationRegionScRsp => {
                "CmdEnterMapRotationRegionScRsp"
            }
            CmdMapRotationType::CmdRotateMapScRsp => "CmdRotateMapScRsp",
            CmdMapRotationType::CmdResetMapRotationRegionCsReq => {
                "CmdResetMapRotationRegionCsReq"
            }
            CmdMapRotationType::CmdLeaveMapRotationRegionCsReq => {
                "CmdLeaveMapRotationRegionCsReq"
            }
            CmdMapRotationType::CmdEnterMapRotationRegionCsReq => {
                "CmdEnterMapRotationRegionCsReq"
            }
            CmdMapRotationType::CmdGetMapRotationDataCsReq => {
                "CmdGetMapRotationDataCsReq"
            }
            CmdMapRotationType::CmdRotateMapCsReq => "CmdRotateMapCsReq",
            CmdMapRotationType::CmdGetMapRotationDataScRsp => {
                "CmdGetMapRotationDataScRsp"
            }
            CmdMapRotationType::CmdRemoveRotaterScRsp => "CmdRemoveRotaterScRsp",
            CmdMapRotationType::CmdLeaveMapRotationRegionScRsp => {
                "CmdLeaveMapRotationRegionScRsp"
            }
            CmdMapRotationType::CmdUpdateMapRotationDataScNotify => {
                "CmdUpdateMapRotationDataScNotify"
            }
            CmdMapRotationType::CmdDeployRotaterScRsp => "CmdDeployRotaterScRsp",
            CmdMapRotationType::CmdInteractChargerScRsp => "CmdInteractChargerScRsp",
            CmdMapRotationType::CmdDeployRotaterCsReq => "CmdDeployRotaterCsReq",
            CmdMapRotationType::CmdResetMapRotationRegionScRsp => {
                "CmdResetMapRotationRegionScRsp"
            }
            CmdMapRotationType::CmdInteractChargerCsReq => "CmdInteractChargerCsReq",
            CmdMapRotationType::CmdLeaveMapRotationRegionScNotify => {
                "CmdLeaveMapRotationRegionScNotify"
            }
            CmdMapRotationType::CmdUpdateRotaterScNotify => "CmdUpdateRotaterScNotify",
            CmdMapRotationType::CmdUpdateEnergyScNotify => "CmdUpdateEnergyScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMapRotationTypeNone" => Some(Self::None),
            "CmdRemoveRotaterCsReq" => Some(Self::CmdRemoveRotaterCsReq),
            "CmdEnterMapRotationRegionScRsp" => {
                Some(Self::CmdEnterMapRotationRegionScRsp)
            }
            "CmdRotateMapScRsp" => Some(Self::CmdRotateMapScRsp),
            "CmdResetMapRotationRegionCsReq" => {
                Some(Self::CmdResetMapRotationRegionCsReq)
            }
            "CmdLeaveMapRotationRegionCsReq" => {
                Some(Self::CmdLeaveMapRotationRegionCsReq)
            }
            "CmdEnterMapRotationRegionCsReq" => {
                Some(Self::CmdEnterMapRotationRegionCsReq)
            }
            "CmdGetMapRotationDataCsReq" => Some(Self::CmdGetMapRotationDataCsReq),
            "CmdRotateMapCsReq" => Some(Self::CmdRotateMapCsReq),
            "CmdGetMapRotationDataScRsp" => Some(Self::CmdGetMapRotationDataScRsp),
            "CmdRemoveRotaterScRsp" => Some(Self::CmdRemoveRotaterScRsp),
            "CmdLeaveMapRotationRegionScRsp" => {
                Some(Self::CmdLeaveMapRotationRegionScRsp)
            }
            "CmdUpdateMapRotationDataScNotify" => {
                Some(Self::CmdUpdateMapRotationDataScNotify)
            }
            "CmdDeployRotaterScRsp" => Some(Self::CmdDeployRotaterScRsp),
            "CmdInteractChargerScRsp" => Some(Self::CmdInteractChargerScRsp),
            "CmdDeployRotaterCsReq" => Some(Self::CmdDeployRotaterCsReq),
            "CmdResetMapRotationRegionScRsp" => {
                Some(Self::CmdResetMapRotationRegionScRsp)
            }
            "CmdInteractChargerCsReq" => Some(Self::CmdInteractChargerCsReq),
            "CmdLeaveMapRotationRegionScNotify" => {
                Some(Self::CmdLeaveMapRotationRegionScNotify)
            }
            "CmdUpdateRotaterScNotify" => Some(Self::CmdUpdateRotaterScNotify),
            "CmdUpdateEnergyScNotify" => Some(Self::CmdUpdateEnergyScNotify),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchType {
    None = 0,
    CmdMatchResultScNotify = 7324,
    CmdStartMatchScRsp = 7317,
    CmdStartMatchCsReq = 7345,
    CmdGetCrossInfoCsReq = 7328,
    CmdCancelMatchScRsp = 7313,
    CmdCancelMatchCsReq = 7320,
    CmdGetCrossInfoScRsp = 7333,
}
impl CmdMatchType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMatchType::None => "CmdMatchTypeNone",
            CmdMatchType::CmdMatchResultScNotify => "CmdMatchResultScNotify",
            CmdMatchType::CmdStartMatchScRsp => "CmdStartMatchScRsp",
            CmdMatchType::CmdStartMatchCsReq => "CmdStartMatchCsReq",
            CmdMatchType::CmdGetCrossInfoCsReq => "CmdGetCrossInfoCsReq",
            CmdMatchType::CmdCancelMatchScRsp => "CmdCancelMatchScRsp",
            CmdMatchType::CmdCancelMatchCsReq => "CmdCancelMatchCsReq",
            CmdMatchType::CmdGetCrossInfoScRsp => "CmdGetCrossInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMatchTypeNone" => Some(Self::None),
            "CmdMatchResultScNotify" => Some(Self::CmdMatchResultScNotify),
            "CmdStartMatchScRsp" => Some(Self::CmdStartMatchScRsp),
            "CmdStartMatchCsReq" => Some(Self::CmdStartMatchCsReq),
            "CmdGetCrossInfoCsReq" => Some(Self::CmdGetCrossInfoCsReq),
            "CmdCancelMatchScRsp" => Some(Self::CmdCancelMatchScRsp),
            "CmdCancelMatchCsReq" => Some(Self::CmdCancelMatchCsReq),
            "CmdGetCrossInfoScRsp" => Some(Self::CmdGetCrossInfoScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchThreeModuleType {
    None = 0,
    CmdMatchThreeLevelEndScRsp = 7413,
    CmdMatchThreeGetDataCsReq = 7445,
    CmdMatchThreeSyncDataScNotify = 7424,
    CmdMatchThreeLevelEndCsReq = 7420,
    CmdMatchThreeGetDataScRsp = 7417,
    CmdMatchThreeSetBirdPosScRsp = 7433,
    CmdMatchThreeSetBirdPosCsReq = 7428,
}
impl CmdMatchThreeModuleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMatchThreeModuleType::None => "CmdMatchThreeModuleTypeNone",
            CmdMatchThreeModuleType::CmdMatchThreeLevelEndScRsp => {
                "CmdMatchThreeLevelEndScRsp"
            }
            CmdMatchThreeModuleType::CmdMatchThreeGetDataCsReq => {
                "CmdMatchThreeGetDataCsReq"
            }
            CmdMatchThreeModuleType::CmdMatchThreeSyncDataScNotify => {
                "CmdMatchThreeSyncDataScNotify"
            }
            CmdMatchThreeModuleType::CmdMatchThreeLevelEndCsReq => {
                "CmdMatchThreeLevelEndCsReq"
            }
            CmdMatchThreeModuleType::CmdMatchThreeGetDataScRsp => {
                "CmdMatchThreeGetDataScRsp"
            }
            CmdMatchThreeModuleType::CmdMatchThreeSetBirdPosScRsp => {
                "CmdMatchThreeSetBirdPosScRsp"
            }
            CmdMatchThreeModuleType::CmdMatchThreeSetBirdPosCsReq => {
                "CmdMatchThreeSetBirdPosCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMatchThreeModuleTypeNone" => Some(Self::None),
            "CmdMatchThreeLevelEndScRsp" => Some(Self::CmdMatchThreeLevelEndScRsp),
            "CmdMatchThreeGetDataCsReq" => Some(Self::CmdMatchThreeGetDataCsReq),
            "CmdMatchThreeSyncDataScNotify" => Some(Self::CmdMatchThreeSyncDataScNotify),
            "CmdMatchThreeLevelEndCsReq" => Some(Self::CmdMatchThreeLevelEndCsReq),
            "CmdMatchThreeGetDataScRsp" => Some(Self::CmdMatchThreeGetDataScRsp),
            "CmdMatchThreeSetBirdPosScRsp" => Some(Self::CmdMatchThreeSetBirdPosScRsp),
            "CmdMatchThreeSetBirdPosCsReq" => Some(Self::CmdMatchThreeSetBirdPosCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mediccmaibg {
    MatchThreeStatisticsNone = 0,
    MatchThreeStatisticsFirst = 1,
    MatchThreeStatisticsSecond = 2,
    MatchThreeStatisticsThird = 3,
    MatchThreeStatisticsFruit = 4,
    MatchThreeStatisticsSkill = 5,
    MatchThreeStatisticsDefeat = 6,
    MatchThreeStatisticsBomb = 7,
    MatchThreeStatisticsDamage = 8,
    MatchThreeStatisticsEnergy = 9,
    MatchThreeStatisticsSwapBomb = 10,
}
impl Mediccmaibg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mediccmaibg::MatchThreeStatisticsNone => "MatchThreeStatistics_None",
            Mediccmaibg::MatchThreeStatisticsFirst => "MatchThreeStatistics_First",
            Mediccmaibg::MatchThreeStatisticsSecond => "MatchThreeStatistics_Second",
            Mediccmaibg::MatchThreeStatisticsThird => "MatchThreeStatistics_Third",
            Mediccmaibg::MatchThreeStatisticsFruit => "MatchThreeStatistics_Fruit",
            Mediccmaibg::MatchThreeStatisticsSkill => "MatchThreeStatistics_Skill",
            Mediccmaibg::MatchThreeStatisticsDefeat => "MatchThreeStatistics_Defeat",
            Mediccmaibg::MatchThreeStatisticsBomb => "MatchThreeStatistics_Bomb",
            Mediccmaibg::MatchThreeStatisticsDamage => "MatchThreeStatistics_Damage",
            Mediccmaibg::MatchThreeStatisticsEnergy => "MatchThreeStatistics_Energy",
            Mediccmaibg::MatchThreeStatisticsSwapBomb => "MatchThreeStatistics_SwapBomb",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchThreeStatistics_None" => Some(Self::MatchThreeStatisticsNone),
            "MatchThreeStatistics_First" => Some(Self::MatchThreeStatisticsFirst),
            "MatchThreeStatistics_Second" => Some(Self::MatchThreeStatisticsSecond),
            "MatchThreeStatistics_Third" => Some(Self::MatchThreeStatisticsThird),
            "MatchThreeStatistics_Fruit" => Some(Self::MatchThreeStatisticsFruit),
            "MatchThreeStatistics_Skill" => Some(Self::MatchThreeStatisticsSkill),
            "MatchThreeStatistics_Defeat" => Some(Self::MatchThreeStatisticsDefeat),
            "MatchThreeStatistics_Bomb" => Some(Self::MatchThreeStatisticsBomb),
            "MatchThreeStatistics_Damage" => Some(Self::MatchThreeStatisticsDamage),
            "MatchThreeStatistics_Energy" => Some(Self::MatchThreeStatisticsEnergy),
            "MatchThreeStatistics_SwapBomb" => Some(Self::MatchThreeStatisticsSwapBomb),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMessageType {
    None = 0,
    CmdFinishItemIdScRsp = 2773,
    CmdGetNpcMessageGroupScRsp = 2788,
    CmdFinishItemIdCsReq = 2739,
    CmdGetNpcMessageGroupCsReq = 2761,
    CmdFinishPerformSectionIdCsReq = 2787,
    CmdFinishSectionIdCsReq = 2730,
    CmdGetNpcStatusCsReq = 2791,
    CmdFinishPerformSectionIdScRsp = 2727,
    CmdGetNpcStatusScRsp = 2720,
    CmdFinishSectionIdScRsp = 2771,
}
impl CmdMessageType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMessageType::None => "CmdMessageTypeNone",
            CmdMessageType::CmdFinishItemIdScRsp => "CmdFinishItemIdScRsp",
            CmdMessageType::CmdGetNpcMessageGroupScRsp => "CmdGetNpcMessageGroupScRsp",
            CmdMessageType::CmdFinishItemIdCsReq => "CmdFinishItemIdCsReq",
            CmdMessageType::CmdGetNpcMessageGroupCsReq => "CmdGetNpcMessageGroupCsReq",
            CmdMessageType::CmdFinishPerformSectionIdCsReq => {
                "CmdFinishPerformSectionIdCsReq"
            }
            CmdMessageType::CmdFinishSectionIdCsReq => "CmdFinishSectionIdCsReq",
            CmdMessageType::CmdGetNpcStatusCsReq => "CmdGetNpcStatusCsReq",
            CmdMessageType::CmdFinishPerformSectionIdScRsp => {
                "CmdFinishPerformSectionIdScRsp"
            }
            CmdMessageType::CmdGetNpcStatusScRsp => "CmdGetNpcStatusScRsp",
            CmdMessageType::CmdFinishSectionIdScRsp => "CmdFinishSectionIdScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMessageTypeNone" => Some(Self::None),
            "CmdFinishItemIdScRsp" => Some(Self::CmdFinishItemIdScRsp),
            "CmdGetNpcMessageGroupScRsp" => Some(Self::CmdGetNpcMessageGroupScRsp),
            "CmdFinishItemIdCsReq" => Some(Self::CmdFinishItemIdCsReq),
            "CmdGetNpcMessageGroupCsReq" => Some(Self::CmdGetNpcMessageGroupCsReq),
            "CmdFinishPerformSectionIdCsReq" => {
                Some(Self::CmdFinishPerformSectionIdCsReq)
            }
            "CmdFinishSectionIdCsReq" => Some(Self::CmdFinishSectionIdCsReq),
            "CmdGetNpcStatusCsReq" => Some(Self::CmdGetNpcStatusCsReq),
            "CmdFinishPerformSectionIdScRsp" => {
                Some(Self::CmdFinishPerformSectionIdScRsp)
            }
            "CmdGetNpcStatusScRsp" => Some(Self::CmdGetNpcStatusScRsp),
            "CmdFinishSectionIdScRsp" => Some(Self::CmdFinishSectionIdScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMiscModuleType {
    None = 0,
    CmdGetMovieRacingDataScRsp = 4151,
    CmdGetShareDataCsReq = 4191,
    CmdSecurityReportScRsp = 4174,
    CmdGetGunPlayDataCsReq = 4112,
    CmdShareCsReq = 4161,
    CmdSubmitOrigamiItemCsReq = 4196,
    CmdGetShareDataScRsp = 4120,
    CmdGetGunPlayDataScRsp = 4137,
    CmdSubmitOrigamiItemScRsp = 4121,
    CmdCancelCacheNotifyScRsp = 4127,
    CmdUpdateMovieRacingDataScRsp = 4181,
    CmdUpdateGunPlayDataScRsp = 4101,
    CmdUpdateMovieRacingDataCsReq = 4109,
    CmdTakePictureScRsp = 4173,
    CmdUpdateGunPlayDataCsReq = 4128,
    CmdTakePictureCsReq = 4139,
    CmdTriggerVoiceCsReq = 4147,
    CmdTriggerVoiceScRsp = 4194,
    CmdShareScRsp = 4188,
    CmdGetMovieRacingDataCsReq = 4149,
    CmdCancelCacheNotifyCsReq = 4187,
    CmdSecurityReportCsReq = 4162,
}
impl CmdMiscModuleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMiscModuleType::None => "CmdMiscModuleTypeNone",
            CmdMiscModuleType::CmdGetMovieRacingDataScRsp => "CmdGetMovieRacingDataScRsp",
            CmdMiscModuleType::CmdGetShareDataCsReq => "CmdGetShareDataCsReq",
            CmdMiscModuleType::CmdSecurityReportScRsp => "CmdSecurityReportScRsp",
            CmdMiscModuleType::CmdGetGunPlayDataCsReq => "CmdGetGunPlayDataCsReq",
            CmdMiscModuleType::CmdShareCsReq => "CmdShareCsReq",
            CmdMiscModuleType::CmdSubmitOrigamiItemCsReq => "CmdSubmitOrigamiItemCsReq",
            CmdMiscModuleType::CmdGetShareDataScRsp => "CmdGetShareDataScRsp",
            CmdMiscModuleType::CmdGetGunPlayDataScRsp => "CmdGetGunPlayDataScRsp",
            CmdMiscModuleType::CmdSubmitOrigamiItemScRsp => "CmdSubmitOrigamiItemScRsp",
            CmdMiscModuleType::CmdCancelCacheNotifyScRsp => "CmdCancelCacheNotifyScRsp",
            CmdMiscModuleType::CmdUpdateMovieRacingDataScRsp => {
                "CmdUpdateMovieRacingDataScRsp"
            }
            CmdMiscModuleType::CmdUpdateGunPlayDataScRsp => "CmdUpdateGunPlayDataScRsp",
            CmdMiscModuleType::CmdUpdateMovieRacingDataCsReq => {
                "CmdUpdateMovieRacingDataCsReq"
            }
            CmdMiscModuleType::CmdTakePictureScRsp => "CmdTakePictureScRsp",
            CmdMiscModuleType::CmdUpdateGunPlayDataCsReq => "CmdUpdateGunPlayDataCsReq",
            CmdMiscModuleType::CmdTakePictureCsReq => "CmdTakePictureCsReq",
            CmdMiscModuleType::CmdTriggerVoiceCsReq => "CmdTriggerVoiceCsReq",
            CmdMiscModuleType::CmdTriggerVoiceScRsp => "CmdTriggerVoiceScRsp",
            CmdMiscModuleType::CmdShareScRsp => "CmdShareScRsp",
            CmdMiscModuleType::CmdGetMovieRacingDataCsReq => "CmdGetMovieRacingDataCsReq",
            CmdMiscModuleType::CmdCancelCacheNotifyCsReq => "CmdCancelCacheNotifyCsReq",
            CmdMiscModuleType::CmdSecurityReportCsReq => "CmdSecurityReportCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMiscModuleTypeNone" => Some(Self::None),
            "CmdGetMovieRacingDataScRsp" => Some(Self::CmdGetMovieRacingDataScRsp),
            "CmdGetShareDataCsReq" => Some(Self::CmdGetShareDataCsReq),
            "CmdSecurityReportScRsp" => Some(Self::CmdSecurityReportScRsp),
            "CmdGetGunPlayDataCsReq" => Some(Self::CmdGetGunPlayDataCsReq),
            "CmdShareCsReq" => Some(Self::CmdShareCsReq),
            "CmdSubmitOrigamiItemCsReq" => Some(Self::CmdSubmitOrigamiItemCsReq),
            "CmdGetShareDataScRsp" => Some(Self::CmdGetShareDataScRsp),
            "CmdGetGunPlayDataScRsp" => Some(Self::CmdGetGunPlayDataScRsp),
            "CmdSubmitOrigamiItemScRsp" => Some(Self::CmdSubmitOrigamiItemScRsp),
            "CmdCancelCacheNotifyScRsp" => Some(Self::CmdCancelCacheNotifyScRsp),
            "CmdUpdateMovieRacingDataScRsp" => Some(Self::CmdUpdateMovieRacingDataScRsp),
            "CmdUpdateGunPlayDataScRsp" => Some(Self::CmdUpdateGunPlayDataScRsp),
            "CmdUpdateMovieRacingDataCsReq" => Some(Self::CmdUpdateMovieRacingDataCsReq),
            "CmdTakePictureScRsp" => Some(Self::CmdTakePictureScRsp),
            "CmdUpdateGunPlayDataCsReq" => Some(Self::CmdUpdateGunPlayDataCsReq),
            "CmdTakePictureCsReq" => Some(Self::CmdTakePictureCsReq),
            "CmdTriggerVoiceCsReq" => Some(Self::CmdTriggerVoiceCsReq),
            "CmdTriggerVoiceScRsp" => Some(Self::CmdTriggerVoiceScRsp),
            "CmdShareScRsp" => Some(Self::CmdShareScRsp),
            "CmdGetMovieRacingDataCsReq" => Some(Self::CmdGetMovieRacingDataCsReq),
            "CmdCancelCacheNotifyCsReq" => Some(Self::CmdCancelCacheNotifyCsReq),
            "CmdSecurityReportCsReq" => Some(Self::CmdSecurityReportCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nechakflhkl {
    CacheNotifyTypeNone = 0,
    CacheNotifyTypeRecycle = 1,
    CacheNotifyTypeRecharge = 2,
}
impl Nechakflhkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nechakflhkl::CacheNotifyTypeNone => "CACHE_NOTIFY_TYPE_NONE",
            Nechakflhkl::CacheNotifyTypeRecycle => "CACHE_NOTIFY_TYPE_RECYCLE",
            Nechakflhkl::CacheNotifyTypeRecharge => "CACHE_NOTIFY_TYPE_RECHARGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CACHE_NOTIFY_TYPE_NONE" => Some(Self::CacheNotifyTypeNone),
            "CACHE_NOTIFY_TYPE_RECYCLE" => Some(Self::CacheNotifyTypeRecycle),
            "CACHE_NOTIFY_TYPE_RECHARGE" => Some(Self::CacheNotifyTypeRecharge),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Doipbglcoog {
    MovieRacingOverTake = 0,
    MovieRacingOverTakeEndless = 1,
    MovieRacingShooting = 2,
    MovieRacingShootingEndless = 3,
}
impl Doipbglcoog {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Doipbglcoog::MovieRacingOverTake => "MOVIE_RACING_OVER_TAKE",
            Doipbglcoog::MovieRacingOverTakeEndless => "MOVIE_RACING_OVER_TAKE_ENDLESS",
            Doipbglcoog::MovieRacingShooting => "MOVIE_RACING_SHOOTING",
            Doipbglcoog::MovieRacingShootingEndless => "MOVIE_RACING_SHOOTING_ENDLESS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MOVIE_RACING_OVER_TAKE" => Some(Self::MovieRacingOverTake),
            "MOVIE_RACING_OVER_TAKE_ENDLESS" => Some(Self::MovieRacingOverTakeEndless),
            "MOVIE_RACING_SHOOTING" => Some(Self::MovieRacingShooting),
            "MOVIE_RACING_SHOOTING_ENDLESS" => Some(Self::MovieRacingShootingEndless),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMissionType {
    None = 0,
    CmdAcceptMainMissionCsReq = 1232,
    CmdFinishCosumeItemMissionCsReq = 1247,
    CmdMissionAcceptScNotify = 1258,
    CmdMissionGroupWarnScNotify = 1274,
    CmdGetMissionStatusScRsp = 1249,
    CmdGetMissionDataScRsp = 1288,
    CmdDailyTaskDataScNotify = 1271,
    CmdSetMissionEventProgressCsReq = 1281,
    CmdSyncTaskScRsp = 1230,
    CmdAcceptMissionEventCsReq = 1203,
    CmdGetMissionStatusCsReq = 1256,
    CmdUpdateTrackMainMissionIdScRsp = 1254,
    CmdSyncTaskCsReq = 1273,
    CmdTeleportToMissionResetPointScRsp = 1201,
    CmdGetMainMissionCustomValueCsReq = 1268,
    CmdTeleportToMissionResetPointCsReq = 1228,
    CmdGetMainMissionCustomValueScRsp = 1295,
    CmdSetMissionEventProgressScRsp = 1212,
    CmdAcceptMissionEventScRsp = 1270,
    CmdMissionEventRewardScNotify = 1282,
    CmdFinishTalkMissionScRsp = 1220,
    CmdGetMissionEventDataCsReq = 1296,
    CmdUpdateTrackMainMissionIdCsReq = 1285,
    CmdAcceptMainMissionScRsp = 1255,
    CmdInterruptMissionEventScRsp = 1209,
    CmdFinishCosumeItemMissionScRsp = 1294,
    CmdFinishTalkMissionCsReq = 1291,
    CmdGetMissionDataCsReq = 1261,
    CmdStartFinishMainMissionScNotify = 1250,
    CmdSubMissionRewardScNotify = 1237,
    CmdInterruptMissionEventCsReq = 1251,
    CmdGetMissionEventDataScRsp = 1221,
    CmdMissionRewardScNotify = 1239,
    CmdStartFinishSubMissionScNotify = 1233,
}
impl CmdMissionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMissionType::None => "CmdMissionTypeNone",
            CmdMissionType::CmdAcceptMainMissionCsReq => "CmdAcceptMainMissionCsReq",
            CmdMissionType::CmdFinishCosumeItemMissionCsReq => {
                "CmdFinishCosumeItemMissionCsReq"
            }
            CmdMissionType::CmdMissionAcceptScNotify => "CmdMissionAcceptScNotify",
            CmdMissionType::CmdMissionGroupWarnScNotify => "CmdMissionGroupWarnScNotify",
            CmdMissionType::CmdGetMissionStatusScRsp => "CmdGetMissionStatusScRsp",
            CmdMissionType::CmdGetMissionDataScRsp => "CmdGetMissionDataScRsp",
            CmdMissionType::CmdDailyTaskDataScNotify => "CmdDailyTaskDataScNotify",
            CmdMissionType::CmdSetMissionEventProgressCsReq => {
                "CmdSetMissionEventProgressCsReq"
            }
            CmdMissionType::CmdSyncTaskScRsp => "CmdSyncTaskScRsp",
            CmdMissionType::CmdAcceptMissionEventCsReq => "CmdAcceptMissionEventCsReq",
            CmdMissionType::CmdGetMissionStatusCsReq => "CmdGetMissionStatusCsReq",
            CmdMissionType::CmdUpdateTrackMainMissionIdScRsp => {
                "CmdUpdateTrackMainMissionIdScRsp"
            }
            CmdMissionType::CmdSyncTaskCsReq => "CmdSyncTaskCsReq",
            CmdMissionType::CmdTeleportToMissionResetPointScRsp => {
                "CmdTeleportToMissionResetPointScRsp"
            }
            CmdMissionType::CmdGetMainMissionCustomValueCsReq => {
                "CmdGetMainMissionCustomValueCsReq"
            }
            CmdMissionType::CmdTeleportToMissionResetPointCsReq => {
                "CmdTeleportToMissionResetPointCsReq"
            }
            CmdMissionType::CmdGetMainMissionCustomValueScRsp => {
                "CmdGetMainMissionCustomValueScRsp"
            }
            CmdMissionType::CmdSetMissionEventProgressScRsp => {
                "CmdSetMissionEventProgressScRsp"
            }
            CmdMissionType::CmdAcceptMissionEventScRsp => "CmdAcceptMissionEventScRsp",
            CmdMissionType::CmdMissionEventRewardScNotify => {
                "CmdMissionEventRewardScNotify"
            }
            CmdMissionType::CmdFinishTalkMissionScRsp => "CmdFinishTalkMissionScRsp",
            CmdMissionType::CmdGetMissionEventDataCsReq => "CmdGetMissionEventDataCsReq",
            CmdMissionType::CmdUpdateTrackMainMissionIdCsReq => {
                "CmdUpdateTrackMainMissionIdCsReq"
            }
            CmdMissionType::CmdAcceptMainMissionScRsp => "CmdAcceptMainMissionScRsp",
            CmdMissionType::CmdInterruptMissionEventScRsp => {
                "CmdInterruptMissionEventScRsp"
            }
            CmdMissionType::CmdFinishCosumeItemMissionScRsp => {
                "CmdFinishCosumeItemMissionScRsp"
            }
            CmdMissionType::CmdFinishTalkMissionCsReq => "CmdFinishTalkMissionCsReq",
            CmdMissionType::CmdGetMissionDataCsReq => "CmdGetMissionDataCsReq",
            CmdMissionType::CmdStartFinishMainMissionScNotify => {
                "CmdStartFinishMainMissionScNotify"
            }
            CmdMissionType::CmdSubMissionRewardScNotify => "CmdSubMissionRewardScNotify",
            CmdMissionType::CmdInterruptMissionEventCsReq => {
                "CmdInterruptMissionEventCsReq"
            }
            CmdMissionType::CmdGetMissionEventDataScRsp => "CmdGetMissionEventDataScRsp",
            CmdMissionType::CmdMissionRewardScNotify => "CmdMissionRewardScNotify",
            CmdMissionType::CmdStartFinishSubMissionScNotify => {
                "CmdStartFinishSubMissionScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMissionTypeNone" => Some(Self::None),
            "CmdAcceptMainMissionCsReq" => Some(Self::CmdAcceptMainMissionCsReq),
            "CmdFinishCosumeItemMissionCsReq" => {
                Some(Self::CmdFinishCosumeItemMissionCsReq)
            }
            "CmdMissionAcceptScNotify" => Some(Self::CmdMissionAcceptScNotify),
            "CmdMissionGroupWarnScNotify" => Some(Self::CmdMissionGroupWarnScNotify),
            "CmdGetMissionStatusScRsp" => Some(Self::CmdGetMissionStatusScRsp),
            "CmdGetMissionDataScRsp" => Some(Self::CmdGetMissionDataScRsp),
            "CmdDailyTaskDataScNotify" => Some(Self::CmdDailyTaskDataScNotify),
            "CmdSetMissionEventProgressCsReq" => {
                Some(Self::CmdSetMissionEventProgressCsReq)
            }
            "CmdSyncTaskScRsp" => Some(Self::CmdSyncTaskScRsp),
            "CmdAcceptMissionEventCsReq" => Some(Self::CmdAcceptMissionEventCsReq),
            "CmdGetMissionStatusCsReq" => Some(Self::CmdGetMissionStatusCsReq),
            "CmdUpdateTrackMainMissionIdScRsp" => {
                Some(Self::CmdUpdateTrackMainMissionIdScRsp)
            }
            "CmdSyncTaskCsReq" => Some(Self::CmdSyncTaskCsReq),
            "CmdTeleportToMissionResetPointScRsp" => {
                Some(Self::CmdTeleportToMissionResetPointScRsp)
            }
            "CmdGetMainMissionCustomValueCsReq" => {
                Some(Self::CmdGetMainMissionCustomValueCsReq)
            }
            "CmdTeleportToMissionResetPointCsReq" => {
                Some(Self::CmdTeleportToMissionResetPointCsReq)
            }
            "CmdGetMainMissionCustomValueScRsp" => {
                Some(Self::CmdGetMainMissionCustomValueScRsp)
            }
            "CmdSetMissionEventProgressScRsp" => {
                Some(Self::CmdSetMissionEventProgressScRsp)
            }
            "CmdAcceptMissionEventScRsp" => Some(Self::CmdAcceptMissionEventScRsp),
            "CmdMissionEventRewardScNotify" => Some(Self::CmdMissionEventRewardScNotify),
            "CmdFinishTalkMissionScRsp" => Some(Self::CmdFinishTalkMissionScRsp),
            "CmdGetMissionEventDataCsReq" => Some(Self::CmdGetMissionEventDataCsReq),
            "CmdUpdateTrackMainMissionIdCsReq" => {
                Some(Self::CmdUpdateTrackMainMissionIdCsReq)
            }
            "CmdAcceptMainMissionScRsp" => Some(Self::CmdAcceptMainMissionScRsp),
            "CmdInterruptMissionEventScRsp" => Some(Self::CmdInterruptMissionEventScRsp),
            "CmdFinishCosumeItemMissionScRsp" => {
                Some(Self::CmdFinishCosumeItemMissionScRsp)
            }
            "CmdFinishTalkMissionCsReq" => Some(Self::CmdFinishTalkMissionCsReq),
            "CmdGetMissionDataCsReq" => Some(Self::CmdGetMissionDataCsReq),
            "CmdStartFinishMainMissionScNotify" => {
                Some(Self::CmdStartFinishMainMissionScNotify)
            }
            "CmdSubMissionRewardScNotify" => Some(Self::CmdSubMissionRewardScNotify),
            "CmdInterruptMissionEventCsReq" => Some(Self::CmdInterruptMissionEventCsReq),
            "CmdGetMissionEventDataScRsp" => Some(Self::CmdGetMissionEventDataScRsp),
            "CmdMissionRewardScNotify" => Some(Self::CmdMissionRewardScNotify),
            "CmdStartFinishSubMissionScNotify" => {
                Some(Self::CmdStartFinishSubMissionScNotify)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bkefjbidjmj {
    MissionSyncRecordNone = 0,
    MissionSyncRecordMainMissionAccept = 1,
    MissionSyncRecordMainMissionStart = 2,
    MissionSyncRecordMainMissionFinish = 3,
    MissionSyncRecordMainMissionDelete = 4,
    MissionSyncRecordMissionAccept = 11,
    MissionSyncRecordMissionStart = 12,
    MissionSyncRecordMissionFinish = 13,
    MissionSyncRecordMissionDelete = 14,
    MissionSyncRecordMissionProgress = 15,
}
impl Bkefjbidjmj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bkefjbidjmj::MissionSyncRecordNone => "MISSION_SYNC_RECORD_NONE",
            Bkefjbidjmj::MissionSyncRecordMainMissionAccept => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_ACCEPT"
            }
            Bkefjbidjmj::MissionSyncRecordMainMissionStart => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_START"
            }
            Bkefjbidjmj::MissionSyncRecordMainMissionFinish => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_FINISH"
            }
            Bkefjbidjmj::MissionSyncRecordMainMissionDelete => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_DELETE"
            }
            Bkefjbidjmj::MissionSyncRecordMissionAccept => {
                "MISSION_SYNC_RECORD_MISSION_ACCEPT"
            }
            Bkefjbidjmj::MissionSyncRecordMissionStart => {
                "MISSION_SYNC_RECORD_MISSION_START"
            }
            Bkefjbidjmj::MissionSyncRecordMissionFinish => {
                "MISSION_SYNC_RECORD_MISSION_FINISH"
            }
            Bkefjbidjmj::MissionSyncRecordMissionDelete => {
                "MISSION_SYNC_RECORD_MISSION_DELETE"
            }
            Bkefjbidjmj::MissionSyncRecordMissionProgress => {
                "MISSION_SYNC_RECORD_MISSION_PROGRESS"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MISSION_SYNC_RECORD_NONE" => Some(Self::MissionSyncRecordNone),
            "MISSION_SYNC_RECORD_MAIN_MISSION_ACCEPT" => {
                Some(Self::MissionSyncRecordMainMissionAccept)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_START" => {
                Some(Self::MissionSyncRecordMainMissionStart)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_FINISH" => {
                Some(Self::MissionSyncRecordMainMissionFinish)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_DELETE" => {
                Some(Self::MissionSyncRecordMainMissionDelete)
            }
            "MISSION_SYNC_RECORD_MISSION_ACCEPT" => {
                Some(Self::MissionSyncRecordMissionAccept)
            }
            "MISSION_SYNC_RECORD_MISSION_START" => {
                Some(Self::MissionSyncRecordMissionStart)
            }
            "MISSION_SYNC_RECORD_MISSION_FINISH" => {
                Some(Self::MissionSyncRecordMissionFinish)
            }
            "MISSION_SYNC_RECORD_MISSION_DELETE" => {
                Some(Self::MissionSyncRecordMissionDelete)
            }
            "MISSION_SYNC_RECORD_MISSION_PROGRESS" => {
                Some(Self::MissionSyncRecordMissionProgress)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kfpbhaomoea {
    MainMissionSyncNone = 0,
    MainMissionSyncMcv = 1,
}
impl Kfpbhaomoea {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kfpbhaomoea::MainMissionSyncNone => "MAIN_MISSION_SYNC_NONE",
            Kfpbhaomoea::MainMissionSyncMcv => "MAIN_MISSION_SYNC_MCV",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAIN_MISSION_SYNC_NONE" => Some(Self::MainMissionSyncNone),
            "MAIN_MISSION_SYNC_MCV" => Some(Self::MainMissionSyncMcv),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lmjigjpjlip {
    TrackMainMissionUpdateNone = 0,
    TrackMainMissionUpdateAuto = 1,
    TrackMainMissionUpdateManual = 2,
    TrackMainMissionUpdateLoginReport = 3,
}
impl Lmjigjpjlip {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lmjigjpjlip::TrackMainMissionUpdateNone => "TRACK_MAIN_MISSION_UPDATE_NONE",
            Lmjigjpjlip::TrackMainMissionUpdateAuto => "TRACK_MAIN_MISSION_UPDATE_AUTO",
            Lmjigjpjlip::TrackMainMissionUpdateManual => {
                "TRACK_MAIN_MISSION_UPDATE_MANUAL"
            }
            Lmjigjpjlip::TrackMainMissionUpdateLoginReport => {
                "TRACK_MAIN_MISSION_UPDATE_LOGIN_REPORT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRACK_MAIN_MISSION_UPDATE_NONE" => Some(Self::TrackMainMissionUpdateNone),
            "TRACK_MAIN_MISSION_UPDATE_AUTO" => Some(Self::TrackMainMissionUpdateAuto),
            "TRACK_MAIN_MISSION_UPDATE_MANUAL" => {
                Some(Self::TrackMainMissionUpdateManual)
            }
            "TRACK_MAIN_MISSION_UPDATE_LOGIN_REPORT" => {
                Some(Self::TrackMainMissionUpdateLoginReport)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMonopolyType {
    None = 0,
    CmdMonopolyGuessBuyInformationScRsp = 7040,
    CmdMonopolySelectOptionScRsp = 7062,
    CmdMonopolyBuyGoodsCsReq = 7049,
    CmdMonopolySelectOptionCsReq = 7027,
    CmdMonopolyDailySettleScNotify = 7064,
    CmdMonopolyGameCreateScNotify = 7026,
    CmdMonopolyGameBingoFlipCardScRsp = 7013,
    CmdGetMonopolyDailyReportCsReq = 7041,
    CmdMonopolyLikeScRsp = 7044,
    CmdMonopolyConfirmRandomCsReq = 7070,
    CmdMonopolyGiveUpCurContentCsReq = 7012,
    CmdMonopolySttUpdateScNotify = 7063,
    CmdMonopolyLikeCsReq = 7011,
    CmdMonopolyGetRafflePoolInfoScRsp = 7014,
    CmdMonopolyReRollRandomCsReq = 7082,
    CmdMonopolyTakePhaseRewardCsReq = 7043,
    CmdMonopolyGuessChooseScRsp = 7100,
    CmdMonopolyAcceptQuizCsReq = 7085,
    CmdMonopolyGameRaiseRatioCsReq = 7050,
    CmdDeleteSocialEventServerCacheCsReq = 7098,
    CmdMonopolyGiveUpCurContentScRsp = 7037,
    CmdMonopolyGetRaffleTicketCsReq = 7078,
    CmdMonopolyAcceptQuizScRsp = 7054,
    CmdMonopolyClickMbtiReportScRsp = 7038,
    CmdGetMonopolyFriendRankingListCsReq = 7008,
    CmdGetMonopolyFriendRankingListScRsp = 7046,
    CmdMonopolyCheatDiceCsReq = 7028,
    CmdMonopolyRollRandomScRsp = 7021,
    CmdMonopolyEventSelectFriendScRsp = 7057,
    CmdMonopolyConfirmRandomScRsp = 7056,
    CmdGetSocialEventServerCacheCsReq = 7089,
    CmdMonopolyGetDailyInitItemCsReq = 7052,
    CmdMonopolyBuyGoodsScRsp = 7051,
    CmdMonopolyConditionUpdateScNotify = 7036,
    CmdMonopolyUpgradeAssetCsReq = 7009,
    CmdMonopolyUpgradeAssetScRsp = 7081,
    CmdMonopolyGameBingoFlipCardCsReq = 7058,
    CmdMonopolyGetRaffleTicketScRsp = 7083,
    CmdGetMbtiReportScRsp = 7016,
    CmdDailyFirstEnterMonopolyActivityCsReq = 7047,
    CmdGetMonopolyInfoCsReq = 7061,
    CmdMonopolyGameRaiseRatioScRsp = 7032,
    CmdGetMonopolyDailyReportScRsp = 7035,
    CmdMonopolyGuessBuyInformationCsReq = 7093,
    CmdMonopolyReRollRandomScRsp = 7003,
    CmdMonopolyGetDailyInitItemScRsp = 7002,
    CmdGetSocialEventServerCacheScRsp = 7010,
    CmdMonopolyGetRafflePoolInfoCsReq = 7006,
    CmdMonopolyClickMbtiReportCsReq = 7075,
    CmdMonopolyClickCellScRsp = 7007,
    CmdMonopolyGuessDrawScNotify = 7048,
    CmdMonopolyRollRandomCsReq = 7096,
    CmdMonopolyTakeRaffleTicketRewardScRsp = 7084,
    CmdMonopolyEventLoadUpdateScNotify = 7029,
    CmdGetMbtiReportCsReq = 7042,
    CmdGetMonopolyInfoScRsp = 7088,
    CmdMonopolyClickCellCsReq = 7099,
    CmdMonopolySocialEventEffectScNotify = 7034,
    CmdMonopolyEventSelectFriendCsReq = 7065,
    CmdMonopolyCheatDiceScRsp = 7001,
    CmdMonopolyGetRegionProgressScRsp = 7053,
    CmdDeleteSocialEventServerCacheScRsp = 7086,
    CmdMonopolyMoveCsReq = 7071,
    CmdMonopolyRollDiceScRsp = 7030,
    CmdMonopolyRollDiceCsReq = 7073,
    CmdMonopolyGetRegionProgressCsReq = 7072,
    CmdMonopolyLikeScNotify = 7024,
    CmdMonopolyTakePhaseRewardScRsp = 7060,
    CmdMonopolyActionResultScNotify = 7091,
    CmdMonopolyScrachRaffleTicketCsReq = 7069,
    CmdGetMonopolyMbtiReportRewardCsReq = 7045,
    CmdMonopolyContentUpdateScNotify = 7033,
    CmdMonopolyCellUpdateNotify = 7020,
    CmdGetMonopolyMbtiReportRewardScRsp = 7015,
    CmdMonopolyGameGachaScRsp = 7095,
    CmdMonopolyGameGachaCsReq = 7068,
    CmdMonopolyTakeRaffleTicketRewardCsReq = 7079,
    CmdMonopolyQuizDurationChangeScNotify = 7005,
    CmdMonopolyMoveScRsp = 7087,
    CmdDailyFirstEnterMonopolyActivityScRsp = 7094,
    CmdMonopolyGameSettleScNotify = 7055,
    CmdMonopolyScrachRaffleTicketScRsp = 7025,
    CmdMonopolyGuessChooseCsReq = 7017,
}
impl CmdMonopolyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMonopolyType::None => "CmdMonopolyTypeNone",
            CmdMonopolyType::CmdMonopolyGuessBuyInformationScRsp => {
                "CmdMonopolyGuessBuyInformationScRsp"
            }
            CmdMonopolyType::CmdMonopolySelectOptionScRsp => {
                "CmdMonopolySelectOptionScRsp"
            }
            CmdMonopolyType::CmdMonopolyBuyGoodsCsReq => "CmdMonopolyBuyGoodsCsReq",
            CmdMonopolyType::CmdMonopolySelectOptionCsReq => {
                "CmdMonopolySelectOptionCsReq"
            }
            CmdMonopolyType::CmdMonopolyDailySettleScNotify => {
                "CmdMonopolyDailySettleScNotify"
            }
            CmdMonopolyType::CmdMonopolyGameCreateScNotify => {
                "CmdMonopolyGameCreateScNotify"
            }
            CmdMonopolyType::CmdMonopolyGameBingoFlipCardScRsp => {
                "CmdMonopolyGameBingoFlipCardScRsp"
            }
            CmdMonopolyType::CmdGetMonopolyDailyReportCsReq => {
                "CmdGetMonopolyDailyReportCsReq"
            }
            CmdMonopolyType::CmdMonopolyLikeScRsp => "CmdMonopolyLikeScRsp",
            CmdMonopolyType::CmdMonopolyConfirmRandomCsReq => {
                "CmdMonopolyConfirmRandomCsReq"
            }
            CmdMonopolyType::CmdMonopolyGiveUpCurContentCsReq => {
                "CmdMonopolyGiveUpCurContentCsReq"
            }
            CmdMonopolyType::CmdMonopolySttUpdateScNotify => {
                "CmdMonopolySttUpdateScNotify"
            }
            CmdMonopolyType::CmdMonopolyLikeCsReq => "CmdMonopolyLikeCsReq",
            CmdMonopolyType::CmdMonopolyGetRafflePoolInfoScRsp => {
                "CmdMonopolyGetRafflePoolInfoScRsp"
            }
            CmdMonopolyType::CmdMonopolyReRollRandomCsReq => {
                "CmdMonopolyReRollRandomCsReq"
            }
            CmdMonopolyType::CmdMonopolyTakePhaseRewardCsReq => {
                "CmdMonopolyTakePhaseRewardCsReq"
            }
            CmdMonopolyType::CmdMonopolyGuessChooseScRsp => "CmdMonopolyGuessChooseScRsp",
            CmdMonopolyType::CmdMonopolyAcceptQuizCsReq => "CmdMonopolyAcceptQuizCsReq",
            CmdMonopolyType::CmdMonopolyGameRaiseRatioCsReq => {
                "CmdMonopolyGameRaiseRatioCsReq"
            }
            CmdMonopolyType::CmdDeleteSocialEventServerCacheCsReq => {
                "CmdDeleteSocialEventServerCacheCsReq"
            }
            CmdMonopolyType::CmdMonopolyGiveUpCurContentScRsp => {
                "CmdMonopolyGiveUpCurContentScRsp"
            }
            CmdMonopolyType::CmdMonopolyGetRaffleTicketCsReq => {
                "CmdMonopolyGetRaffleTicketCsReq"
            }
            CmdMonopolyType::CmdMonopolyAcceptQuizScRsp => "CmdMonopolyAcceptQuizScRsp",
            CmdMonopolyType::CmdMonopolyClickMbtiReportScRsp => {
                "CmdMonopolyClickMbtiReportScRsp"
            }
            CmdMonopolyType::CmdGetMonopolyFriendRankingListCsReq => {
                "CmdGetMonopolyFriendRankingListCsReq"
            }
            CmdMonopolyType::CmdGetMonopolyFriendRankingListScRsp => {
                "CmdGetMonopolyFriendRankingListScRsp"
            }
            CmdMonopolyType::CmdMonopolyCheatDiceCsReq => "CmdMonopolyCheatDiceCsReq",
            CmdMonopolyType::CmdMonopolyRollRandomScRsp => "CmdMonopolyRollRandomScRsp",
            CmdMonopolyType::CmdMonopolyEventSelectFriendScRsp => {
                "CmdMonopolyEventSelectFriendScRsp"
            }
            CmdMonopolyType::CmdMonopolyConfirmRandomScRsp => {
                "CmdMonopolyConfirmRandomScRsp"
            }
            CmdMonopolyType::CmdGetSocialEventServerCacheCsReq => {
                "CmdGetSocialEventServerCacheCsReq"
            }
            CmdMonopolyType::CmdMonopolyGetDailyInitItemCsReq => {
                "CmdMonopolyGetDailyInitItemCsReq"
            }
            CmdMonopolyType::CmdMonopolyBuyGoodsScRsp => "CmdMonopolyBuyGoodsScRsp",
            CmdMonopolyType::CmdMonopolyConditionUpdateScNotify => {
                "CmdMonopolyConditionUpdateScNotify"
            }
            CmdMonopolyType::CmdMonopolyUpgradeAssetCsReq => {
                "CmdMonopolyUpgradeAssetCsReq"
            }
            CmdMonopolyType::CmdMonopolyUpgradeAssetScRsp => {
                "CmdMonopolyUpgradeAssetScRsp"
            }
            CmdMonopolyType::CmdMonopolyGameBingoFlipCardCsReq => {
                "CmdMonopolyGameBingoFlipCardCsReq"
            }
            CmdMonopolyType::CmdMonopolyGetRaffleTicketScRsp => {
                "CmdMonopolyGetRaffleTicketScRsp"
            }
            CmdMonopolyType::CmdGetMbtiReportScRsp => "CmdGetMbtiReportScRsp",
            CmdMonopolyType::CmdDailyFirstEnterMonopolyActivityCsReq => {
                "CmdDailyFirstEnterMonopolyActivityCsReq"
            }
            CmdMonopolyType::CmdGetMonopolyInfoCsReq => "CmdGetMonopolyInfoCsReq",
            CmdMonopolyType::CmdMonopolyGameRaiseRatioScRsp => {
                "CmdMonopolyGameRaiseRatioScRsp"
            }
            CmdMonopolyType::CmdGetMonopolyDailyReportScRsp => {
                "CmdGetMonopolyDailyReportScRsp"
            }
            CmdMonopolyType::CmdMonopolyGuessBuyInformationCsReq => {
                "CmdMonopolyGuessBuyInformationCsReq"
            }
            CmdMonopolyType::CmdMonopolyReRollRandomScRsp => {
                "CmdMonopolyReRollRandomScRsp"
            }
            CmdMonopolyType::CmdMonopolyGetDailyInitItemScRsp => {
                "CmdMonopolyGetDailyInitItemScRsp"
            }
            CmdMonopolyType::CmdGetSocialEventServerCacheScRsp => {
                "CmdGetSocialEventServerCacheScRsp"
            }
            CmdMonopolyType::CmdMonopolyGetRafflePoolInfoCsReq => {
                "CmdMonopolyGetRafflePoolInfoCsReq"
            }
            CmdMonopolyType::CmdMonopolyClickMbtiReportCsReq => {
                "CmdMonopolyClickMbtiReportCsReq"
            }
            CmdMonopolyType::CmdMonopolyClickCellScRsp => "CmdMonopolyClickCellScRsp",
            CmdMonopolyType::CmdMonopolyGuessDrawScNotify => {
                "CmdMonopolyGuessDrawScNotify"
            }
            CmdMonopolyType::CmdMonopolyRollRandomCsReq => "CmdMonopolyRollRandomCsReq",
            CmdMonopolyType::CmdMonopolyTakeRaffleTicketRewardScRsp => {
                "CmdMonopolyTakeRaffleTicketRewardScRsp"
            }
            CmdMonopolyType::CmdMonopolyEventLoadUpdateScNotify => {
                "CmdMonopolyEventLoadUpdateScNotify"
            }
            CmdMonopolyType::CmdGetMbtiReportCsReq => "CmdGetMbtiReportCsReq",
            CmdMonopolyType::CmdGetMonopolyInfoScRsp => "CmdGetMonopolyInfoScRsp",
            CmdMonopolyType::CmdMonopolyClickCellCsReq => "CmdMonopolyClickCellCsReq",
            CmdMonopolyType::CmdMonopolySocialEventEffectScNotify => {
                "CmdMonopolySocialEventEffectScNotify"
            }
            CmdMonopolyType::CmdMonopolyEventSelectFriendCsReq => {
                "CmdMonopolyEventSelectFriendCsReq"
            }
            CmdMonopolyType::CmdMonopolyCheatDiceScRsp => "CmdMonopolyCheatDiceScRsp",
            CmdMonopolyType::CmdMonopolyGetRegionProgressScRsp => {
                "CmdMonopolyGetRegionProgressScRsp"
            }
            CmdMonopolyType::CmdDeleteSocialEventServerCacheScRsp => {
                "CmdDeleteSocialEventServerCacheScRsp"
            }
            CmdMonopolyType::CmdMonopolyMoveCsReq => "CmdMonopolyMoveCsReq",
            CmdMonopolyType::CmdMonopolyRollDiceScRsp => "CmdMonopolyRollDiceScRsp",
            CmdMonopolyType::CmdMonopolyRollDiceCsReq => "CmdMonopolyRollDiceCsReq",
            CmdMonopolyType::CmdMonopolyGetRegionProgressCsReq => {
                "CmdMonopolyGetRegionProgressCsReq"
            }
            CmdMonopolyType::CmdMonopolyLikeScNotify => "CmdMonopolyLikeScNotify",
            CmdMonopolyType::CmdMonopolyTakePhaseRewardScRsp => {
                "CmdMonopolyTakePhaseRewardScRsp"
            }
            CmdMonopolyType::CmdMonopolyActionResultScNotify => {
                "CmdMonopolyActionResultScNotify"
            }
            CmdMonopolyType::CmdMonopolyScrachRaffleTicketCsReq => {
                "CmdMonopolyScrachRaffleTicketCsReq"
            }
            CmdMonopolyType::CmdGetMonopolyMbtiReportRewardCsReq => {
                "CmdGetMonopolyMbtiReportRewardCsReq"
            }
            CmdMonopolyType::CmdMonopolyContentUpdateScNotify => {
                "CmdMonopolyContentUpdateScNotify"
            }
            CmdMonopolyType::CmdMonopolyCellUpdateNotify => "CmdMonopolyCellUpdateNotify",
            CmdMonopolyType::CmdGetMonopolyMbtiReportRewardScRsp => {
                "CmdGetMonopolyMbtiReportRewardScRsp"
            }
            CmdMonopolyType::CmdMonopolyGameGachaScRsp => "CmdMonopolyGameGachaScRsp",
            CmdMonopolyType::CmdMonopolyGameGachaCsReq => "CmdMonopolyGameGachaCsReq",
            CmdMonopolyType::CmdMonopolyTakeRaffleTicketRewardCsReq => {
                "CmdMonopolyTakeRaffleTicketRewardCsReq"
            }
            CmdMonopolyType::CmdMonopolyQuizDurationChangeScNotify => {
                "CmdMonopolyQuizDurationChangeScNotify"
            }
            CmdMonopolyType::CmdMonopolyMoveScRsp => "CmdMonopolyMoveScRsp",
            CmdMonopolyType::CmdDailyFirstEnterMonopolyActivityScRsp => {
                "CmdDailyFirstEnterMonopolyActivityScRsp"
            }
            CmdMonopolyType::CmdMonopolyGameSettleScNotify => {
                "CmdMonopolyGameSettleScNotify"
            }
            CmdMonopolyType::CmdMonopolyScrachRaffleTicketScRsp => {
                "CmdMonopolyScrachRaffleTicketScRsp"
            }
            CmdMonopolyType::CmdMonopolyGuessChooseCsReq => "CmdMonopolyGuessChooseCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMonopolyTypeNone" => Some(Self::None),
            "CmdMonopolyGuessBuyInformationScRsp" => {
                Some(Self::CmdMonopolyGuessBuyInformationScRsp)
            }
            "CmdMonopolySelectOptionScRsp" => Some(Self::CmdMonopolySelectOptionScRsp),
            "CmdMonopolyBuyGoodsCsReq" => Some(Self::CmdMonopolyBuyGoodsCsReq),
            "CmdMonopolySelectOptionCsReq" => Some(Self::CmdMonopolySelectOptionCsReq),
            "CmdMonopolyDailySettleScNotify" => {
                Some(Self::CmdMonopolyDailySettleScNotify)
            }
            "CmdMonopolyGameCreateScNotify" => Some(Self::CmdMonopolyGameCreateScNotify),
            "CmdMonopolyGameBingoFlipCardScRsp" => {
                Some(Self::CmdMonopolyGameBingoFlipCardScRsp)
            }
            "CmdGetMonopolyDailyReportCsReq" => {
                Some(Self::CmdGetMonopolyDailyReportCsReq)
            }
            "CmdMonopolyLikeScRsp" => Some(Self::CmdMonopolyLikeScRsp),
            "CmdMonopolyConfirmRandomCsReq" => Some(Self::CmdMonopolyConfirmRandomCsReq),
            "CmdMonopolyGiveUpCurContentCsReq" => {
                Some(Self::CmdMonopolyGiveUpCurContentCsReq)
            }
            "CmdMonopolySttUpdateScNotify" => Some(Self::CmdMonopolySttUpdateScNotify),
            "CmdMonopolyLikeCsReq" => Some(Self::CmdMonopolyLikeCsReq),
            "CmdMonopolyGetRafflePoolInfoScRsp" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoScRsp)
            }
            "CmdMonopolyReRollRandomCsReq" => Some(Self::CmdMonopolyReRollRandomCsReq),
            "CmdMonopolyTakePhaseRewardCsReq" => {
                Some(Self::CmdMonopolyTakePhaseRewardCsReq)
            }
            "CmdMonopolyGuessChooseScRsp" => Some(Self::CmdMonopolyGuessChooseScRsp),
            "CmdMonopolyAcceptQuizCsReq" => Some(Self::CmdMonopolyAcceptQuizCsReq),
            "CmdMonopolyGameRaiseRatioCsReq" => {
                Some(Self::CmdMonopolyGameRaiseRatioCsReq)
            }
            "CmdDeleteSocialEventServerCacheCsReq" => {
                Some(Self::CmdDeleteSocialEventServerCacheCsReq)
            }
            "CmdMonopolyGiveUpCurContentScRsp" => {
                Some(Self::CmdMonopolyGiveUpCurContentScRsp)
            }
            "CmdMonopolyGetRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyGetRaffleTicketCsReq)
            }
            "CmdMonopolyAcceptQuizScRsp" => Some(Self::CmdMonopolyAcceptQuizScRsp),
            "CmdMonopolyClickMbtiReportScRsp" => {
                Some(Self::CmdMonopolyClickMbtiReportScRsp)
            }
            "CmdGetMonopolyFriendRankingListCsReq" => {
                Some(Self::CmdGetMonopolyFriendRankingListCsReq)
            }
            "CmdGetMonopolyFriendRankingListScRsp" => {
                Some(Self::CmdGetMonopolyFriendRankingListScRsp)
            }
            "CmdMonopolyCheatDiceCsReq" => Some(Self::CmdMonopolyCheatDiceCsReq),
            "CmdMonopolyRollRandomScRsp" => Some(Self::CmdMonopolyRollRandomScRsp),
            "CmdMonopolyEventSelectFriendScRsp" => {
                Some(Self::CmdMonopolyEventSelectFriendScRsp)
            }
            "CmdMonopolyConfirmRandomScRsp" => Some(Self::CmdMonopolyConfirmRandomScRsp),
            "CmdGetSocialEventServerCacheCsReq" => {
                Some(Self::CmdGetSocialEventServerCacheCsReq)
            }
            "CmdMonopolyGetDailyInitItemCsReq" => {
                Some(Self::CmdMonopolyGetDailyInitItemCsReq)
            }
            "CmdMonopolyBuyGoodsScRsp" => Some(Self::CmdMonopolyBuyGoodsScRsp),
            "CmdMonopolyConditionUpdateScNotify" => {
                Some(Self::CmdMonopolyConditionUpdateScNotify)
            }
            "CmdMonopolyUpgradeAssetCsReq" => Some(Self::CmdMonopolyUpgradeAssetCsReq),
            "CmdMonopolyUpgradeAssetScRsp" => Some(Self::CmdMonopolyUpgradeAssetScRsp),
            "CmdMonopolyGameBingoFlipCardCsReq" => {
                Some(Self::CmdMonopolyGameBingoFlipCardCsReq)
            }
            "CmdMonopolyGetRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyGetRaffleTicketScRsp)
            }
            "CmdGetMbtiReportScRsp" => Some(Self::CmdGetMbtiReportScRsp),
            "CmdDailyFirstEnterMonopolyActivityCsReq" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityCsReq)
            }
            "CmdGetMonopolyInfoCsReq" => Some(Self::CmdGetMonopolyInfoCsReq),
            "CmdMonopolyGameRaiseRatioScRsp" => {
                Some(Self::CmdMonopolyGameRaiseRatioScRsp)
            }
            "CmdGetMonopolyDailyReportScRsp" => {
                Some(Self::CmdGetMonopolyDailyReportScRsp)
            }
            "CmdMonopolyGuessBuyInformationCsReq" => {
                Some(Self::CmdMonopolyGuessBuyInformationCsReq)
            }
            "CmdMonopolyReRollRandomScRsp" => Some(Self::CmdMonopolyReRollRandomScRsp),
            "CmdMonopolyGetDailyInitItemScRsp" => {
                Some(Self::CmdMonopolyGetDailyInitItemScRsp)
            }
            "CmdGetSocialEventServerCacheScRsp" => {
                Some(Self::CmdGetSocialEventServerCacheScRsp)
            }
            "CmdMonopolyGetRafflePoolInfoCsReq" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoCsReq)
            }
            "CmdMonopolyClickMbtiReportCsReq" => {
                Some(Self::CmdMonopolyClickMbtiReportCsReq)
            }
            "CmdMonopolyClickCellScRsp" => Some(Self::CmdMonopolyClickCellScRsp),
            "CmdMonopolyGuessDrawScNotify" => Some(Self::CmdMonopolyGuessDrawScNotify),
            "CmdMonopolyRollRandomCsReq" => Some(Self::CmdMonopolyRollRandomCsReq),
            "CmdMonopolyTakeRaffleTicketRewardScRsp" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardScRsp)
            }
            "CmdMonopolyEventLoadUpdateScNotify" => {
                Some(Self::CmdMonopolyEventLoadUpdateScNotify)
            }
            "CmdGetMbtiReportCsReq" => Some(Self::CmdGetMbtiReportCsReq),
            "CmdGetMonopolyInfoScRsp" => Some(Self::CmdGetMonopolyInfoScRsp),
            "CmdMonopolyClickCellCsReq" => Some(Self::CmdMonopolyClickCellCsReq),
            "CmdMonopolySocialEventEffectScNotify" => {
                Some(Self::CmdMonopolySocialEventEffectScNotify)
            }
            "CmdMonopolyEventSelectFriendCsReq" => {
                Some(Self::CmdMonopolyEventSelectFriendCsReq)
            }
            "CmdMonopolyCheatDiceScRsp" => Some(Self::CmdMonopolyCheatDiceScRsp),
            "CmdMonopolyGetRegionProgressScRsp" => {
                Some(Self::CmdMonopolyGetRegionProgressScRsp)
            }
            "CmdDeleteSocialEventServerCacheScRsp" => {
                Some(Self::CmdDeleteSocialEventServerCacheScRsp)
            }
            "CmdMonopolyMoveCsReq" => Some(Self::CmdMonopolyMoveCsReq),
            "CmdMonopolyRollDiceScRsp" => Some(Self::CmdMonopolyRollDiceScRsp),
            "CmdMonopolyRollDiceCsReq" => Some(Self::CmdMonopolyRollDiceCsReq),
            "CmdMonopolyGetRegionProgressCsReq" => {
                Some(Self::CmdMonopolyGetRegionProgressCsReq)
            }
            "CmdMonopolyLikeScNotify" => Some(Self::CmdMonopolyLikeScNotify),
            "CmdMonopolyTakePhaseRewardScRsp" => {
                Some(Self::CmdMonopolyTakePhaseRewardScRsp)
            }
            "CmdMonopolyActionResultScNotify" => {
                Some(Self::CmdMonopolyActionResultScNotify)
            }
            "CmdMonopolyScrachRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyScrachRaffleTicketCsReq)
            }
            "CmdGetMonopolyMbtiReportRewardCsReq" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardCsReq)
            }
            "CmdMonopolyContentUpdateScNotify" => {
                Some(Self::CmdMonopolyContentUpdateScNotify)
            }
            "CmdMonopolyCellUpdateNotify" => Some(Self::CmdMonopolyCellUpdateNotify),
            "CmdGetMonopolyMbtiReportRewardScRsp" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardScRsp)
            }
            "CmdMonopolyGameGachaScRsp" => Some(Self::CmdMonopolyGameGachaScRsp),
            "CmdMonopolyGameGachaCsReq" => Some(Self::CmdMonopolyGameGachaCsReq),
            "CmdMonopolyTakeRaffleTicketRewardCsReq" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardCsReq)
            }
            "CmdMonopolyQuizDurationChangeScNotify" => {
                Some(Self::CmdMonopolyQuizDurationChangeScNotify)
            }
            "CmdMonopolyMoveScRsp" => Some(Self::CmdMonopolyMoveScRsp),
            "CmdDailyFirstEnterMonopolyActivityScRsp" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityScRsp)
            }
            "CmdMonopolyGameSettleScNotify" => Some(Self::CmdMonopolyGameSettleScNotify),
            "CmdMonopolyScrachRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyScrachRaffleTicketScRsp)
            }
            "CmdMonopolyGuessChooseCsReq" => Some(Self::CmdMonopolyGuessChooseCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Agkfccmalgg {
    MonopolySocialEventStatusNone = 0,
    MonopolySocialEventStatusWaitingSelectFriend = 1,
}
impl Agkfccmalgg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Agkfccmalgg::MonopolySocialEventStatusNone => {
                "MONOPOLY_SOCIAL_EVENT_STATUS_NONE"
            }
            Agkfccmalgg::MonopolySocialEventStatusWaitingSelectFriend => {
                "MONOPOLY_SOCIAL_EVENT_STATUS_WAITING_SELECT_FRIEND"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_SOCIAL_EVENT_STATUS_NONE" => {
                Some(Self::MonopolySocialEventStatusNone)
            }
            "MONOPOLY_SOCIAL_EVENT_STATUS_WAITING_SELECT_FRIEND" => {
                Some(Self::MonopolySocialEventStatusWaitingSelectFriend)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jkpddlchlhe {
    MonopolyCellStateIdle = 0,
    MonopolyCellStateBarrier = 1,
    MonopolyCellStateGround = 2,
    MonopolyCellStateFinish = 3,
}
impl Jkpddlchlhe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jkpddlchlhe::MonopolyCellStateIdle => "MONOPOLY_CELL_STATE_IDLE",
            Jkpddlchlhe::MonopolyCellStateBarrier => "MONOPOLY_CELL_STATE_BARRIER",
            Jkpddlchlhe::MonopolyCellStateGround => "MONOPOLY_CELL_STATE_GROUND",
            Jkpddlchlhe::MonopolyCellStateFinish => "MONOPOLY_CELL_STATE_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_CELL_STATE_IDLE" => Some(Self::MonopolyCellStateIdle),
            "MONOPOLY_CELL_STATE_BARRIER" => Some(Self::MonopolyCellStateBarrier),
            "MONOPOLY_CELL_STATE_GROUND" => Some(Self::MonopolyCellStateGround),
            "MONOPOLY_CELL_STATE_FINISH" => Some(Self::MonopolyCellStateFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mlhbahadoid {
    MonopolyActionResultSourceTypeNone = 0,
    MonopolyActionResultSourceTypeEffect = 1,
    MonopolyActionResultSourceTypeAssetBonus = 2,
    MonopolyActionResultSourceTypeAssetTax = 3,
    MonopolyActionResultSourceTypeAssetUpgrade = 4,
    MonopolyActionResultSourceTypeGameSettle = 5,
    MonopolyActionResultSourceTypeBuyGoods = 6,
    MonopolyActionResultSourceTypeClick = 7,
    MonopolyActionResultSourceTypeSocialEvent = 8,
    MonopolyActionResultSourceTypeLike = 9,
    MonopolyActionResultSourceTypeQuizGameSettle = 10,
}
impl Mlhbahadoid {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mlhbahadoid::MonopolyActionResultSourceTypeNone => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_NONE"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeEffect => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_EFFECT"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeAssetBonus => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_BONUS"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeAssetTax => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_TAX"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeAssetUpgrade => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_UPGRADE"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeGameSettle => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_GAME_SETTLE"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeBuyGoods => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_BUY_GOODS"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeClick => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_CLICK"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeSocialEvent => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_SOCIAL_EVENT"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeLike => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_LIKE"
            }
            Mlhbahadoid::MonopolyActionResultSourceTypeQuizGameSettle => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_QUIZ_GAME_SETTLE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_NONE" => {
                Some(Self::MonopolyActionResultSourceTypeNone)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_EFFECT" => {
                Some(Self::MonopolyActionResultSourceTypeEffect)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_BONUS" => {
                Some(Self::MonopolyActionResultSourceTypeAssetBonus)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_TAX" => {
                Some(Self::MonopolyActionResultSourceTypeAssetTax)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_UPGRADE" => {
                Some(Self::MonopolyActionResultSourceTypeAssetUpgrade)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_GAME_SETTLE" => {
                Some(Self::MonopolyActionResultSourceTypeGameSettle)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_BUY_GOODS" => {
                Some(Self::MonopolyActionResultSourceTypeBuyGoods)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_CLICK" => {
                Some(Self::MonopolyActionResultSourceTypeClick)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_SOCIAL_EVENT" => {
                Some(Self::MonopolyActionResultSourceTypeSocialEvent)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_LIKE" => {
                Some(Self::MonopolyActionResultSourceTypeLike)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_QUIZ_GAME_SETTLE" => {
                Some(Self::MonopolyActionResultSourceTypeQuizGameSettle)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultiplayerType {
    None = 0,
    CmdMultiplayerMatch3FinishScNotify = 1087,
    CmdMultiplayerFightGiveUpCsReq = 1039,
    CmdMultiplayerFightGiveUpScRsp = 1073,
    CmdMultiplayerFightGameStateCsReq = 1061,
    CmdMultiplayerFightGameStateScRsp = 1088,
    CmdMultiplayerGetFightGateCsReq = 1091,
    CmdMultiplayerGetFightGateScRsp = 1020,
    CmdMultiplayerFightGameFinishScNotify = 1071,
    CmdMultiplayerFightGameStartScNotify = 1030,
}
impl CmdMultiplayerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMultiplayerType::None => "CmdMultiplayerTypeNone",
            CmdMultiplayerType::CmdMultiplayerMatch3FinishScNotify => {
                "CmdMultiplayerMatch3FinishScNotify"
            }
            CmdMultiplayerType::CmdMultiplayerFightGiveUpCsReq => {
                "CmdMultiplayerFightGiveUpCsReq"
            }
            CmdMultiplayerType::CmdMultiplayerFightGiveUpScRsp => {
                "CmdMultiplayerFightGiveUpScRsp"
            }
            CmdMultiplayerType::CmdMultiplayerFightGameStateCsReq => {
                "CmdMultiplayerFightGameStateCsReq"
            }
            CmdMultiplayerType::CmdMultiplayerFightGameStateScRsp => {
                "CmdMultiplayerFightGameStateScRsp"
            }
            CmdMultiplayerType::CmdMultiplayerGetFightGateCsReq => {
                "CmdMultiplayerGetFightGateCsReq"
            }
            CmdMultiplayerType::CmdMultiplayerGetFightGateScRsp => {
                "CmdMultiplayerGetFightGateScRsp"
            }
            CmdMultiplayerType::CmdMultiplayerFightGameFinishScNotify => {
                "CmdMultiplayerFightGameFinishScNotify"
            }
            CmdMultiplayerType::CmdMultiplayerFightGameStartScNotify => {
                "CmdMultiplayerFightGameStartScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMultiplayerTypeNone" => Some(Self::None),
            "CmdMultiplayerMatch3FinishScNotify" => {
                Some(Self::CmdMultiplayerMatch3FinishScNotify)
            }
            "CmdMultiplayerFightGiveUpCsReq" => {
                Some(Self::CmdMultiplayerFightGiveUpCsReq)
            }
            "CmdMultiplayerFightGiveUpScRsp" => {
                Some(Self::CmdMultiplayerFightGiveUpScRsp)
            }
            "CmdMultiplayerFightGameStateCsReq" => {
                Some(Self::CmdMultiplayerFightGameStateCsReq)
            }
            "CmdMultiplayerFightGameStateScRsp" => {
                Some(Self::CmdMultiplayerFightGameStateScRsp)
            }
            "CmdMultiplayerGetFightGateCsReq" => {
                Some(Self::CmdMultiplayerGetFightGateCsReq)
            }
            "CmdMultiplayerGetFightGateScRsp" => {
                Some(Self::CmdMultiplayerGetFightGateScRsp)
            }
            "CmdMultiplayerFightGameFinishScNotify" => {
                Some(Self::CmdMultiplayerFightGameFinishScNotify)
            }
            "CmdMultiplayerFightGameStartScNotify" => {
                Some(Self::CmdMultiplayerFightGameStartScNotify)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultipleDropType {
    None = 0,
    CmdGetPlayerReturnMultiDropInfoScRsp = 4639,
    CmdGetMultipleDropInfoScRsp = 4688,
    CmdGetPlayerReturnMultiDropInfoCsReq = 4620,
    CmdMultipleDropInfoNotify = 4673,
    CmdGetMultipleDropInfoCsReq = 4661,
    CmdMultipleDropInfoScNotify = 4691,
}
impl CmdMultipleDropType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMultipleDropType::None => "CmdMultipleDropTypeNone",
            CmdMultipleDropType::CmdGetPlayerReturnMultiDropInfoScRsp => {
                "CmdGetPlayerReturnMultiDropInfoScRsp"
            }
            CmdMultipleDropType::CmdGetMultipleDropInfoScRsp => {
                "CmdGetMultipleDropInfoScRsp"
            }
            CmdMultipleDropType::CmdGetPlayerReturnMultiDropInfoCsReq => {
                "CmdGetPlayerReturnMultiDropInfoCsReq"
            }
            CmdMultipleDropType::CmdMultipleDropInfoNotify => "CmdMultipleDropInfoNotify",
            CmdMultipleDropType::CmdGetMultipleDropInfoCsReq => {
                "CmdGetMultipleDropInfoCsReq"
            }
            CmdMultipleDropType::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 {
            "CmdMultipleDropTypeNone" => Some(Self::None),
            "CmdGetPlayerReturnMultiDropInfoScRsp" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoScRsp)
            }
            "CmdGetMultipleDropInfoScRsp" => Some(Self::CmdGetMultipleDropInfoScRsp),
            "CmdGetPlayerReturnMultiDropInfoCsReq" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoCsReq)
            }
            "CmdMultipleDropInfoNotify" => Some(Self::CmdMultipleDropInfoNotify),
            "CmdGetMultipleDropInfoCsReq" => Some(Self::CmdGetMultipleDropInfoCsReq),
            "CmdMultipleDropInfoScNotify" => Some(Self::CmdMultipleDropInfoScNotify),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMuseumType {
    None = 0,
    CmdMuseumTargetMissionFinishNotify = 4337,
    CmdGetStuffScNotify = 4387,
    CmdBuyNpcStuffCsReq = 4391,
    CmdSetStuffToAreaScRsp = 4373,
    CmdMuseumDispatchFinishedScNotify = 4381,
    CmdSetStuffToAreaCsReq = 4339,
    CmdMuseumRandomEventSelectScRsp = 4309,
    CmdMuseumTargetStartNotify = 4312,
    CmdUpgradeAreaStatCsReq = 4396,
    CmdMuseumRandomEventQueryScRsp = 4349,
    CmdMuseumTakeCollectRewardScRsp = 4333,
    CmdRemoveStuffFromAreaCsReq = 4330,
    CmdGetMuseumInfoScRsp = 4388,
    CmdFinishCurTurnCsReq = 4362,
    CmdMuseumInfoChangedScNotify = 4382,
    CmdUpgradeAreaCsReq = 4347,
    CmdRemoveStuffFromAreaScRsp = 4371,
    CmdGetExhibitScNotify = 4327,
    CmdUpgradeAreaScRsp = 4394,
    CmdUpgradeAreaStatScRsp = 4321,
    CmdMuseumRandomEventSelectCsReq = 4351,
    CmdMuseumTargetRewardNotify = 4328,
    CmdMuseumRandomEventStartScNotify = 4370,
    CmdMuseumFundsChangedScNotify = 4303,
    CmdMuseumRandomEventQueryCsReq = 4356,
    CmdBuyNpcStuffScRsp = 4320,
    CmdMuseumTakeCollectRewardCsReq = 4301,
    CmdFinishCurTurnScRsp = 4374,
    CmdGetMuseumInfoCsReq = 4361,
}
impl CmdMuseumType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMuseumType::None => "CmdMuseumTypeNone",
            CmdMuseumType::CmdMuseumTargetMissionFinishNotify => {
                "CmdMuseumTargetMissionFinishNotify"
            }
            CmdMuseumType::CmdGetStuffScNotify => "CmdGetStuffScNotify",
            CmdMuseumType::CmdBuyNpcStuffCsReq => "CmdBuyNpcStuffCsReq",
            CmdMuseumType::CmdSetStuffToAreaScRsp => "CmdSetStuffToAreaScRsp",
            CmdMuseumType::CmdMuseumDispatchFinishedScNotify => {
                "CmdMuseumDispatchFinishedScNotify"
            }
            CmdMuseumType::CmdSetStuffToAreaCsReq => "CmdSetStuffToAreaCsReq",
            CmdMuseumType::CmdMuseumRandomEventSelectScRsp => {
                "CmdMuseumRandomEventSelectScRsp"
            }
            CmdMuseumType::CmdMuseumTargetStartNotify => "CmdMuseumTargetStartNotify",
            CmdMuseumType::CmdUpgradeAreaStatCsReq => "CmdUpgradeAreaStatCsReq",
            CmdMuseumType::CmdMuseumRandomEventQueryScRsp => {
                "CmdMuseumRandomEventQueryScRsp"
            }
            CmdMuseumType::CmdMuseumTakeCollectRewardScRsp => {
                "CmdMuseumTakeCollectRewardScRsp"
            }
            CmdMuseumType::CmdRemoveStuffFromAreaCsReq => "CmdRemoveStuffFromAreaCsReq",
            CmdMuseumType::CmdGetMuseumInfoScRsp => "CmdGetMuseumInfoScRsp",
            CmdMuseumType::CmdFinishCurTurnCsReq => "CmdFinishCurTurnCsReq",
            CmdMuseumType::CmdMuseumInfoChangedScNotify => "CmdMuseumInfoChangedScNotify",
            CmdMuseumType::CmdUpgradeAreaCsReq => "CmdUpgradeAreaCsReq",
            CmdMuseumType::CmdRemoveStuffFromAreaScRsp => "CmdRemoveStuffFromAreaScRsp",
            CmdMuseumType::CmdGetExhibitScNotify => "CmdGetExhibitScNotify",
            CmdMuseumType::CmdUpgradeAreaScRsp => "CmdUpgradeAreaScRsp",
            CmdMuseumType::CmdUpgradeAreaStatScRsp => "CmdUpgradeAreaStatScRsp",
            CmdMuseumType::CmdMuseumRandomEventSelectCsReq => {
                "CmdMuseumRandomEventSelectCsReq"
            }
            CmdMuseumType::CmdMuseumTargetRewardNotify => "CmdMuseumTargetRewardNotify",
            CmdMuseumType::CmdMuseumRandomEventStartScNotify => {
                "CmdMuseumRandomEventStartScNotify"
            }
            CmdMuseumType::CmdMuseumFundsChangedScNotify => {
                "CmdMuseumFundsChangedScNotify"
            }
            CmdMuseumType::CmdMuseumRandomEventQueryCsReq => {
                "CmdMuseumRandomEventQueryCsReq"
            }
            CmdMuseumType::CmdBuyNpcStuffScRsp => "CmdBuyNpcStuffScRsp",
            CmdMuseumType::CmdMuseumTakeCollectRewardCsReq => {
                "CmdMuseumTakeCollectRewardCsReq"
            }
            CmdMuseumType::CmdFinishCurTurnScRsp => "CmdFinishCurTurnScRsp",
            CmdMuseumType::CmdGetMuseumInfoCsReq => "CmdGetMuseumInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMuseumTypeNone" => Some(Self::None),
            "CmdMuseumTargetMissionFinishNotify" => {
                Some(Self::CmdMuseumTargetMissionFinishNotify)
            }
            "CmdGetStuffScNotify" => Some(Self::CmdGetStuffScNotify),
            "CmdBuyNpcStuffCsReq" => Some(Self::CmdBuyNpcStuffCsReq),
            "CmdSetStuffToAreaScRsp" => Some(Self::CmdSetStuffToAreaScRsp),
            "CmdMuseumDispatchFinishedScNotify" => {
                Some(Self::CmdMuseumDispatchFinishedScNotify)
            }
            "CmdSetStuffToAreaCsReq" => Some(Self::CmdSetStuffToAreaCsReq),
            "CmdMuseumRandomEventSelectScRsp" => {
                Some(Self::CmdMuseumRandomEventSelectScRsp)
            }
            "CmdMuseumTargetStartNotify" => Some(Self::CmdMuseumTargetStartNotify),
            "CmdUpgradeAreaStatCsReq" => Some(Self::CmdUpgradeAreaStatCsReq),
            "CmdMuseumRandomEventQueryScRsp" => {
                Some(Self::CmdMuseumRandomEventQueryScRsp)
            }
            "CmdMuseumTakeCollectRewardScRsp" => {
                Some(Self::CmdMuseumTakeCollectRewardScRsp)
            }
            "CmdRemoveStuffFromAreaCsReq" => Some(Self::CmdRemoveStuffFromAreaCsReq),
            "CmdGetMuseumInfoScRsp" => Some(Self::CmdGetMuseumInfoScRsp),
            "CmdFinishCurTurnCsReq" => Some(Self::CmdFinishCurTurnCsReq),
            "CmdMuseumInfoChangedScNotify" => Some(Self::CmdMuseumInfoChangedScNotify),
            "CmdUpgradeAreaCsReq" => Some(Self::CmdUpgradeAreaCsReq),
            "CmdRemoveStuffFromAreaScRsp" => Some(Self::CmdRemoveStuffFromAreaScRsp),
            "CmdGetExhibitScNotify" => Some(Self::CmdGetExhibitScNotify),
            "CmdUpgradeAreaScRsp" => Some(Self::CmdUpgradeAreaScRsp),
            "CmdUpgradeAreaStatScRsp" => Some(Self::CmdUpgradeAreaStatScRsp),
            "CmdMuseumRandomEventSelectCsReq" => {
                Some(Self::CmdMuseumRandomEventSelectCsReq)
            }
            "CmdMuseumTargetRewardNotify" => Some(Self::CmdMuseumTargetRewardNotify),
            "CmdMuseumRandomEventStartScNotify" => {
                Some(Self::CmdMuseumRandomEventStartScNotify)
            }
            "CmdMuseumFundsChangedScNotify" => Some(Self::CmdMuseumFundsChangedScNotify),
            "CmdMuseumRandomEventQueryCsReq" => {
                Some(Self::CmdMuseumRandomEventQueryCsReq)
            }
            "CmdBuyNpcStuffScRsp" => Some(Self::CmdBuyNpcStuffScRsp),
            "CmdMuseumTakeCollectRewardCsReq" => {
                Some(Self::CmdMuseumTakeCollectRewardCsReq)
            }
            "CmdFinishCurTurnScRsp" => Some(Self::CmdFinishCurTurnScRsp),
            "CmdGetMuseumInfoCsReq" => Some(Self::CmdGetMuseumInfoCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cbhjehfgabi {
    MuseumRandomEventStateNone = 0,
    MuseumRandomEventStateStart = 1,
    MuseumRandomEventStateProcessing = 2,
    MuseumRandomEventStateFinish = 3,
}
impl Cbhjehfgabi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cbhjehfgabi::MuseumRandomEventStateNone => "MUSEUM_RANDOM_EVENT_STATE_NONE",
            Cbhjehfgabi::MuseumRandomEventStateStart => "MUSEUM_RANDOM_EVENT_STATE_START",
            Cbhjehfgabi::MuseumRandomEventStateProcessing => {
                "MUSEUM_RANDOM_EVENT_STATE_PROCESSING"
            }
            Cbhjehfgabi::MuseumRandomEventStateFinish => {
                "MUSEUM_RANDOM_EVENT_STATE_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MUSEUM_RANDOM_EVENT_STATE_NONE" => Some(Self::MuseumRandomEventStateNone),
            "MUSEUM_RANDOM_EVENT_STATE_START" => Some(Self::MuseumRandomEventStateStart),
            "MUSEUM_RANDOM_EVENT_STATE_PROCESSING" => {
                Some(Self::MuseumRandomEventStateProcessing)
            }
            "MUSEUM_RANDOM_EVENT_STATE_FINISH" => {
                Some(Self::MuseumRandomEventStateFinish)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bmepcgmafog {
    WorkPosNone = 0,
    WorkPos1 = 1,
    WorkPos2 = 2,
    WorkPos3 = 3,
}
impl Bmepcgmafog {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bmepcgmafog::WorkPosNone => "WORK_POS_NONE",
            Bmepcgmafog::WorkPos1 => "WORK_POS_1",
            Bmepcgmafog::WorkPos2 => "WORK_POS_2",
            Bmepcgmafog::WorkPos3 => "WORK_POS_3",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WORK_POS_NONE" => Some(Self::WorkPosNone),
            "WORK_POS_1" => Some(Self::WorkPos1),
            "WORK_POS_2" => Some(Self::WorkPos2),
            "WORK_POS_3" => Some(Self::WorkPos3),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kobkkmanffe {
    StatTypeNone = 0,
    StatTypeArt = 1,
    StatTypeCulture = 2,
    StatTypePopular = 3,
}
impl Kobkkmanffe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kobkkmanffe::StatTypeNone => "STAT_TYPE_NONE",
            Kobkkmanffe::StatTypeArt => "STAT_TYPE_ART",
            Kobkkmanffe::StatTypeCulture => "STAT_TYPE_CULTURE",
            Kobkkmanffe::StatTypePopular => "STAT_TYPE_POPULAR",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "STAT_TYPE_NONE" => Some(Self::StatTypeNone),
            "STAT_TYPE_ART" => Some(Self::StatTypeArt),
            "STAT_TYPE_CULTURE" => Some(Self::StatTypeCulture),
            "STAT_TYPE_POPULAR" => Some(Self::StatTypePopular),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Koiikfnnppk {
    Unknow = 0,
    MissionReward = 1,
    EventBuyStuff = 2,
    MarketBuyStuff = 3,
    QuestReward = 4,
    Initial = 5,
    PhaseFinishReward = 6,
}
impl Koiikfnnppk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Koiikfnnppk::Unknow => "UNKNOW",
            Koiikfnnppk::MissionReward => "MISSION_REWARD",
            Koiikfnnppk::EventBuyStuff => "EVENT_BUY_STUFF",
            Koiikfnnppk::MarketBuyStuff => "MARKET_BUY_STUFF",
            Koiikfnnppk::QuestReward => "QUEST_REWARD",
            Koiikfnnppk::Initial => "INITIAL",
            Koiikfnnppk::PhaseFinishReward => "PHASE_FINISH_REWARD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UNKNOW" => Some(Self::Unknow),
            "MISSION_REWARD" => Some(Self::MissionReward),
            "EVENT_BUY_STUFF" => Some(Self::EventBuyStuff),
            "MARKET_BUY_STUFF" => Some(Self::MarketBuyStuff),
            "QUEST_REWARD" => Some(Self::QuestReward),
            "INITIAL" => Some(Self::Initial),
            "PHASE_FINISH_REWARD" => Some(Self::PhaseFinishReward),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdOfferingType {
    None = 0,
    CmdTakeOfferingRewardCsReq = 6939,
    CmdGetOfferingInfoCsReq = 6929,
    CmdSubmitOfferingItemCsReq = 6927,
    CmdSubmitOfferingItemScRsp = 6923,
    CmdOfferingInfoScNotify = 6935,
    CmdGetOfferingInfoScRsp = 6922,
    CmdTakeOfferingRewardScRsp = 6934,
}
impl CmdOfferingType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdOfferingType::None => "CmdOfferingTypeNone",
            CmdOfferingType::CmdTakeOfferingRewardCsReq => "CmdTakeOfferingRewardCsReq",
            CmdOfferingType::CmdGetOfferingInfoCsReq => "CmdGetOfferingInfoCsReq",
            CmdOfferingType::CmdSubmitOfferingItemCsReq => "CmdSubmitOfferingItemCsReq",
            CmdOfferingType::CmdSubmitOfferingItemScRsp => "CmdSubmitOfferingItemScRsp",
            CmdOfferingType::CmdOfferingInfoScNotify => "CmdOfferingInfoScNotify",
            CmdOfferingType::CmdGetOfferingInfoScRsp => "CmdGetOfferingInfoScRsp",
            CmdOfferingType::CmdTakeOfferingRewardScRsp => "CmdTakeOfferingRewardScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdOfferingTypeNone" => Some(Self::None),
            "CmdTakeOfferingRewardCsReq" => Some(Self::CmdTakeOfferingRewardCsReq),
            "CmdGetOfferingInfoCsReq" => Some(Self::CmdGetOfferingInfoCsReq),
            "CmdSubmitOfferingItemCsReq" => Some(Self::CmdSubmitOfferingItemCsReq),
            "CmdSubmitOfferingItemScRsp" => Some(Self::CmdSubmitOfferingItemScRsp),
            "CmdOfferingInfoScNotify" => Some(Self::CmdOfferingInfoScNotify),
            "CmdGetOfferingInfoScRsp" => Some(Self::CmdGetOfferingInfoScRsp),
            "CmdTakeOfferingRewardScRsp" => Some(Self::CmdTakeOfferingRewardScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ecpkmbkdhdi {
    OfferingStateNone = 0,
    OfferingStateLock = 1,
    OfferingStateOpen = 2,
}
impl Ecpkmbkdhdi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ecpkmbkdhdi::OfferingStateNone => "OFFERING_STATE_NONE",
            Ecpkmbkdhdi::OfferingStateLock => "OFFERING_STATE_LOCK",
            Ecpkmbkdhdi::OfferingStateOpen => "OFFERING_STATE_OPEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OFFERING_STATE_NONE" => Some(Self::OfferingStateNone),
            "OFFERING_STATE_LOCK" => Some(Self::OfferingStateLock),
            "OFFERING_STATE_OPEN" => Some(Self::OfferingStateOpen),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamMissionType {
    None = 0,
    CmdAcceptedPamMissionExpireScRsp = 4088,
    CmdAcceptedPamMissionExpireCsReq = 4061,
    CmdSyncAcceptedPamMissionNotify = 4091,
}
impl CmdPamMissionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPamMissionType::None => "CmdPamMissionTypeNone",
            CmdPamMissionType::CmdAcceptedPamMissionExpireScRsp => {
                "CmdAcceptedPamMissionExpireScRsp"
            }
            CmdPamMissionType::CmdAcceptedPamMissionExpireCsReq => {
                "CmdAcceptedPamMissionExpireCsReq"
            }
            CmdPamMissionType::CmdSyncAcceptedPamMissionNotify => {
                "CmdSyncAcceptedPamMissionNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPamMissionTypeNone" => Some(Self::None),
            "CmdAcceptedPamMissionExpireScRsp" => {
                Some(Self::CmdAcceptedPamMissionExpireScRsp)
            }
            "CmdAcceptedPamMissionExpireCsReq" => {
                Some(Self::CmdAcceptedPamMissionExpireCsReq)
            }
            "CmdSyncAcceptedPamMissionNotify" => {
                Some(Self::CmdSyncAcceptedPamMissionNotify)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPhoneType {
    None = 0,
    CmdGetPhoneDataCsReq = 5161,
    CmdSelectChatBubbleScRsp = 5120,
    CmdSelectChatBubbleCsReq = 5191,
    CmdGetPhoneDataScRsp = 5188,
    CmdUnlockPhoneThemeScNotify = 5171,
    CmdSelectPhoneThemeScRsp = 5130,
    CmdUnlockChatBubbleScNotify = 5139,
    CmdSelectPhoneThemeCsReq = 5173,
}
impl CmdPhoneType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPhoneType::None => "CmdPhoneTypeNone",
            CmdPhoneType::CmdGetPhoneDataCsReq => "CmdGetPhoneDataCsReq",
            CmdPhoneType::CmdSelectChatBubbleScRsp => "CmdSelectChatBubbleScRsp",
            CmdPhoneType::CmdSelectChatBubbleCsReq => "CmdSelectChatBubbleCsReq",
            CmdPhoneType::CmdGetPhoneDataScRsp => "CmdGetPhoneDataScRsp",
            CmdPhoneType::CmdUnlockPhoneThemeScNotify => "CmdUnlockPhoneThemeScNotify",
            CmdPhoneType::CmdSelectPhoneThemeScRsp => "CmdSelectPhoneThemeScRsp",
            CmdPhoneType::CmdUnlockChatBubbleScNotify => "CmdUnlockChatBubbleScNotify",
            CmdPhoneType::CmdSelectPhoneThemeCsReq => "CmdSelectPhoneThemeCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPhoneTypeNone" => Some(Self::None),
            "CmdGetPhoneDataCsReq" => Some(Self::CmdGetPhoneDataCsReq),
            "CmdSelectChatBubbleScRsp" => Some(Self::CmdSelectChatBubbleScRsp),
            "CmdSelectChatBubbleCsReq" => Some(Self::CmdSelectChatBubbleCsReq),
            "CmdGetPhoneDataScRsp" => Some(Self::CmdGetPhoneDataScRsp),
            "CmdUnlockPhoneThemeScNotify" => Some(Self::CmdUnlockPhoneThemeScNotify),
            "CmdSelectPhoneThemeScRsp" => Some(Self::CmdSelectPhoneThemeScRsp),
            "CmdUnlockChatBubbleScNotify" => Some(Self::CmdUnlockChatBubbleScNotify),
            "CmdSelectPhoneThemeCsReq" => Some(Self::CmdSelectPhoneThemeCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerType {
    None = 0,
    CmdPlayerLogoutCsReq = 91,
    CmdPlayerHeartBeatScRsp = 16,
    CmdExchangeStaminaScRsp = 96,
    CmdGetLevelRewardTakenListCsReq = 51,
    CmdUpdatePlayerSettingCsReq = 6,
    CmdSetGameplayBirthdayCsReq = 64,
    CmdDailyRefreshNotify = 76,
    CmdServerAnnounceNotify = 50,
    CmdPlayerLoginFinishCsReq = 86,
    CmdExchangeStaminaCsReq = 94,
    CmdGetAuthkeyScRsp = 82,
    CmdGetBasicInfoScRsp = 18,
    CmdSetGameplayBirthdayScRsp = 8,
    CmdGetVideoVersionKeyCsReq = 78,
    CmdGetAuthkeyCsReq = 21,
    CmdSetGenderScRsp = 26,
    CmdGetLevelRewardCsReq = 81,
    CmdGetSecretKeyInfoCsReq = 10,
    CmdClientObjUploadCsReq = 60,
    CmdUpdatePsnSettingsInfoScRsp = 45,
    CmdPlayerLoginScRsp = 88,
    CmdAceAntiCheaterScRsp = 11,
    CmdSetNicknameScRsp = 49,
    CmdPlayerGetTokenScRsp = 73,
    CmdGmTalkScNotify = 71,
    CmdSetGenderCsReq = 54,
    CmdSetRedPointStatusScNotify = 79,
    CmdStaminaInfoScNotify = 53,
    CmdAceAntiCheaterCsReq = 46,
    CmdQueryProductInfoCsReq = 40,
    CmdGetHeroBasicTypeInfoScRsp = 95,
    CmdAntiAddictScNotify = 70,
    CmdGateServerScNotify = 65,
    CmdSetPlayerInfoScRsp = 100,
    CmdGmTalkCsReq = 27,
    CmdHeroBasicTypeChangedNotify = 93,
    CmdGetSecretKeyInfoScRsp = 98,
    CmdGetLevelRewardTakenListScRsp = 9,
    CmdPlayerLogoutScRsp = 20,
    CmdQueryProductInfoScRsp = 48,
    CmdReserveStaminaExchangeCsReq = 25,
    CmdMonthCardRewardNotify = 44,
    CmdGmTalkScRsp = 62,
    CmdUpdatePsnSettingsInfoCsReq = 63,
    CmdRetcodeNotify = 24,
    CmdGetHeroBasicTypeInfoCsReq = 68,
    CmdFeatureSwitchClosedScNotify = 57,
    CmdGetBasicInfoCsReq = 90,
    CmdSetHeroBasicTypeScRsp = 55,
    CmdClientObjUploadScRsp = 29,
    CmdPlayerKickOutScNotify = 87,
    CmdRegionStopScNotify = 3,
    CmdReserveStaminaExchangeScRsp = 72,
    CmdPlayerLoginFinishScRsp = 80,
    CmdSetLanguageScRsp = 33,
    CmdPlayerHeartBeatCsReq = 42,
    CmdClientDownloadDataScNotify = 5,
    CmdPlayerGetTokenCsReq = 39,
    CmdSetLanguageCsReq = 1,
    CmdUpdatePlayerSettingScRsp = 14,
    CmdGetVideoVersionKeyScRsp = 83,
    CmdGetLevelRewardScRsp = 12,
    CmdUpdateFeatureSwitchScNotify = 66,
    CmdSetPlayerInfoCsReq = 17,
    CmdSetHeroBasicTypeCsReq = 32,
    CmdPlayerLoginCsReq = 61,
    CmdClientObjDownloadDataScNotify = 43,
    CmdSetNicknameCsReq = 56,
}
impl CmdPlayerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlayerType::None => "CmdPlayerTypeNone",
            CmdPlayerType::CmdPlayerLogoutCsReq => "CmdPlayerLogoutCsReq",
            CmdPlayerType::CmdPlayerHeartBeatScRsp => "CmdPlayerHeartBeatScRsp",
            CmdPlayerType::CmdExchangeStaminaScRsp => "CmdExchangeStaminaScRsp",
            CmdPlayerType::CmdGetLevelRewardTakenListCsReq => {
                "CmdGetLevelRewardTakenListCsReq"
            }
            CmdPlayerType::CmdUpdatePlayerSettingCsReq => "CmdUpdatePlayerSettingCsReq",
            CmdPlayerType::CmdSetGameplayBirthdayCsReq => "CmdSetGameplayBirthdayCsReq",
            CmdPlayerType::CmdDailyRefreshNotify => "CmdDailyRefreshNotify",
            CmdPlayerType::CmdServerAnnounceNotify => "CmdServerAnnounceNotify",
            CmdPlayerType::CmdPlayerLoginFinishCsReq => "CmdPlayerLoginFinishCsReq",
            CmdPlayerType::CmdExchangeStaminaCsReq => "CmdExchangeStaminaCsReq",
            CmdPlayerType::CmdGetAuthkeyScRsp => "CmdGetAuthkeyScRsp",
            CmdPlayerType::CmdGetBasicInfoScRsp => "CmdGetBasicInfoScRsp",
            CmdPlayerType::CmdSetGameplayBirthdayScRsp => "CmdSetGameplayBirthdayScRsp",
            CmdPlayerType::CmdGetVideoVersionKeyCsReq => "CmdGetVideoVersionKeyCsReq",
            CmdPlayerType::CmdGetAuthkeyCsReq => "CmdGetAuthkeyCsReq",
            CmdPlayerType::CmdSetGenderScRsp => "CmdSetGenderScRsp",
            CmdPlayerType::CmdGetLevelRewardCsReq => "CmdGetLevelRewardCsReq",
            CmdPlayerType::CmdGetSecretKeyInfoCsReq => "CmdGetSecretKeyInfoCsReq",
            CmdPlayerType::CmdClientObjUploadCsReq => "CmdClientObjUploadCsReq",
            CmdPlayerType::CmdUpdatePsnSettingsInfoScRsp => {
                "CmdUpdatePsnSettingsInfoScRsp"
            }
            CmdPlayerType::CmdPlayerLoginScRsp => "CmdPlayerLoginScRsp",
            CmdPlayerType::CmdAceAntiCheaterScRsp => "CmdAceAntiCheaterScRsp",
            CmdPlayerType::CmdSetNicknameScRsp => "CmdSetNicknameScRsp",
            CmdPlayerType::CmdPlayerGetTokenScRsp => "CmdPlayerGetTokenScRsp",
            CmdPlayerType::CmdGmTalkScNotify => "CmdGmTalkScNotify",
            CmdPlayerType::CmdSetGenderCsReq => "CmdSetGenderCsReq",
            CmdPlayerType::CmdSetRedPointStatusScNotify => "CmdSetRedPointStatusScNotify",
            CmdPlayerType::CmdStaminaInfoScNotify => "CmdStaminaInfoScNotify",
            CmdPlayerType::CmdAceAntiCheaterCsReq => "CmdAceAntiCheaterCsReq",
            CmdPlayerType::CmdQueryProductInfoCsReq => "CmdQueryProductInfoCsReq",
            CmdPlayerType::CmdGetHeroBasicTypeInfoScRsp => "CmdGetHeroBasicTypeInfoScRsp",
            CmdPlayerType::CmdAntiAddictScNotify => "CmdAntiAddictScNotify",
            CmdPlayerType::CmdGateServerScNotify => "CmdGateServerScNotify",
            CmdPlayerType::CmdSetPlayerInfoScRsp => "CmdSetPlayerInfoScRsp",
            CmdPlayerType::CmdGmTalkCsReq => "CmdGmTalkCsReq",
            CmdPlayerType::CmdHeroBasicTypeChangedNotify => {
                "CmdHeroBasicTypeChangedNotify"
            }
            CmdPlayerType::CmdGetSecretKeyInfoScRsp => "CmdGetSecretKeyInfoScRsp",
            CmdPlayerType::CmdGetLevelRewardTakenListScRsp => {
                "CmdGetLevelRewardTakenListScRsp"
            }
            CmdPlayerType::CmdPlayerLogoutScRsp => "CmdPlayerLogoutScRsp",
            CmdPlayerType::CmdQueryProductInfoScRsp => "CmdQueryProductInfoScRsp",
            CmdPlayerType::CmdReserveStaminaExchangeCsReq => {
                "CmdReserveStaminaExchangeCsReq"
            }
            CmdPlayerType::CmdMonthCardRewardNotify => "CmdMonthCardRewardNotify",
            CmdPlayerType::CmdGmTalkScRsp => "CmdGmTalkScRsp",
            CmdPlayerType::CmdUpdatePsnSettingsInfoCsReq => {
                "CmdUpdatePsnSettingsInfoCsReq"
            }
            CmdPlayerType::CmdRetcodeNotify => "CmdRetcodeNotify",
            CmdPlayerType::CmdGetHeroBasicTypeInfoCsReq => "CmdGetHeroBasicTypeInfoCsReq",
            CmdPlayerType::CmdFeatureSwitchClosedScNotify => {
                "CmdFeatureSwitchClosedScNotify"
            }
            CmdPlayerType::CmdGetBasicInfoCsReq => "CmdGetBasicInfoCsReq",
            CmdPlayerType::CmdSetHeroBasicTypeScRsp => "CmdSetHeroBasicTypeScRsp",
            CmdPlayerType::CmdClientObjUploadScRsp => "CmdClientObjUploadScRsp",
            CmdPlayerType::CmdPlayerKickOutScNotify => "CmdPlayerKickOutScNotify",
            CmdPlayerType::CmdRegionStopScNotify => "CmdRegionStopScNotify",
            CmdPlayerType::CmdReserveStaminaExchangeScRsp => {
                "CmdReserveStaminaExchangeScRsp"
            }
            CmdPlayerType::CmdPlayerLoginFinishScRsp => "CmdPlayerLoginFinishScRsp",
            CmdPlayerType::CmdSetLanguageScRsp => "CmdSetLanguageScRsp",
            CmdPlayerType::CmdPlayerHeartBeatCsReq => "CmdPlayerHeartBeatCsReq",
            CmdPlayerType::CmdClientDownloadDataScNotify => {
                "CmdClientDownloadDataScNotify"
            }
            CmdPlayerType::CmdPlayerGetTokenCsReq => "CmdPlayerGetTokenCsReq",
            CmdPlayerType::CmdSetLanguageCsReq => "CmdSetLanguageCsReq",
            CmdPlayerType::CmdUpdatePlayerSettingScRsp => "CmdUpdatePlayerSettingScRsp",
            CmdPlayerType::CmdGetVideoVersionKeyScRsp => "CmdGetVideoVersionKeyScRsp",
            CmdPlayerType::CmdGetLevelRewardScRsp => "CmdGetLevelRewardScRsp",
            CmdPlayerType::CmdUpdateFeatureSwitchScNotify => {
                "CmdUpdateFeatureSwitchScNotify"
            }
            CmdPlayerType::CmdSetPlayerInfoCsReq => "CmdSetPlayerInfoCsReq",
            CmdPlayerType::CmdSetHeroBasicTypeCsReq => "CmdSetHeroBasicTypeCsReq",
            CmdPlayerType::CmdPlayerLoginCsReq => "CmdPlayerLoginCsReq",
            CmdPlayerType::CmdClientObjDownloadDataScNotify => {
                "CmdClientObjDownloadDataScNotify"
            }
            CmdPlayerType::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 {
            "CmdPlayerTypeNone" => Some(Self::None),
            "CmdPlayerLogoutCsReq" => Some(Self::CmdPlayerLogoutCsReq),
            "CmdPlayerHeartBeatScRsp" => Some(Self::CmdPlayerHeartBeatScRsp),
            "CmdExchangeStaminaScRsp" => Some(Self::CmdExchangeStaminaScRsp),
            "CmdGetLevelRewardTakenListCsReq" => {
                Some(Self::CmdGetLevelRewardTakenListCsReq)
            }
            "CmdUpdatePlayerSettingCsReq" => Some(Self::CmdUpdatePlayerSettingCsReq),
            "CmdSetGameplayBirthdayCsReq" => Some(Self::CmdSetGameplayBirthdayCsReq),
            "CmdDailyRefreshNotify" => Some(Self::CmdDailyRefreshNotify),
            "CmdServerAnnounceNotify" => Some(Self::CmdServerAnnounceNotify),
            "CmdPlayerLoginFinishCsReq" => Some(Self::CmdPlayerLoginFinishCsReq),
            "CmdExchangeStaminaCsReq" => Some(Self::CmdExchangeStaminaCsReq),
            "CmdGetAuthkeyScRsp" => Some(Self::CmdGetAuthkeyScRsp),
            "CmdGetBasicInfoScRsp" => Some(Self::CmdGetBasicInfoScRsp),
            "CmdSetGameplayBirthdayScRsp" => Some(Self::CmdSetGameplayBirthdayScRsp),
            "CmdGetVideoVersionKeyCsReq" => Some(Self::CmdGetVideoVersionKeyCsReq),
            "CmdGetAuthkeyCsReq" => Some(Self::CmdGetAuthkeyCsReq),
            "CmdSetGenderScRsp" => Some(Self::CmdSetGenderScRsp),
            "CmdGetLevelRewardCsReq" => Some(Self::CmdGetLevelRewardCsReq),
            "CmdGetSecretKeyInfoCsReq" => Some(Self::CmdGetSecretKeyInfoCsReq),
            "CmdClientObjUploadCsReq" => Some(Self::CmdClientObjUploadCsReq),
            "CmdUpdatePsnSettingsInfoScRsp" => Some(Self::CmdUpdatePsnSettingsInfoScRsp),
            "CmdPlayerLoginScRsp" => Some(Self::CmdPlayerLoginScRsp),
            "CmdAceAntiCheaterScRsp" => Some(Self::CmdAceAntiCheaterScRsp),
            "CmdSetNicknameScRsp" => Some(Self::CmdSetNicknameScRsp),
            "CmdPlayerGetTokenScRsp" => Some(Self::CmdPlayerGetTokenScRsp),
            "CmdGmTalkScNotify" => Some(Self::CmdGmTalkScNotify),
            "CmdSetGenderCsReq" => Some(Self::CmdSetGenderCsReq),
            "CmdSetRedPointStatusScNotify" => Some(Self::CmdSetRedPointStatusScNotify),
            "CmdStaminaInfoScNotify" => Some(Self::CmdStaminaInfoScNotify),
            "CmdAceAntiCheaterCsReq" => Some(Self::CmdAceAntiCheaterCsReq),
            "CmdQueryProductInfoCsReq" => Some(Self::CmdQueryProductInfoCsReq),
            "CmdGetHeroBasicTypeInfoScRsp" => Some(Self::CmdGetHeroBasicTypeInfoScRsp),
            "CmdAntiAddictScNotify" => Some(Self::CmdAntiAddictScNotify),
            "CmdGateServerScNotify" => Some(Self::CmdGateServerScNotify),
            "CmdSetPlayerInfoScRsp" => Some(Self::CmdSetPlayerInfoScRsp),
            "CmdGmTalkCsReq" => Some(Self::CmdGmTalkCsReq),
            "CmdHeroBasicTypeChangedNotify" => Some(Self::CmdHeroBasicTypeChangedNotify),
            "CmdGetSecretKeyInfoScRsp" => Some(Self::CmdGetSecretKeyInfoScRsp),
            "CmdGetLevelRewardTakenListScRsp" => {
                Some(Self::CmdGetLevelRewardTakenListScRsp)
            }
            "CmdPlayerLogoutScRsp" => Some(Self::CmdPlayerLogoutScRsp),
            "CmdQueryProductInfoScRsp" => Some(Self::CmdQueryProductInfoScRsp),
            "CmdReserveStaminaExchangeCsReq" => {
                Some(Self::CmdReserveStaminaExchangeCsReq)
            }
            "CmdMonthCardRewardNotify" => Some(Self::CmdMonthCardRewardNotify),
            "CmdGmTalkScRsp" => Some(Self::CmdGmTalkScRsp),
            "CmdUpdatePsnSettingsInfoCsReq" => Some(Self::CmdUpdatePsnSettingsInfoCsReq),
            "CmdRetcodeNotify" => Some(Self::CmdRetcodeNotify),
            "CmdGetHeroBasicTypeInfoCsReq" => Some(Self::CmdGetHeroBasicTypeInfoCsReq),
            "CmdFeatureSwitchClosedScNotify" => {
                Some(Self::CmdFeatureSwitchClosedScNotify)
            }
            "CmdGetBasicInfoCsReq" => Some(Self::CmdGetBasicInfoCsReq),
            "CmdSetHeroBasicTypeScRsp" => Some(Self::CmdSetHeroBasicTypeScRsp),
            "CmdClientObjUploadScRsp" => Some(Self::CmdClientObjUploadScRsp),
            "CmdPlayerKickOutScNotify" => Some(Self::CmdPlayerKickOutScNotify),
            "CmdRegionStopScNotify" => Some(Self::CmdRegionStopScNotify),
            "CmdReserveStaminaExchangeScRsp" => {
                Some(Self::CmdReserveStaminaExchangeScRsp)
            }
            "CmdPlayerLoginFinishScRsp" => Some(Self::CmdPlayerLoginFinishScRsp),
            "CmdSetLanguageScRsp" => Some(Self::CmdSetLanguageScRsp),
            "CmdPlayerHeartBeatCsReq" => Some(Self::CmdPlayerHeartBeatCsReq),
            "CmdClientDownloadDataScNotify" => Some(Self::CmdClientDownloadDataScNotify),
            "CmdPlayerGetTokenCsReq" => Some(Self::CmdPlayerGetTokenCsReq),
            "CmdSetLanguageCsReq" => Some(Self::CmdSetLanguageCsReq),
            "CmdUpdatePlayerSettingScRsp" => Some(Self::CmdUpdatePlayerSettingScRsp),
            "CmdGetVideoVersionKeyScRsp" => Some(Self::CmdGetVideoVersionKeyScRsp),
            "CmdGetLevelRewardScRsp" => Some(Self::CmdGetLevelRewardScRsp),
            "CmdUpdateFeatureSwitchScNotify" => {
                Some(Self::CmdUpdateFeatureSwitchScNotify)
            }
            "CmdSetPlayerInfoCsReq" => Some(Self::CmdSetPlayerInfoCsReq),
            "CmdSetHeroBasicTypeCsReq" => Some(Self::CmdSetHeroBasicTypeCsReq),
            "CmdPlayerLoginCsReq" => Some(Self::CmdPlayerLoginCsReq),
            "CmdClientObjDownloadDataScNotify" => {
                Some(Self::CmdClientObjDownloadDataScNotify)
            }
            "CmdSetNicknameCsReq" => Some(Self::CmdSetNicknameCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AuthkeySignType {
    None = 0,
    Default = 1,
    Rsa = 2,
}
impl AuthkeySignType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            AuthkeySignType::None => "AUTHKEY_SIGN_TYPE_NONE",
            AuthkeySignType::Default => "AUTHKEY_SIGN_TYPE_DEFAULT",
            AuthkeySignType::Rsa => "AUTHKEY_SIGN_TYPE_RSA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AUTHKEY_SIGN_TYPE_NONE" => Some(Self::None),
            "AUTHKEY_SIGN_TYPE_DEFAULT" => Some(Self::Default),
            "AUTHKEY_SIGN_TYPE_RSA" => Some(Self::Rsa),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerBoardType {
    None = 0,
    CmdSetIsDisplayAvatarInfoScRsp = 2871,
    CmdGetPlayerBoardDataCsReq = 2861,
    CmdSetSignatureCsReq = 2827,
    CmdGetPlayerBoardDataScRsp = 2888,
    CmdSetHeadIconScRsp = 2820,
    CmdSetAssistAvatarScRsp = 2847,
    CmdSetDisplayAvatarScRsp = 2873,
    CmdSetDisplayAvatarCsReq = 2839,
    CmdSetAssistAvatarCsReq = 2874,
    CmdSetHeadIconCsReq = 2891,
    CmdUnlockHeadIconScNotify = 2887,
    CmdSetIsDisplayAvatarInfoCsReq = 2830,
    CmdSetSignatureScRsp = 2862,
}
impl CmdPlayerBoardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlayerBoardType::None => "CmdPlayerBoardTypeNone",
            CmdPlayerBoardType::CmdSetIsDisplayAvatarInfoScRsp => {
                "CmdSetIsDisplayAvatarInfoScRsp"
            }
            CmdPlayerBoardType::CmdGetPlayerBoardDataCsReq => {
                "CmdGetPlayerBoardDataCsReq"
            }
            CmdPlayerBoardType::CmdSetSignatureCsReq => "CmdSetSignatureCsReq",
            CmdPlayerBoardType::CmdGetPlayerBoardDataScRsp => {
                "CmdGetPlayerBoardDataScRsp"
            }
            CmdPlayerBoardType::CmdSetHeadIconScRsp => "CmdSetHeadIconScRsp",
            CmdPlayerBoardType::CmdSetAssistAvatarScRsp => "CmdSetAssistAvatarScRsp",
            CmdPlayerBoardType::CmdSetDisplayAvatarScRsp => "CmdSetDisplayAvatarScRsp",
            CmdPlayerBoardType::CmdSetDisplayAvatarCsReq => "CmdSetDisplayAvatarCsReq",
            CmdPlayerBoardType::CmdSetAssistAvatarCsReq => "CmdSetAssistAvatarCsReq",
            CmdPlayerBoardType::CmdSetHeadIconCsReq => "CmdSetHeadIconCsReq",
            CmdPlayerBoardType::CmdUnlockHeadIconScNotify => "CmdUnlockHeadIconScNotify",
            CmdPlayerBoardType::CmdSetIsDisplayAvatarInfoCsReq => {
                "CmdSetIsDisplayAvatarInfoCsReq"
            }
            CmdPlayerBoardType::CmdSetSignatureScRsp => "CmdSetSignatureScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerBoardTypeNone" => Some(Self::None),
            "CmdSetIsDisplayAvatarInfoScRsp" => {
                Some(Self::CmdSetIsDisplayAvatarInfoScRsp)
            }
            "CmdGetPlayerBoardDataCsReq" => Some(Self::CmdGetPlayerBoardDataCsReq),
            "CmdSetSignatureCsReq" => Some(Self::CmdSetSignatureCsReq),
            "CmdGetPlayerBoardDataScRsp" => Some(Self::CmdGetPlayerBoardDataScRsp),
            "CmdSetHeadIconScRsp" => Some(Self::CmdSetHeadIconScRsp),
            "CmdSetAssistAvatarScRsp" => Some(Self::CmdSetAssistAvatarScRsp),
            "CmdSetDisplayAvatarScRsp" => Some(Self::CmdSetDisplayAvatarScRsp),
            "CmdSetDisplayAvatarCsReq" => Some(Self::CmdSetDisplayAvatarCsReq),
            "CmdSetAssistAvatarCsReq" => Some(Self::CmdSetAssistAvatarCsReq),
            "CmdSetHeadIconCsReq" => Some(Self::CmdSetHeadIconCsReq),
            "CmdUnlockHeadIconScNotify" => Some(Self::CmdUnlockHeadIconScNotify),
            "CmdSetIsDisplayAvatarInfoCsReq" => {
                Some(Self::CmdSetIsDisplayAvatarInfoCsReq)
            }
            "CmdSetSignatureScRsp" => Some(Self::CmdSetSignatureScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerReturnType {
    None = 0,
    CmdPlayerReturnInfoQueryScRsp = 4527,
    CmdPlayerReturnTakePointRewardCsReq = 4539,
    CmdPlayerReturnTakePointRewardScRsp = 4573,
    CmdPlayerReturnPointChangeScNotify = 4520,
    CmdPlayerReturnTakeRewardCsReq = 4530,
    CmdPlayerReturnInfoQueryCsReq = 4587,
    CmdPlayerReturnStartScNotify = 4561,
    CmdPlayerReturnTakeRewardScRsp = 4571,
    CmdPlayerReturnSignScRsp = 4591,
    CmdPlayerReturnForceFinishScNotify = 4562,
    CmdPlayerReturnSignCsReq = 4588,
}
impl CmdPlayerReturnType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlayerReturnType::None => "CmdPlayerReturnTypeNone",
            CmdPlayerReturnType::CmdPlayerReturnInfoQueryScRsp => {
                "CmdPlayerReturnInfoQueryScRsp"
            }
            CmdPlayerReturnType::CmdPlayerReturnTakePointRewardCsReq => {
                "CmdPlayerReturnTakePointRewardCsReq"
            }
            CmdPlayerReturnType::CmdPlayerReturnTakePointRewardScRsp => {
                "CmdPlayerReturnTakePointRewardScRsp"
            }
            CmdPlayerReturnType::CmdPlayerReturnPointChangeScNotify => {
                "CmdPlayerReturnPointChangeScNotify"
            }
            CmdPlayerReturnType::CmdPlayerReturnTakeRewardCsReq => {
                "CmdPlayerReturnTakeRewardCsReq"
            }
            CmdPlayerReturnType::CmdPlayerReturnInfoQueryCsReq => {
                "CmdPlayerReturnInfoQueryCsReq"
            }
            CmdPlayerReturnType::CmdPlayerReturnStartScNotify => {
                "CmdPlayerReturnStartScNotify"
            }
            CmdPlayerReturnType::CmdPlayerReturnTakeRewardScRsp => {
                "CmdPlayerReturnTakeRewardScRsp"
            }
            CmdPlayerReturnType::CmdPlayerReturnSignScRsp => "CmdPlayerReturnSignScRsp",
            CmdPlayerReturnType::CmdPlayerReturnForceFinishScNotify => {
                "CmdPlayerReturnForceFinishScNotify"
            }
            CmdPlayerReturnType::CmdPlayerReturnSignCsReq => "CmdPlayerReturnSignCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerReturnTypeNone" => Some(Self::None),
            "CmdPlayerReturnInfoQueryScRsp" => Some(Self::CmdPlayerReturnInfoQueryScRsp),
            "CmdPlayerReturnTakePointRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakePointRewardCsReq)
            }
            "CmdPlayerReturnTakePointRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakePointRewardScRsp)
            }
            "CmdPlayerReturnPointChangeScNotify" => {
                Some(Self::CmdPlayerReturnPointChangeScNotify)
            }
            "CmdPlayerReturnTakeRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakeRewardCsReq)
            }
            "CmdPlayerReturnInfoQueryCsReq" => Some(Self::CmdPlayerReturnInfoQueryCsReq),
            "CmdPlayerReturnStartScNotify" => Some(Self::CmdPlayerReturnStartScNotify),
            "CmdPlayerReturnTakeRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakeRewardScRsp)
            }
            "CmdPlayerReturnSignScRsp" => Some(Self::CmdPlayerReturnSignScRsp),
            "CmdPlayerReturnForceFinishScNotify" => {
                Some(Self::CmdPlayerReturnForceFinishScNotify)
            }
            "CmdPlayerReturnSignCsReq" => Some(Self::CmdPlayerReturnSignCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Icogimmdmbf {
    PlayerReturnNone = 0,
    PlayerReturnProcessing = 1,
    PlayerReturnFinish = 2,
}
impl Icogimmdmbf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Icogimmdmbf::PlayerReturnNone => "PLAYER_RETURN_NONE",
            Icogimmdmbf::PlayerReturnProcessing => "PLAYER_RETURN_PROCESSING",
            Icogimmdmbf::PlayerReturnFinish => "PLAYER_RETURN_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLAYER_RETURN_NONE" => Some(Self::PlayerReturnNone),
            "PLAYER_RETURN_PROCESSING" => Some(Self::PlayerReturnProcessing),
            "PLAYER_RETURN_FINISH" => Some(Self::PlayerReturnFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlotType {
    None = 0,
    CmdFinishPlotCsReq = 1161,
    CmdFinishPlotScRsp = 1188,
}
impl CmdPlotType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlotType::None => "CmdPlotTypeNone",
            CmdPlotType::CmdFinishPlotCsReq => "CmdFinishPlotCsReq",
            CmdPlotType::CmdFinishPlotScRsp => "CmdFinishPlotScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlotTypeNone" => Some(Self::None),
            "CmdFinishPlotCsReq" => Some(Self::CmdFinishPlotCsReq),
            "CmdFinishPlotScRsp" => Some(Self::CmdFinishPlotScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPunkLordType {
    None = 0,
    CmdGetKilledPunkLordMonsterDataCsReq = 3281,
    CmdPunkLordDataChangeNotify = 3232,
    CmdPunkLordMonsterKilledNotify = 3201,
    CmdGetPunkLordMonsterDataScRsp = 3288,
    CmdGetPunkLordBattleRecordCsReq = 3255,
    CmdSummonPunkLordMonsterScRsp = 3271,
    CmdGetPunkLordDataCsReq = 3221,
    CmdTakeKilledPunkLordMonsterScoreScRsp = 3250,
    CmdPunkLordMonsterInfoScNotify = 3296,
    CmdSummonPunkLordMonsterCsReq = 3230,
    CmdPunkLordRaidTimeOutScNotify = 3270,
    CmdGetPunkLordMonsterDataCsReq = 3261,
    CmdPunkLordBattleResultScNotify = 3209,
    CmdGetPunkLordBattleRecordScRsp = 3268,
    CmdSharePunkLordMonsterCsReq = 3239,
    CmdTakePunkLordPointRewardScRsp = 3294,
    CmdStartPunkLordRaidCsReq = 3291,
    CmdSharePunkLordMonsterScRsp = 3273,
    CmdGetPunkLordDataScRsp = 3282,
    CmdStartPunkLordRaidScRsp = 3220,
    CmdGetKilledPunkLordMonsterDataScRsp = 3212,
    CmdTakePunkLordPointRewardCsReq = 3247,
    CmdTakeKilledPunkLordMonsterScoreCsReq = 3233,
}
impl CmdPunkLordType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPunkLordType::None => "CmdPunkLordTypeNone",
            CmdPunkLordType::CmdGetKilledPunkLordMonsterDataCsReq => {
                "CmdGetKilledPunkLordMonsterDataCsReq"
            }
            CmdPunkLordType::CmdPunkLordDataChangeNotify => "CmdPunkLordDataChangeNotify",
            CmdPunkLordType::CmdPunkLordMonsterKilledNotify => {
                "CmdPunkLordMonsterKilledNotify"
            }
            CmdPunkLordType::CmdGetPunkLordMonsterDataScRsp => {
                "CmdGetPunkLordMonsterDataScRsp"
            }
            CmdPunkLordType::CmdGetPunkLordBattleRecordCsReq => {
                "CmdGetPunkLordBattleRecordCsReq"
            }
            CmdPunkLordType::CmdSummonPunkLordMonsterScRsp => {
                "CmdSummonPunkLordMonsterScRsp"
            }
            CmdPunkLordType::CmdGetPunkLordDataCsReq => "CmdGetPunkLordDataCsReq",
            CmdPunkLordType::CmdTakeKilledPunkLordMonsterScoreScRsp => {
                "CmdTakeKilledPunkLordMonsterScoreScRsp"
            }
            CmdPunkLordType::CmdPunkLordMonsterInfoScNotify => {
                "CmdPunkLordMonsterInfoScNotify"
            }
            CmdPunkLordType::CmdSummonPunkLordMonsterCsReq => {
                "CmdSummonPunkLordMonsterCsReq"
            }
            CmdPunkLordType::CmdPunkLordRaidTimeOutScNotify => {
                "CmdPunkLordRaidTimeOutScNotify"
            }
            CmdPunkLordType::CmdGetPunkLordMonsterDataCsReq => {
                "CmdGetPunkLordMonsterDataCsReq"
            }
            CmdPunkLordType::CmdPunkLordBattleResultScNotify => {
                "CmdPunkLordBattleResultScNotify"
            }
            CmdPunkLordType::CmdGetPunkLordBattleRecordScRsp => {
                "CmdGetPunkLordBattleRecordScRsp"
            }
            CmdPunkLordType::CmdSharePunkLordMonsterCsReq => {
                "CmdSharePunkLordMonsterCsReq"
            }
            CmdPunkLordType::CmdTakePunkLordPointRewardScRsp => {
                "CmdTakePunkLordPointRewardScRsp"
            }
            CmdPunkLordType::CmdStartPunkLordRaidCsReq => "CmdStartPunkLordRaidCsReq",
            CmdPunkLordType::CmdSharePunkLordMonsterScRsp => {
                "CmdSharePunkLordMonsterScRsp"
            }
            CmdPunkLordType::CmdGetPunkLordDataScRsp => "CmdGetPunkLordDataScRsp",
            CmdPunkLordType::CmdStartPunkLordRaidScRsp => "CmdStartPunkLordRaidScRsp",
            CmdPunkLordType::CmdGetKilledPunkLordMonsterDataScRsp => {
                "CmdGetKilledPunkLordMonsterDataScRsp"
            }
            CmdPunkLordType::CmdTakePunkLordPointRewardCsReq => {
                "CmdTakePunkLordPointRewardCsReq"
            }
            CmdPunkLordType::CmdTakeKilledPunkLordMonsterScoreCsReq => {
                "CmdTakeKilledPunkLordMonsterScoreCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPunkLordTypeNone" => Some(Self::None),
            "CmdGetKilledPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataCsReq)
            }
            "CmdPunkLordDataChangeNotify" => Some(Self::CmdPunkLordDataChangeNotify),
            "CmdPunkLordMonsterKilledNotify" => {
                Some(Self::CmdPunkLordMonsterKilledNotify)
            }
            "CmdGetPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetPunkLordMonsterDataScRsp)
            }
            "CmdGetPunkLordBattleRecordCsReq" => {
                Some(Self::CmdGetPunkLordBattleRecordCsReq)
            }
            "CmdSummonPunkLordMonsterScRsp" => Some(Self::CmdSummonPunkLordMonsterScRsp),
            "CmdGetPunkLordDataCsReq" => Some(Self::CmdGetPunkLordDataCsReq),
            "CmdTakeKilledPunkLordMonsterScoreScRsp" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreScRsp)
            }
            "CmdPunkLordMonsterInfoScNotify" => {
                Some(Self::CmdPunkLordMonsterInfoScNotify)
            }
            "CmdSummonPunkLordMonsterCsReq" => Some(Self::CmdSummonPunkLordMonsterCsReq),
            "CmdPunkLordRaidTimeOutScNotify" => {
                Some(Self::CmdPunkLordRaidTimeOutScNotify)
            }
            "CmdGetPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetPunkLordMonsterDataCsReq)
            }
            "CmdPunkLordBattleResultScNotify" => {
                Some(Self::CmdPunkLordBattleResultScNotify)
            }
            "CmdGetPunkLordBattleRecordScRsp" => {
                Some(Self::CmdGetPunkLordBattleRecordScRsp)
            }
            "CmdSharePunkLordMonsterCsReq" => Some(Self::CmdSharePunkLordMonsterCsReq),
            "CmdTakePunkLordPointRewardScRsp" => {
                Some(Self::CmdTakePunkLordPointRewardScRsp)
            }
            "CmdStartPunkLordRaidCsReq" => Some(Self::CmdStartPunkLordRaidCsReq),
            "CmdSharePunkLordMonsterScRsp" => Some(Self::CmdSharePunkLordMonsterScRsp),
            "CmdGetPunkLordDataScRsp" => Some(Self::CmdGetPunkLordDataScRsp),
            "CmdStartPunkLordRaidScRsp" => Some(Self::CmdStartPunkLordRaidScRsp),
            "CmdGetKilledPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataScRsp)
            }
            "CmdTakePunkLordPointRewardCsReq" => {
                Some(Self::CmdTakePunkLordPointRewardCsReq)
            }
            "CmdTakeKilledPunkLordMonsterScoreCsReq" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pnnikfidobd {
    PunkLordOperationNone = 0,
    PunkLordOperationRefresh = 1,
    PunkLordOperationShare = 2,
    PunkLordOperationStartRaid = 3,
    PunkLordOperationGetBattleRecord = 4,
}
impl Pnnikfidobd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pnnikfidobd::PunkLordOperationNone => "PUNK_LORD_OPERATION_NONE",
            Pnnikfidobd::PunkLordOperationRefresh => "PUNK_LORD_OPERATION_REFRESH",
            Pnnikfidobd::PunkLordOperationShare => "PUNK_LORD_OPERATION_SHARE",
            Pnnikfidobd::PunkLordOperationStartRaid => "PUNK_LORD_OPERATION_START_RAID",
            Pnnikfidobd::PunkLordOperationGetBattleRecord => {
                "PUNK_LORD_OPERATION_GET_BATTLE_RECORD"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_OPERATION_NONE" => Some(Self::PunkLordOperationNone),
            "PUNK_LORD_OPERATION_REFRESH" => Some(Self::PunkLordOperationRefresh),
            "PUNK_LORD_OPERATION_SHARE" => Some(Self::PunkLordOperationShare),
            "PUNK_LORD_OPERATION_START_RAID" => Some(Self::PunkLordOperationStartRaid),
            "PUNK_LORD_OPERATION_GET_BATTLE_RECORD" => {
                Some(Self::PunkLordOperationGetBattleRecord)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdQuestType {
    None = 0,
    CmdQuestRecordScNotify = 987,
    CmdTakeQuestRewardScRsp = 920,
    CmdBatchGetQuestDataScRsp = 921,
    CmdGetQuestDataCsReq = 961,
    CmdFinishQuestScRsp = 962,
    CmdGetQuestRecordCsReq = 930,
    CmdGetQuestRecordScRsp = 971,
    CmdFinishQuestCsReq = 927,
    CmdGetQuestDataScRsp = 988,
    CmdTakeQuestOptionalRewardScRsp = 947,
    CmdTakeQuestRewardCsReq = 991,
    CmdTakeQuestOptionalRewardCsReq = 974,
    CmdBatchGetQuestDataCsReq = 996,
}
impl CmdQuestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdQuestType::None => "CmdQuestTypeNone",
            CmdQuestType::CmdQuestRecordScNotify => "CmdQuestRecordScNotify",
            CmdQuestType::CmdTakeQuestRewardScRsp => "CmdTakeQuestRewardScRsp",
            CmdQuestType::CmdBatchGetQuestDataScRsp => "CmdBatchGetQuestDataScRsp",
            CmdQuestType::CmdGetQuestDataCsReq => "CmdGetQuestDataCsReq",
            CmdQuestType::CmdFinishQuestScRsp => "CmdFinishQuestScRsp",
            CmdQuestType::CmdGetQuestRecordCsReq => "CmdGetQuestRecordCsReq",
            CmdQuestType::CmdGetQuestRecordScRsp => "CmdGetQuestRecordScRsp",
            CmdQuestType::CmdFinishQuestCsReq => "CmdFinishQuestCsReq",
            CmdQuestType::CmdGetQuestDataScRsp => "CmdGetQuestDataScRsp",
            CmdQuestType::CmdTakeQuestOptionalRewardScRsp => {
                "CmdTakeQuestOptionalRewardScRsp"
            }
            CmdQuestType::CmdTakeQuestRewardCsReq => "CmdTakeQuestRewardCsReq",
            CmdQuestType::CmdTakeQuestOptionalRewardCsReq => {
                "CmdTakeQuestOptionalRewardCsReq"
            }
            CmdQuestType::CmdBatchGetQuestDataCsReq => "CmdBatchGetQuestDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdQuestTypeNone" => Some(Self::None),
            "CmdQuestRecordScNotify" => Some(Self::CmdQuestRecordScNotify),
            "CmdTakeQuestRewardScRsp" => Some(Self::CmdTakeQuestRewardScRsp),
            "CmdBatchGetQuestDataScRsp" => Some(Self::CmdBatchGetQuestDataScRsp),
            "CmdGetQuestDataCsReq" => Some(Self::CmdGetQuestDataCsReq),
            "CmdFinishQuestScRsp" => Some(Self::CmdFinishQuestScRsp),
            "CmdGetQuestRecordCsReq" => Some(Self::CmdGetQuestRecordCsReq),
            "CmdGetQuestRecordScRsp" => Some(Self::CmdGetQuestRecordScRsp),
            "CmdFinishQuestCsReq" => Some(Self::CmdFinishQuestCsReq),
            "CmdGetQuestDataScRsp" => Some(Self::CmdGetQuestDataScRsp),
            "CmdTakeQuestOptionalRewardScRsp" => {
                Some(Self::CmdTakeQuestOptionalRewardScRsp)
            }
            "CmdTakeQuestRewardCsReq" => Some(Self::CmdTakeQuestRewardCsReq),
            "CmdTakeQuestOptionalRewardCsReq" => {
                Some(Self::CmdTakeQuestOptionalRewardCsReq)
            }
            "CmdBatchGetQuestDataCsReq" => Some(Self::CmdBatchGetQuestDataCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ibcjefpmhhn {
    QuestNone = 0,
    QuestDoing = 1,
    QuestFinish = 2,
    QuestClose = 3,
    QuestDelete = 4,
}
impl Ibcjefpmhhn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ibcjefpmhhn::QuestNone => "QUEST_NONE",
            Ibcjefpmhhn::QuestDoing => "QUEST_DOING",
            Ibcjefpmhhn::QuestFinish => "QUEST_FINISH",
            Ibcjefpmhhn::QuestClose => "QUEST_CLOSE",
            Ibcjefpmhhn::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,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidType {
    None = 0,
    CmdStartRaidCsReq = 2261,
    CmdGetChallengeRaidInfoCsReq = 2273,
    CmdStartRaidScRsp = 2288,
    CmdGetChallengeRaidInfoScRsp = 2230,
    CmdSetClientRaidTargetCountScRsp = 2294,
    CmdTakeChallengeRaidRewardCsReq = 2271,
    CmdChallengeRaidNotify = 2227,
    CmdGetAllSaveRaidScRsp = 2203,
    CmdRaidInfoNotify = 2239,
    CmdTakeChallengeRaidRewardScRsp = 2287,
    CmdGetRaidInfoScRsp = 2274,
    CmdLeaveRaidScRsp = 2220,
    CmdGetSaveRaidScRsp = 2221,
    CmdDelSaveRaidScNotify = 2270,
    CmdRaidKickByServerScNotify = 2256,
    CmdSetClientRaidTargetCountCsReq = 2247,
    CmdLeaveRaidCsReq = 2291,
    CmdGetAllSaveRaidCsReq = 2282,
    CmdGetRaidInfoCsReq = 2262,
    CmdGetSaveRaidCsReq = 2296,
}
impl CmdRaidType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRaidType::None => "CmdRaidTypeNone",
            CmdRaidType::CmdStartRaidCsReq => "CmdStartRaidCsReq",
            CmdRaidType::CmdGetChallengeRaidInfoCsReq => "CmdGetChallengeRaidInfoCsReq",
            CmdRaidType::CmdStartRaidScRsp => "CmdStartRaidScRsp",
            CmdRaidType::CmdGetChallengeRaidInfoScRsp => "CmdGetChallengeRaidInfoScRsp",
            CmdRaidType::CmdSetClientRaidTargetCountScRsp => {
                "CmdSetClientRaidTargetCountScRsp"
            }
            CmdRaidType::CmdTakeChallengeRaidRewardCsReq => {
                "CmdTakeChallengeRaidRewardCsReq"
            }
            CmdRaidType::CmdChallengeRaidNotify => "CmdChallengeRaidNotify",
            CmdRaidType::CmdGetAllSaveRaidScRsp => "CmdGetAllSaveRaidScRsp",
            CmdRaidType::CmdRaidInfoNotify => "CmdRaidInfoNotify",
            CmdRaidType::CmdTakeChallengeRaidRewardScRsp => {
                "CmdTakeChallengeRaidRewardScRsp"
            }
            CmdRaidType::CmdGetRaidInfoScRsp => "CmdGetRaidInfoScRsp",
            CmdRaidType::CmdLeaveRaidScRsp => "CmdLeaveRaidScRsp",
            CmdRaidType::CmdGetSaveRaidScRsp => "CmdGetSaveRaidScRsp",
            CmdRaidType::CmdDelSaveRaidScNotify => "CmdDelSaveRaidScNotify",
            CmdRaidType::CmdRaidKickByServerScNotify => "CmdRaidKickByServerScNotify",
            CmdRaidType::CmdSetClientRaidTargetCountCsReq => {
                "CmdSetClientRaidTargetCountCsReq"
            }
            CmdRaidType::CmdLeaveRaidCsReq => "CmdLeaveRaidCsReq",
            CmdRaidType::CmdGetAllSaveRaidCsReq => "CmdGetAllSaveRaidCsReq",
            CmdRaidType::CmdGetRaidInfoCsReq => "CmdGetRaidInfoCsReq",
            CmdRaidType::CmdGetSaveRaidCsReq => "CmdGetSaveRaidCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRaidTypeNone" => Some(Self::None),
            "CmdStartRaidCsReq" => Some(Self::CmdStartRaidCsReq),
            "CmdGetChallengeRaidInfoCsReq" => Some(Self::CmdGetChallengeRaidInfoCsReq),
            "CmdStartRaidScRsp" => Some(Self::CmdStartRaidScRsp),
            "CmdGetChallengeRaidInfoScRsp" => Some(Self::CmdGetChallengeRaidInfoScRsp),
            "CmdSetClientRaidTargetCountScRsp" => {
                Some(Self::CmdSetClientRaidTargetCountScRsp)
            }
            "CmdTakeChallengeRaidRewardCsReq" => {
                Some(Self::CmdTakeChallengeRaidRewardCsReq)
            }
            "CmdChallengeRaidNotify" => Some(Self::CmdChallengeRaidNotify),
            "CmdGetAllSaveRaidScRsp" => Some(Self::CmdGetAllSaveRaidScRsp),
            "CmdRaidInfoNotify" => Some(Self::CmdRaidInfoNotify),
            "CmdTakeChallengeRaidRewardScRsp" => {
                Some(Self::CmdTakeChallengeRaidRewardScRsp)
            }
            "CmdGetRaidInfoScRsp" => Some(Self::CmdGetRaidInfoScRsp),
            "CmdLeaveRaidScRsp" => Some(Self::CmdLeaveRaidScRsp),
            "CmdGetSaveRaidScRsp" => Some(Self::CmdGetSaveRaidScRsp),
            "CmdDelSaveRaidScNotify" => Some(Self::CmdDelSaveRaidScNotify),
            "CmdRaidKickByServerScNotify" => Some(Self::CmdRaidKickByServerScNotify),
            "CmdSetClientRaidTargetCountCsReq" => {
                Some(Self::CmdSetClientRaidTargetCountCsReq)
            }
            "CmdLeaveRaidCsReq" => Some(Self::CmdLeaveRaidCsReq),
            "CmdGetAllSaveRaidCsReq" => Some(Self::CmdGetAllSaveRaidCsReq),
            "CmdGetRaidInfoCsReq" => Some(Self::CmdGetRaidInfoCsReq),
            "CmdGetSaveRaidCsReq" => Some(Self::CmdGetSaveRaidCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Egdlnkpokac {
    RaidStatusNone = 0,
    RaidStatusDoing = 1,
    RaidStatusFinish = 2,
    RaidStatusFailed = 3,
}
impl Egdlnkpokac {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Egdlnkpokac::RaidStatusNone => "RAID_STATUS_NONE",
            Egdlnkpokac::RaidStatusDoing => "RAID_STATUS_DOING",
            Egdlnkpokac::RaidStatusFinish => "RAID_STATUS_FINISH",
            Egdlnkpokac::RaidStatusFailed => "RAID_STATUS_FAILED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_STATUS_NONE" => Some(Self::RaidStatusNone),
            "RAID_STATUS_DOING" => Some(Self::RaidStatusDoing),
            "RAID_STATUS_FINISH" => Some(Self::RaidStatusFinish),
            "RAID_STATUS_FAILED" => Some(Self::RaidStatusFailed),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ljngpkengml {
    RaidTargetStatusNone = 0,
    RaidTargetStatusDoing = 1,
    RaidTargetStatusFinish = 2,
}
impl Ljngpkengml {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ljngpkengml::RaidTargetStatusNone => "RAID_TARGET_STATUS_NONE",
            Ljngpkengml::RaidTargetStatusDoing => "RAID_TARGET_STATUS_DOING",
            Ljngpkengml::RaidTargetStatusFinish => "RAID_TARGET_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_TARGET_STATUS_NONE" => Some(Self::RaidTargetStatusNone),
            "RAID_TARGET_STATUS_DOING" => Some(Self::RaidTargetStatusDoing),
            "RAID_TARGET_STATUS_FINISH" => Some(Self::RaidTargetStatusFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nmmgmhildmo {
    RaidKickReasonNone = 0,
    RaidKickReasonActivityScheduleFinish = 1,
}
impl Nmmgmhildmo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nmmgmhildmo::RaidKickReasonNone => "RAID_KICK_REASON_NONE",
            Nmmgmhildmo::RaidKickReasonActivityScheduleFinish => {
                "RAID_KICK_REASON_ACTIVITY_SCHEDULE_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_KICK_REASON_NONE" => Some(Self::RaidKickReasonNone),
            "RAID_KICK_REASON_ACTIVITY_SCHEDULE_FINISH" => {
                Some(Self::RaidKickReasonActivityScheduleFinish)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidCollectionType {
    None = 0,
    CmdRaidCollectionDataScRsp = 6942,
    CmdRaidCollectionDataCsReq = 6949,
    CmdRaidCollectionDataScNotify = 6947,
}
impl CmdRaidCollectionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRaidCollectionType::None => "CmdRaidCollectionTypeNone",
            CmdRaidCollectionType::CmdRaidCollectionDataScRsp => {
                "CmdRaidCollectionDataScRsp"
            }
            CmdRaidCollectionType::CmdRaidCollectionDataCsReq => {
                "CmdRaidCollectionDataCsReq"
            }
            CmdRaidCollectionType::CmdRaidCollectionDataScNotify => {
                "CmdRaidCollectionDataScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRaidCollectionTypeNone" => Some(Self::None),
            "CmdRaidCollectionDataScRsp" => Some(Self::CmdRaidCollectionDataScRsp),
            "CmdRaidCollectionDataCsReq" => Some(Self::CmdRaidCollectionDataCsReq),
            "CmdRaidCollectionDataScNotify" => Some(Self::CmdRaidCollectionDataScNotify),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRedDotType {
    None = 0,
    CmdGetAllRedDotDataScRsp = 5988,
    CmdGetAllRedDotDataCsReq = 5961,
    CmdGetSingleRedDotParamGroupScRsp = 5973,
    CmdGetSingleRedDotParamGroupCsReq = 5939,
    CmdUpdateRedDotDataCsReq = 5991,
    CmdUpdateRedDotDataScRsp = 5920,
}
impl CmdRedDotType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRedDotType::None => "CmdRedDotTypeNone",
            CmdRedDotType::CmdGetAllRedDotDataScRsp => "CmdGetAllRedDotDataScRsp",
            CmdRedDotType::CmdGetAllRedDotDataCsReq => "CmdGetAllRedDotDataCsReq",
            CmdRedDotType::CmdGetSingleRedDotParamGroupScRsp => {
                "CmdGetSingleRedDotParamGroupScRsp"
            }
            CmdRedDotType::CmdGetSingleRedDotParamGroupCsReq => {
                "CmdGetSingleRedDotParamGroupCsReq"
            }
            CmdRedDotType::CmdUpdateRedDotDataCsReq => "CmdUpdateRedDotDataCsReq",
            CmdRedDotType::CmdUpdateRedDotDataScRsp => "CmdUpdateRedDotDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRedDotTypeNone" => Some(Self::None),
            "CmdGetAllRedDotDataScRsp" => Some(Self::CmdGetAllRedDotDataScRsp),
            "CmdGetAllRedDotDataCsReq" => Some(Self::CmdGetAllRedDotDataCsReq),
            "CmdGetSingleRedDotParamGroupScRsp" => {
                Some(Self::CmdGetSingleRedDotParamGroupScRsp)
            }
            "CmdGetSingleRedDotParamGroupCsReq" => {
                Some(Self::CmdGetSingleRedDotParamGroupCsReq)
            }
            "CmdUpdateRedDotDataCsReq" => Some(Self::CmdUpdateRedDotDataCsReq),
            "CmdUpdateRedDotDataScRsp" => Some(Self::CmdUpdateRedDotDataScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lffobchjjlo {
    UpdateReddotNone = 0,
    UpdateReddotAdd = 1,
    UpdateReddotReplace = 2,
}
impl Lffobchjjlo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lffobchjjlo::UpdateReddotNone => "UPDATE_REDDOT_NONE",
            Lffobchjjlo::UpdateReddotAdd => "UPDATE_REDDOT_ADD",
            Lffobchjjlo::UpdateReddotReplace => "UPDATE_REDDOT_REPLACE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UPDATE_REDDOT_NONE" => Some(Self::UpdateReddotNone),
            "UPDATE_REDDOT_ADD" => Some(Self::UpdateReddotAdd),
            "UPDATE_REDDOT_REPLACE" => Some(Self::UpdateReddotReplace),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdReplayType {
    None = 0,
    CmdGetReplayTokenCsReq = 3561,
    CmdGetReplayTokenScRsp = 3588,
    CmdGetPlayerReplayInfoCsReq = 3591,
    CmdGetPlayerReplayInfoScRsp = 3520,
}
impl CmdReplayType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdReplayType::None => "CmdReplayTypeNone",
            CmdReplayType::CmdGetReplayTokenCsReq => "CmdGetReplayTokenCsReq",
            CmdReplayType::CmdGetReplayTokenScRsp => "CmdGetReplayTokenScRsp",
            CmdReplayType::CmdGetPlayerReplayInfoCsReq => "CmdGetPlayerReplayInfoCsReq",
            CmdReplayType::CmdGetPlayerReplayInfoScRsp => "CmdGetPlayerReplayInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdReplayTypeNone" => Some(Self::None),
            "CmdGetReplayTokenCsReq" => Some(Self::CmdGetReplayTokenCsReq),
            "CmdGetReplayTokenScRsp" => Some(Self::CmdGetReplayTokenScRsp),
            "CmdGetPlayerReplayInfoCsReq" => Some(Self::CmdGetPlayerReplayInfoCsReq),
            "CmdGetPlayerReplayInfoScRsp" => Some(Self::CmdGetPlayerReplayInfoScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRndOptionType {
    None = 0,
    CmdGetRndOptionCsReq = 3461,
    CmdGetRndOptionScRsp = 3488,
    CmdDailyFirstMeetPamCsReq = 3491,
    CmdDailyFirstMeetPamScRsp = 3420,
}
impl CmdRndOptionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRndOptionType::None => "CmdRndOptionTypeNone",
            CmdRndOptionType::CmdGetRndOptionCsReq => "CmdGetRndOptionCsReq",
            CmdRndOptionType::CmdGetRndOptionScRsp => "CmdGetRndOptionScRsp",
            CmdRndOptionType::CmdDailyFirstMeetPamCsReq => "CmdDailyFirstMeetPamCsReq",
            CmdRndOptionType::CmdDailyFirstMeetPamScRsp => "CmdDailyFirstMeetPamScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRndOptionTypeNone" => Some(Self::None),
            "CmdGetRndOptionCsReq" => Some(Self::CmdGetRndOptionCsReq),
            "CmdGetRndOptionScRsp" => Some(Self::CmdGetRndOptionScRsp),
            "CmdDailyFirstMeetPamCsReq" => Some(Self::CmdDailyFirstMeetPamCsReq),
            "CmdDailyFirstMeetPamScRsp" => Some(Self::CmdDailyFirstMeetPamScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueType {
    None = 0,
    CmdEnterRogueMapRoomScRsp = 1817,
    CmdGetRogueAeonInfoScRsp = 1807,
    CmdSyncRogueExploreWinScNotify = 1858,
    CmdOpenRogueChestCsReq = 1844,
    CmdReviveRogueAvatarCsReq = 1870,
    CmdGetRogueInfoCsReq = 1861,
    CmdGetRogueInitialScoreScRsp = 1893,
    CmdQuitRogueCsReq = 1855,
    CmdEnableRogueTalentScRsp = 1877,
    CmdQuitRogueScRsp = 1868,
    CmdPickRogueAvatarCsReq = 1821,
    CmdSyncRogueSeasonFinishScNotify = 1813,
    CmdSyncRogueVirtualItemInfoScNotify = 1823,
    CmdPickRogueAvatarScRsp = 1882,
    CmdStartRogueCsReq = 1891,
    CmdEnterRogueScRsp = 1873,
    CmdEnhanceRogueBuffCsReq = 1812,
    CmdLeaveRogueScRsp = 1871,
    CmdSyncRogueRewardInfoScNotify = 1867,
    CmdExchangeRogueRewardKeyScRsp = 1816,
    CmdSyncRogueFinishScNotify = 1896,
    CmdGetRogueTalentInfoScRsp = 1875,
    CmdSyncRogueGetItemScNotify = 1884,
    CmdEnhanceRogueBuffScRsp = 1837,
    CmdTakeRogueScoreRewardScRsp = 1851,
    CmdSyncRogueAreaUnlockScNotify = 1879,
    CmdEnterRogueMapRoomCsReq = 1826,
    CmdOpenRogueChestScRsp = 1824,
    CmdGetRogueBuffEnhanceInfoScRsp = 1881,
    CmdGetRogueAeonInfoCsReq = 1899,
    CmdGetRogueTalentInfoCsReq = 1836,
    CmdEnterRogueCsReq = 1839,
    CmdGetRogueInfoScRsp = 1888,
    CmdFinishAeonDialogueGroupScRsp = 1802,
    CmdTakeRogueAeonLevelRewardCsReq = 1869,
    CmdLeaveRogueCsReq = 1830,
    CmdExchangeRogueRewardKeyCsReq = 1842,
    CmdSyncRogueReviveInfoScNotify = 1832,
    CmdSyncRogueMapRoomScNotify = 1840,
    CmdTakeRogueAeonLevelRewardScRsp = 1825,
    CmdEnableRogueTalentCsReq = 1838,
    CmdTakeRogueScoreRewardCsReq = 1849,
    CmdGetRogueBuffEnhanceInfoCsReq = 1809,
    CmdGetRogueInitialScoreCsReq = 1900,
    CmdReviveRogueAvatarScRsp = 1856,
    CmdGetRogueScoreRewardInfoCsReq = 1843,
    CmdGetRogueScoreRewardInfoScRsp = 1860,
    CmdSyncRogueAeonLevelUpRewardScNotify = 1814,
    CmdSyncRoguePickAvatarInfoScNotify = 1892,
    CmdSyncRogueAeonScNotify = 1883,
    CmdStartRogueScRsp = 1820,
    CmdSyncRogueStatusScNotify = 1819,
    CmdFinishAeonDialogueGroupCsReq = 1852,
}
impl CmdRogueType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueType::None => "CmdRogueTypeNone",
            CmdRogueType::CmdEnterRogueMapRoomScRsp => "CmdEnterRogueMapRoomScRsp",
            CmdRogueType::CmdGetRogueAeonInfoScRsp => "CmdGetRogueAeonInfoScRsp",
            CmdRogueType::CmdSyncRogueExploreWinScNotify => {
                "CmdSyncRogueExploreWinScNotify"
            }
            CmdRogueType::CmdOpenRogueChestCsReq => "CmdOpenRogueChestCsReq",
            CmdRogueType::CmdReviveRogueAvatarCsReq => "CmdReviveRogueAvatarCsReq",
            CmdRogueType::CmdGetRogueInfoCsReq => "CmdGetRogueInfoCsReq",
            CmdRogueType::CmdGetRogueInitialScoreScRsp => "CmdGetRogueInitialScoreScRsp",
            CmdRogueType::CmdQuitRogueCsReq => "CmdQuitRogueCsReq",
            CmdRogueType::CmdEnableRogueTalentScRsp => "CmdEnableRogueTalentScRsp",
            CmdRogueType::CmdQuitRogueScRsp => "CmdQuitRogueScRsp",
            CmdRogueType::CmdPickRogueAvatarCsReq => "CmdPickRogueAvatarCsReq",
            CmdRogueType::CmdSyncRogueSeasonFinishScNotify => {
                "CmdSyncRogueSeasonFinishScNotify"
            }
            CmdRogueType::CmdSyncRogueVirtualItemInfoScNotify => {
                "CmdSyncRogueVirtualItemInfoScNotify"
            }
            CmdRogueType::CmdPickRogueAvatarScRsp => "CmdPickRogueAvatarScRsp",
            CmdRogueType::CmdStartRogueCsReq => "CmdStartRogueCsReq",
            CmdRogueType::CmdEnterRogueScRsp => "CmdEnterRogueScRsp",
            CmdRogueType::CmdEnhanceRogueBuffCsReq => "CmdEnhanceRogueBuffCsReq",
            CmdRogueType::CmdLeaveRogueScRsp => "CmdLeaveRogueScRsp",
            CmdRogueType::CmdSyncRogueRewardInfoScNotify => {
                "CmdSyncRogueRewardInfoScNotify"
            }
            CmdRogueType::CmdExchangeRogueRewardKeyScRsp => {
                "CmdExchangeRogueRewardKeyScRsp"
            }
            CmdRogueType::CmdSyncRogueFinishScNotify => "CmdSyncRogueFinishScNotify",
            CmdRogueType::CmdGetRogueTalentInfoScRsp => "CmdGetRogueTalentInfoScRsp",
            CmdRogueType::CmdSyncRogueGetItemScNotify => "CmdSyncRogueGetItemScNotify",
            CmdRogueType::CmdEnhanceRogueBuffScRsp => "CmdEnhanceRogueBuffScRsp",
            CmdRogueType::CmdTakeRogueScoreRewardScRsp => "CmdTakeRogueScoreRewardScRsp",
            CmdRogueType::CmdSyncRogueAreaUnlockScNotify => {
                "CmdSyncRogueAreaUnlockScNotify"
            }
            CmdRogueType::CmdEnterRogueMapRoomCsReq => "CmdEnterRogueMapRoomCsReq",
            CmdRogueType::CmdOpenRogueChestScRsp => "CmdOpenRogueChestScRsp",
            CmdRogueType::CmdGetRogueBuffEnhanceInfoScRsp => {
                "CmdGetRogueBuffEnhanceInfoScRsp"
            }
            CmdRogueType::CmdGetRogueAeonInfoCsReq => "CmdGetRogueAeonInfoCsReq",
            CmdRogueType::CmdGetRogueTalentInfoCsReq => "CmdGetRogueTalentInfoCsReq",
            CmdRogueType::CmdEnterRogueCsReq => "CmdEnterRogueCsReq",
            CmdRogueType::CmdGetRogueInfoScRsp => "CmdGetRogueInfoScRsp",
            CmdRogueType::CmdFinishAeonDialogueGroupScRsp => {
                "CmdFinishAeonDialogueGroupScRsp"
            }
            CmdRogueType::CmdTakeRogueAeonLevelRewardCsReq => {
                "CmdTakeRogueAeonLevelRewardCsReq"
            }
            CmdRogueType::CmdLeaveRogueCsReq => "CmdLeaveRogueCsReq",
            CmdRogueType::CmdExchangeRogueRewardKeyCsReq => {
                "CmdExchangeRogueRewardKeyCsReq"
            }
            CmdRogueType::CmdSyncRogueReviveInfoScNotify => {
                "CmdSyncRogueReviveInfoScNotify"
            }
            CmdRogueType::CmdSyncRogueMapRoomScNotify => "CmdSyncRogueMapRoomScNotify",
            CmdRogueType::CmdTakeRogueAeonLevelRewardScRsp => {
                "CmdTakeRogueAeonLevelRewardScRsp"
            }
            CmdRogueType::CmdEnableRogueTalentCsReq => "CmdEnableRogueTalentCsReq",
            CmdRogueType::CmdTakeRogueScoreRewardCsReq => "CmdTakeRogueScoreRewardCsReq",
            CmdRogueType::CmdGetRogueBuffEnhanceInfoCsReq => {
                "CmdGetRogueBuffEnhanceInfoCsReq"
            }
            CmdRogueType::CmdGetRogueInitialScoreCsReq => "CmdGetRogueInitialScoreCsReq",
            CmdRogueType::CmdReviveRogueAvatarScRsp => "CmdReviveRogueAvatarScRsp",
            CmdRogueType::CmdGetRogueScoreRewardInfoCsReq => {
                "CmdGetRogueScoreRewardInfoCsReq"
            }
            CmdRogueType::CmdGetRogueScoreRewardInfoScRsp => {
                "CmdGetRogueScoreRewardInfoScRsp"
            }
            CmdRogueType::CmdSyncRogueAeonLevelUpRewardScNotify => {
                "CmdSyncRogueAeonLevelUpRewardScNotify"
            }
            CmdRogueType::CmdSyncRoguePickAvatarInfoScNotify => {
                "CmdSyncRoguePickAvatarInfoScNotify"
            }
            CmdRogueType::CmdSyncRogueAeonScNotify => "CmdSyncRogueAeonScNotify",
            CmdRogueType::CmdStartRogueScRsp => "CmdStartRogueScRsp",
            CmdRogueType::CmdSyncRogueStatusScNotify => "CmdSyncRogueStatusScNotify",
            CmdRogueType::CmdFinishAeonDialogueGroupCsReq => {
                "CmdFinishAeonDialogueGroupCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueTypeNone" => Some(Self::None),
            "CmdEnterRogueMapRoomScRsp" => Some(Self::CmdEnterRogueMapRoomScRsp),
            "CmdGetRogueAeonInfoScRsp" => Some(Self::CmdGetRogueAeonInfoScRsp),
            "CmdSyncRogueExploreWinScNotify" => {
                Some(Self::CmdSyncRogueExploreWinScNotify)
            }
            "CmdOpenRogueChestCsReq" => Some(Self::CmdOpenRogueChestCsReq),
            "CmdReviveRogueAvatarCsReq" => Some(Self::CmdReviveRogueAvatarCsReq),
            "CmdGetRogueInfoCsReq" => Some(Self::CmdGetRogueInfoCsReq),
            "CmdGetRogueInitialScoreScRsp" => Some(Self::CmdGetRogueInitialScoreScRsp),
            "CmdQuitRogueCsReq" => Some(Self::CmdQuitRogueCsReq),
            "CmdEnableRogueTalentScRsp" => Some(Self::CmdEnableRogueTalentScRsp),
            "CmdQuitRogueScRsp" => Some(Self::CmdQuitRogueScRsp),
            "CmdPickRogueAvatarCsReq" => Some(Self::CmdPickRogueAvatarCsReq),
            "CmdSyncRogueSeasonFinishScNotify" => {
                Some(Self::CmdSyncRogueSeasonFinishScNotify)
            }
            "CmdSyncRogueVirtualItemInfoScNotify" => {
                Some(Self::CmdSyncRogueVirtualItemInfoScNotify)
            }
            "CmdPickRogueAvatarScRsp" => Some(Self::CmdPickRogueAvatarScRsp),
            "CmdStartRogueCsReq" => Some(Self::CmdStartRogueCsReq),
            "CmdEnterRogueScRsp" => Some(Self::CmdEnterRogueScRsp),
            "CmdEnhanceRogueBuffCsReq" => Some(Self::CmdEnhanceRogueBuffCsReq),
            "CmdLeaveRogueScRsp" => Some(Self::CmdLeaveRogueScRsp),
            "CmdSyncRogueRewardInfoScNotify" => {
                Some(Self::CmdSyncRogueRewardInfoScNotify)
            }
            "CmdExchangeRogueRewardKeyScRsp" => {
                Some(Self::CmdExchangeRogueRewardKeyScRsp)
            }
            "CmdSyncRogueFinishScNotify" => Some(Self::CmdSyncRogueFinishScNotify),
            "CmdGetRogueTalentInfoScRsp" => Some(Self::CmdGetRogueTalentInfoScRsp),
            "CmdSyncRogueGetItemScNotify" => Some(Self::CmdSyncRogueGetItemScNotify),
            "CmdEnhanceRogueBuffScRsp" => Some(Self::CmdEnhanceRogueBuffScRsp),
            "CmdTakeRogueScoreRewardScRsp" => Some(Self::CmdTakeRogueScoreRewardScRsp),
            "CmdSyncRogueAreaUnlockScNotify" => {
                Some(Self::CmdSyncRogueAreaUnlockScNotify)
            }
            "CmdEnterRogueMapRoomCsReq" => Some(Self::CmdEnterRogueMapRoomCsReq),
            "CmdOpenRogueChestScRsp" => Some(Self::CmdOpenRogueChestScRsp),
            "CmdGetRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoScRsp)
            }
            "CmdGetRogueAeonInfoCsReq" => Some(Self::CmdGetRogueAeonInfoCsReq),
            "CmdGetRogueTalentInfoCsReq" => Some(Self::CmdGetRogueTalentInfoCsReq),
            "CmdEnterRogueCsReq" => Some(Self::CmdEnterRogueCsReq),
            "CmdGetRogueInfoScRsp" => Some(Self::CmdGetRogueInfoScRsp),
            "CmdFinishAeonDialogueGroupScRsp" => {
                Some(Self::CmdFinishAeonDialogueGroupScRsp)
            }
            "CmdTakeRogueAeonLevelRewardCsReq" => {
                Some(Self::CmdTakeRogueAeonLevelRewardCsReq)
            }
            "CmdLeaveRogueCsReq" => Some(Self::CmdLeaveRogueCsReq),
            "CmdExchangeRogueRewardKeyCsReq" => {
                Some(Self::CmdExchangeRogueRewardKeyCsReq)
            }
            "CmdSyncRogueReviveInfoScNotify" => {
                Some(Self::CmdSyncRogueReviveInfoScNotify)
            }
            "CmdSyncRogueMapRoomScNotify" => Some(Self::CmdSyncRogueMapRoomScNotify),
            "CmdTakeRogueAeonLevelRewardScRsp" => {
                Some(Self::CmdTakeRogueAeonLevelRewardScRsp)
            }
            "CmdEnableRogueTalentCsReq" => Some(Self::CmdEnableRogueTalentCsReq),
            "CmdTakeRogueScoreRewardCsReq" => Some(Self::CmdTakeRogueScoreRewardCsReq),
            "CmdGetRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoCsReq)
            }
            "CmdGetRogueInitialScoreCsReq" => Some(Self::CmdGetRogueInitialScoreCsReq),
            "CmdReviveRogueAvatarScRsp" => Some(Self::CmdReviveRogueAvatarScRsp),
            "CmdGetRogueScoreRewardInfoCsReq" => {
                Some(Self::CmdGetRogueScoreRewardInfoCsReq)
            }
            "CmdGetRogueScoreRewardInfoScRsp" => {
                Some(Self::CmdGetRogueScoreRewardInfoScRsp)
            }
            "CmdSyncRogueAeonLevelUpRewardScNotify" => {
                Some(Self::CmdSyncRogueAeonLevelUpRewardScNotify)
            }
            "CmdSyncRoguePickAvatarInfoScNotify" => {
                Some(Self::CmdSyncRoguePickAvatarInfoScNotify)
            }
            "CmdSyncRogueAeonScNotify" => Some(Self::CmdSyncRogueAeonScNotify),
            "CmdStartRogueScRsp" => Some(Self::CmdStartRogueScRsp),
            "CmdSyncRogueStatusScNotify" => Some(Self::CmdSyncRogueStatusScNotify),
            "CmdFinishAeonDialogueGroupCsReq" => {
                Some(Self::CmdFinishAeonDialogueGroupCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Emehihdnemp {
    RogueStatusNone = 0,
    RogueStatusDoing = 1,
    RogueStatusPending = 2,
    RogueStatusEndless = 3,
    RogueStatusFinish = 4,
}
impl Emehihdnemp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Emehihdnemp::RogueStatusNone => "ROGUE_STATUS_NONE",
            Emehihdnemp::RogueStatusDoing => "ROGUE_STATUS_DOING",
            Emehihdnemp::RogueStatusPending => "ROGUE_STATUS_PENDING",
            Emehihdnemp::RogueStatusEndless => "ROGUE_STATUS_ENDLESS",
            Emehihdnemp::RogueStatusFinish => "ROGUE_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_STATUS_NONE" => Some(Self::RogueStatusNone),
            "ROGUE_STATUS_DOING" => Some(Self::RogueStatusDoing),
            "ROGUE_STATUS_PENDING" => Some(Self::RogueStatusPending),
            "ROGUE_STATUS_ENDLESS" => Some(Self::RogueStatusEndless),
            "ROGUE_STATUS_FINISH" => Some(Self::RogueStatusFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gaijflkjche {
    RogueRoomStatusNone = 0,
    RogueRoomStatusLock = 1,
    RogueRoomStatusUnlock = 2,
    RogueRoomStatusPlay = 3,
    RogueRoomStatusFinish = 4,
}
impl Gaijflkjche {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gaijflkjche::RogueRoomStatusNone => "ROGUE_ROOM_STATUS_NONE",
            Gaijflkjche::RogueRoomStatusLock => "ROGUE_ROOM_STATUS_LOCK",
            Gaijflkjche::RogueRoomStatusUnlock => "ROGUE_ROOM_STATUS_UNLOCK",
            Gaijflkjche::RogueRoomStatusPlay => "ROGUE_ROOM_STATUS_PLAY",
            Gaijflkjche::RogueRoomStatusFinish => "ROGUE_ROOM_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_ROOM_STATUS_NONE" => Some(Self::RogueRoomStatusNone),
            "ROGUE_ROOM_STATUS_LOCK" => Some(Self::RogueRoomStatusLock),
            "ROGUE_ROOM_STATUS_UNLOCK" => Some(Self::RogueRoomStatusUnlock),
            "ROGUE_ROOM_STATUS_PLAY" => Some(Self::RogueRoomStatusPlay),
            "ROGUE_ROOM_STATUS_FINISH" => Some(Self::RogueRoomStatusFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Chajahmclhj {
    RogueAreaStatusLock = 0,
    RogueAreaStatusUnlock = 1,
    RogueAreaStatusFirstPass = 2,
    RogueAreaStatusClose = 3,
}
impl Chajahmclhj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Chajahmclhj::RogueAreaStatusLock => "ROGUE_AREA_STATUS_LOCK",
            Chajahmclhj::RogueAreaStatusUnlock => "ROGUE_AREA_STATUS_UNLOCK",
            Chajahmclhj::RogueAreaStatusFirstPass => "ROGUE_AREA_STATUS_FIRST_PASS",
            Chajahmclhj::RogueAreaStatusClose => "ROGUE_AREA_STATUS_CLOSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_AREA_STATUS_LOCK" => Some(Self::RogueAreaStatusLock),
            "ROGUE_AREA_STATUS_UNLOCK" => Some(Self::RogueAreaStatusUnlock),
            "ROGUE_AREA_STATUS_FIRST_PASS" => Some(Self::RogueAreaStatusFirstPass),
            "ROGUE_AREA_STATUS_CLOSE" => Some(Self::RogueAreaStatusClose),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nddjjojakcn {
    RogueBuffSourceTypeNone = 0,
    RogueBuffSourceTypeSelect = 1,
    RogueBuffSourceTypeEnhance = 2,
    RogueBuffSourceTypeMiracle = 3,
    RogueBuffSourceTypeDialogue = 4,
    RogueBuffSourceTypeBonus = 5,
    RogueBuffSourceTypeMazeSkill = 6,
    RogueBuffSourceTypeShop = 7,
    RogueBuffSourceTypeLevelMechanism = 8,
    RogueBuffSourceTypeEndlessLevelStart = 9,
}
impl Nddjjojakcn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nddjjojakcn::RogueBuffSourceTypeNone => "ROGUE_BUFF_SOURCE_TYPE_NONE",
            Nddjjojakcn::RogueBuffSourceTypeSelect => "ROGUE_BUFF_SOURCE_TYPE_SELECT",
            Nddjjojakcn::RogueBuffSourceTypeEnhance => "ROGUE_BUFF_SOURCE_TYPE_ENHANCE",
            Nddjjojakcn::RogueBuffSourceTypeMiracle => "ROGUE_BUFF_SOURCE_TYPE_MIRACLE",
            Nddjjojakcn::RogueBuffSourceTypeDialogue => "ROGUE_BUFF_SOURCE_TYPE_DIALOGUE",
            Nddjjojakcn::RogueBuffSourceTypeBonus => "ROGUE_BUFF_SOURCE_TYPE_BONUS",
            Nddjjojakcn::RogueBuffSourceTypeMazeSkill => {
                "ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL"
            }
            Nddjjojakcn::RogueBuffSourceTypeShop => "ROGUE_BUFF_SOURCE_TYPE_SHOP",
            Nddjjojakcn::RogueBuffSourceTypeLevelMechanism => {
                "ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Nddjjojakcn::RogueBuffSourceTypeEndlessLevelStart => {
                "ROGUE_BUFF_SOURCE_TYPE_ENDLESS_LEVEL_START"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_BUFF_SOURCE_TYPE_NONE" => Some(Self::RogueBuffSourceTypeNone),
            "ROGUE_BUFF_SOURCE_TYPE_SELECT" => Some(Self::RogueBuffSourceTypeSelect),
            "ROGUE_BUFF_SOURCE_TYPE_ENHANCE" => Some(Self::RogueBuffSourceTypeEnhance),
            "ROGUE_BUFF_SOURCE_TYPE_MIRACLE" => Some(Self::RogueBuffSourceTypeMiracle),
            "ROGUE_BUFF_SOURCE_TYPE_DIALOGUE" => Some(Self::RogueBuffSourceTypeDialogue),
            "ROGUE_BUFF_SOURCE_TYPE_BONUS" => Some(Self::RogueBuffSourceTypeBonus),
            "ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueBuffSourceTypeMazeSkill)
            }
            "ROGUE_BUFF_SOURCE_TYPE_SHOP" => Some(Self::RogueBuffSourceTypeShop),
            "ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueBuffSourceTypeLevelMechanism)
            }
            "ROGUE_BUFF_SOURCE_TYPE_ENDLESS_LEVEL_START" => {
                Some(Self::RogueBuffSourceTypeEndlessLevelStart)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bbbagnodenm {
    RogueMiracleSourceTypeNone = 0,
    RogueMiracleSourceTypeSelect = 1,
    RogueMiracleSourceTypeDialogue = 2,
    RogueMiracleSourceTypeBonus = 3,
    RogueMiracleSourceTypeUse = 4,
    RogueMiracleSourceTypeReset = 5,
    RogueMiracleSourceTypeReplace = 6,
    RogueMiracleSourceTypeTrade = 7,
    RogueMiracleSourceTypeGet = 8,
    RogueMiracleSourceTypeShop = 9,
    RogueMiracleSourceTypeMazeSkill = 10,
    RogueMiracleSourceTypeLevelMechanism = 11,
    RogueMiracleSourceTypeEndlessLevelStart = 12,
}
impl Bbbagnodenm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bbbagnodenm::RogueMiracleSourceTypeNone => "ROGUE_MIRACLE_SOURCE_TYPE_NONE",
            Bbbagnodenm::RogueMiracleSourceTypeSelect => {
                "ROGUE_MIRACLE_SOURCE_TYPE_SELECT"
            }
            Bbbagnodenm::RogueMiracleSourceTypeDialogue => {
                "ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE"
            }
            Bbbagnodenm::RogueMiracleSourceTypeBonus => "ROGUE_MIRACLE_SOURCE_TYPE_BONUS",
            Bbbagnodenm::RogueMiracleSourceTypeUse => "ROGUE_MIRACLE_SOURCE_TYPE_USE",
            Bbbagnodenm::RogueMiracleSourceTypeReset => "ROGUE_MIRACLE_SOURCE_TYPE_RESET",
            Bbbagnodenm::RogueMiracleSourceTypeReplace => {
                "ROGUE_MIRACLE_SOURCE_TYPE_REPLACE"
            }
            Bbbagnodenm::RogueMiracleSourceTypeTrade => "ROGUE_MIRACLE_SOURCE_TYPE_TRADE",
            Bbbagnodenm::RogueMiracleSourceTypeGet => "ROGUE_MIRACLE_SOURCE_TYPE_GET",
            Bbbagnodenm::RogueMiracleSourceTypeShop => "ROGUE_MIRACLE_SOURCE_TYPE_SHOP",
            Bbbagnodenm::RogueMiracleSourceTypeMazeSkill => {
                "ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL"
            }
            Bbbagnodenm::RogueMiracleSourceTypeLevelMechanism => {
                "ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Bbbagnodenm::RogueMiracleSourceTypeEndlessLevelStart => {
                "ROGUE_MIRACLE_SOURCE_TYPE_ENDLESS_LEVEL_START"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MIRACLE_SOURCE_TYPE_NONE" => Some(Self::RogueMiracleSourceTypeNone),
            "ROGUE_MIRACLE_SOURCE_TYPE_SELECT" => {
                Some(Self::RogueMiracleSourceTypeSelect)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::RogueMiracleSourceTypeDialogue)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_BONUS" => Some(Self::RogueMiracleSourceTypeBonus),
            "ROGUE_MIRACLE_SOURCE_TYPE_USE" => Some(Self::RogueMiracleSourceTypeUse),
            "ROGUE_MIRACLE_SOURCE_TYPE_RESET" => Some(Self::RogueMiracleSourceTypeReset),
            "ROGUE_MIRACLE_SOURCE_TYPE_REPLACE" => {
                Some(Self::RogueMiracleSourceTypeReplace)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_TRADE" => Some(Self::RogueMiracleSourceTypeTrade),
            "ROGUE_MIRACLE_SOURCE_TYPE_GET" => Some(Self::RogueMiracleSourceTypeGet),
            "ROGUE_MIRACLE_SOURCE_TYPE_SHOP" => Some(Self::RogueMiracleSourceTypeShop),
            "ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueMiracleSourceTypeMazeSkill)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueMiracleSourceTypeLevelMechanism)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_ENDLESS_LEVEL_START" => {
                Some(Self::RogueMiracleSourceTypeEndlessLevelStart)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Keoijodpfjk {
    RogueDialogueResultSucc = 0,
    RogueDialogueResultFail = 1,
}
impl Keoijodpfjk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Keoijodpfjk::RogueDialogueResultSucc => "ROGUE_DIALOGUE_RESULT_SUCC",
            Keoijodpfjk::RogueDialogueResultFail => "ROGUE_DIALOGUE_RESULT_FAIL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_DIALOGUE_RESULT_SUCC" => Some(Self::RogueDialogueResultSucc),
            "ROGUE_DIALOGUE_RESULT_FAIL" => Some(Self::RogueDialogueResultFail),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueCommonType {
    None = 0,
    CmdGetRogueCollectionCsReq = 5669,
    CmdSyncRogueAdventureRoomInfoScNotify = 5661,
    CmdGetRogueShopMiracleInfoCsReq = 5620,
    CmdBuyRogueShopBuffCsReq = 5627,
    CmdSetRogueExhibitionScRsp = 5660,
    CmdCommonRogueComponentUpdateScNotify = 5680,
    CmdRogueDoGambleScRsp = 5607,
    CmdSyncRogueCommonVirtualItemInfoScNotify = 5618,
    CmdGetRogueExhibitionCsReq = 5606,
    CmdUpdateRogueAdventureRoomScoreCsReq = 5666,
    CmdSetRogueExhibitionCsReq = 5643,
    CmdGetRogueExhibitionScRsp = 5614,
    CmdGetRogueAdventureRoomInfoCsReq = 5694,
    CmdCommonRogueQueryScRsp = 5624,
    CmdFinishRogueCommonDialogueScRsp = 5610,
    CmdStopRogueAdventureRoomCsReq = 5612,
    CmdUpdateRogueAdventureRoomScoreScRsp = 5690,
    CmdRogueNpcDisappearCsReq = 5674,
    CmdGetRogueHandbookDataCsReq = 5685,
    CmdGetRogueCollectionScRsp = 5625,
    CmdBuyRogueShopMiracleScRsp = 5687,
    CmdRogueGetGambleInfoCsReq = 5641,
    CmdFinishRogueCommonDialogueCsReq = 5689,
    CmdExchangeRogueBuffWithMiracleCsReq = 5670,
    CmdCommonRogueQueryCsReq = 5644,
    CmdGetEnhanceCommonRogueBuffInfoScRsp = 5651,
    CmdBuyRogueShopMiracleCsReq = 5671,
    CmdHandleRogueCommonPendingActionScRsp = 5611,
    CmdSyncRogueCommonDialogueOptionFinishScNotify = 5686,
    CmdPrepareRogueAdventureRoomScRsp = 5691,
    CmdBuyRogueShopBuffScRsp = 5662,
    CmdSetRogueCollectionCsReq = 5672,
    CmdSyncRogueCommonPendingActionScNotify = 5605,
    CmdTakeRogueEventHandbookRewardScRsp = 5640,
    CmdRogueWorkbenchSelectFuncScRsp = 5683,
    CmdGetRogueShopMiracleInfoScRsp = 5639,
    CmdRogueWorkbenchSelectFuncCsReq = 5678,
    CmdGetRogueShopBuffInfoScRsp = 5630,
    CmdSyncRogueCommonDialogueDataScNotify = 5698,
    CmdPrepareRogueAdventureRoomCsReq = 5688,
    CmdRogueGetGambleInfoScRsp = 5635,
    CmdGetRogueShopBuffInfoCsReq = 5673,
    CmdHandleRogueCommonPendingActionCsReq = 5646,
    CmdGetRogueAdventureRoomInfoScRsp = 5696,
    CmdSelectRogueCommonDialogueOptionCsReq = 5657,
    CmdGetRogueCommonDialogueDataCsReq = 5616,
    CmdGetRogueCommonDialogueDataScRsp = 5665,
    CmdRogueWorkbenchHandleFuncCsReq = 5679,
    CmdRogueNpcDisappearScRsp = 5647,
    CmdCommonRogueUpdateScNotify = 5642,
    CmdGetRogueHandbookDataScRsp = 5654,
    CmdEnhanceCommonRogueBuffCsReq = 5609,
    CmdSyncRogueCommonActionResultScNotify = 5648,
    CmdRogueDoGambleCsReq = 5699,
    CmdStopRogueAdventureRoomScRsp = 5637,
    CmdSyncRogueHandbookDataUpdateScNotify = 5626,
    CmdSelectRogueCommonDialogueOptionScRsp = 5634,
    CmdRogueWorkbenchHandleFuncScRsp = 5684,
    CmdExchangeRogueBuffWithMiracleScRsp = 5656,
    CmdTakeRogueEventHandbookRewardCsReq = 5693,
    CmdEnhanceCommonRogueBuffScRsp = 5681,
    CmdSetRogueCollectionScRsp = 5653,
    CmdTakeRogueMiracleHandbookRewardCsReq = 5617,
    CmdGetEnhanceCommonRogueBuffInfoCsReq = 5649,
    CmdTakeRogueMiracleHandbookRewardScRsp = 5700,
}
impl CmdRogueCommonType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueCommonType::None => "CmdRogueCommonTypeNone",
            CmdRogueCommonType::CmdGetRogueCollectionCsReq => {
                "CmdGetRogueCollectionCsReq"
            }
            CmdRogueCommonType::CmdSyncRogueAdventureRoomInfoScNotify => {
                "CmdSyncRogueAdventureRoomInfoScNotify"
            }
            CmdRogueCommonType::CmdGetRogueShopMiracleInfoCsReq => {
                "CmdGetRogueShopMiracleInfoCsReq"
            }
            CmdRogueCommonType::CmdBuyRogueShopBuffCsReq => "CmdBuyRogueShopBuffCsReq",
            CmdRogueCommonType::CmdSetRogueExhibitionScRsp => {
                "CmdSetRogueExhibitionScRsp"
            }
            CmdRogueCommonType::CmdCommonRogueComponentUpdateScNotify => {
                "CmdCommonRogueComponentUpdateScNotify"
            }
            CmdRogueCommonType::CmdRogueDoGambleScRsp => "CmdRogueDoGambleScRsp",
            CmdRogueCommonType::CmdSyncRogueCommonVirtualItemInfoScNotify => {
                "CmdSyncRogueCommonVirtualItemInfoScNotify"
            }
            CmdRogueCommonType::CmdGetRogueExhibitionCsReq => {
                "CmdGetRogueExhibitionCsReq"
            }
            CmdRogueCommonType::CmdUpdateRogueAdventureRoomScoreCsReq => {
                "CmdUpdateRogueAdventureRoomScoreCsReq"
            }
            CmdRogueCommonType::CmdSetRogueExhibitionCsReq => {
                "CmdSetRogueExhibitionCsReq"
            }
            CmdRogueCommonType::CmdGetRogueExhibitionScRsp => {
                "CmdGetRogueExhibitionScRsp"
            }
            CmdRogueCommonType::CmdGetRogueAdventureRoomInfoCsReq => {
                "CmdGetRogueAdventureRoomInfoCsReq"
            }
            CmdRogueCommonType::CmdCommonRogueQueryScRsp => "CmdCommonRogueQueryScRsp",
            CmdRogueCommonType::CmdFinishRogueCommonDialogueScRsp => {
                "CmdFinishRogueCommonDialogueScRsp"
            }
            CmdRogueCommonType::CmdStopRogueAdventureRoomCsReq => {
                "CmdStopRogueAdventureRoomCsReq"
            }
            CmdRogueCommonType::CmdUpdateRogueAdventureRoomScoreScRsp => {
                "CmdUpdateRogueAdventureRoomScoreScRsp"
            }
            CmdRogueCommonType::CmdRogueNpcDisappearCsReq => "CmdRogueNpcDisappearCsReq",
            CmdRogueCommonType::CmdGetRogueHandbookDataCsReq => {
                "CmdGetRogueHandbookDataCsReq"
            }
            CmdRogueCommonType::CmdGetRogueCollectionScRsp => {
                "CmdGetRogueCollectionScRsp"
            }
            CmdRogueCommonType::CmdBuyRogueShopMiracleScRsp => {
                "CmdBuyRogueShopMiracleScRsp"
            }
            CmdRogueCommonType::CmdRogueGetGambleInfoCsReq => {
                "CmdRogueGetGambleInfoCsReq"
            }
            CmdRogueCommonType::CmdFinishRogueCommonDialogueCsReq => {
                "CmdFinishRogueCommonDialogueCsReq"
            }
            CmdRogueCommonType::CmdExchangeRogueBuffWithMiracleCsReq => {
                "CmdExchangeRogueBuffWithMiracleCsReq"
            }
            CmdRogueCommonType::CmdCommonRogueQueryCsReq => "CmdCommonRogueQueryCsReq",
            CmdRogueCommonType::CmdGetEnhanceCommonRogueBuffInfoScRsp => {
                "CmdGetEnhanceCommonRogueBuffInfoScRsp"
            }
            CmdRogueCommonType::CmdBuyRogueShopMiracleCsReq => {
                "CmdBuyRogueShopMiracleCsReq"
            }
            CmdRogueCommonType::CmdHandleRogueCommonPendingActionScRsp => {
                "CmdHandleRogueCommonPendingActionScRsp"
            }
            CmdRogueCommonType::CmdSyncRogueCommonDialogueOptionFinishScNotify => {
                "CmdSyncRogueCommonDialogueOptionFinishScNotify"
            }
            CmdRogueCommonType::CmdPrepareRogueAdventureRoomScRsp => {
                "CmdPrepareRogueAdventureRoomScRsp"
            }
            CmdRogueCommonType::CmdBuyRogueShopBuffScRsp => "CmdBuyRogueShopBuffScRsp",
            CmdRogueCommonType::CmdSetRogueCollectionCsReq => {
                "CmdSetRogueCollectionCsReq"
            }
            CmdRogueCommonType::CmdSyncRogueCommonPendingActionScNotify => {
                "CmdSyncRogueCommonPendingActionScNotify"
            }
            CmdRogueCommonType::CmdTakeRogueEventHandbookRewardScRsp => {
                "CmdTakeRogueEventHandbookRewardScRsp"
            }
            CmdRogueCommonType::CmdRogueWorkbenchSelectFuncScRsp => {
                "CmdRogueWorkbenchSelectFuncScRsp"
            }
            CmdRogueCommonType::CmdGetRogueShopMiracleInfoScRsp => {
                "CmdGetRogueShopMiracleInfoScRsp"
            }
            CmdRogueCommonType::CmdRogueWorkbenchSelectFuncCsReq => {
                "CmdRogueWorkbenchSelectFuncCsReq"
            }
            CmdRogueCommonType::CmdGetRogueShopBuffInfoScRsp => {
                "CmdGetRogueShopBuffInfoScRsp"
            }
            CmdRogueCommonType::CmdSyncRogueCommonDialogueDataScNotify => {
                "CmdSyncRogueCommonDialogueDataScNotify"
            }
            CmdRogueCommonType::CmdPrepareRogueAdventureRoomCsReq => {
                "CmdPrepareRogueAdventureRoomCsReq"
            }
            CmdRogueCommonType::CmdRogueGetGambleInfoScRsp => {
                "CmdRogueGetGambleInfoScRsp"
            }
            CmdRogueCommonType::CmdGetRogueShopBuffInfoCsReq => {
                "CmdGetRogueShopBuffInfoCsReq"
            }
            CmdRogueCommonType::CmdHandleRogueCommonPendingActionCsReq => {
                "CmdHandleRogueCommonPendingActionCsReq"
            }
            CmdRogueCommonType::CmdGetRogueAdventureRoomInfoScRsp => {
                "CmdGetRogueAdventureRoomInfoScRsp"
            }
            CmdRogueCommonType::CmdSelectRogueCommonDialogueOptionCsReq => {
                "CmdSelectRogueCommonDialogueOptionCsReq"
            }
            CmdRogueCommonType::CmdGetRogueCommonDialogueDataCsReq => {
                "CmdGetRogueCommonDialogueDataCsReq"
            }
            CmdRogueCommonType::CmdGetRogueCommonDialogueDataScRsp => {
                "CmdGetRogueCommonDialogueDataScRsp"
            }
            CmdRogueCommonType::CmdRogueWorkbenchHandleFuncCsReq => {
                "CmdRogueWorkbenchHandleFuncCsReq"
            }
            CmdRogueCommonType::CmdRogueNpcDisappearScRsp => "CmdRogueNpcDisappearScRsp",
            CmdRogueCommonType::CmdCommonRogueUpdateScNotify => {
                "CmdCommonRogueUpdateScNotify"
            }
            CmdRogueCommonType::CmdGetRogueHandbookDataScRsp => {
                "CmdGetRogueHandbookDataScRsp"
            }
            CmdRogueCommonType::CmdEnhanceCommonRogueBuffCsReq => {
                "CmdEnhanceCommonRogueBuffCsReq"
            }
            CmdRogueCommonType::CmdSyncRogueCommonActionResultScNotify => {
                "CmdSyncRogueCommonActionResultScNotify"
            }
            CmdRogueCommonType::CmdRogueDoGambleCsReq => "CmdRogueDoGambleCsReq",
            CmdRogueCommonType::CmdStopRogueAdventureRoomScRsp => {
                "CmdStopRogueAdventureRoomScRsp"
            }
            CmdRogueCommonType::CmdSyncRogueHandbookDataUpdateScNotify => {
                "CmdSyncRogueHandbookDataUpdateScNotify"
            }
            CmdRogueCommonType::CmdSelectRogueCommonDialogueOptionScRsp => {
                "CmdSelectRogueCommonDialogueOptionScRsp"
            }
            CmdRogueCommonType::CmdRogueWorkbenchHandleFuncScRsp => {
                "CmdRogueWorkbenchHandleFuncScRsp"
            }
            CmdRogueCommonType::CmdExchangeRogueBuffWithMiracleScRsp => {
                "CmdExchangeRogueBuffWithMiracleScRsp"
            }
            CmdRogueCommonType::CmdTakeRogueEventHandbookRewardCsReq => {
                "CmdTakeRogueEventHandbookRewardCsReq"
            }
            CmdRogueCommonType::CmdEnhanceCommonRogueBuffScRsp => {
                "CmdEnhanceCommonRogueBuffScRsp"
            }
            CmdRogueCommonType::CmdSetRogueCollectionScRsp => {
                "CmdSetRogueCollectionScRsp"
            }
            CmdRogueCommonType::CmdTakeRogueMiracleHandbookRewardCsReq => {
                "CmdTakeRogueMiracleHandbookRewardCsReq"
            }
            CmdRogueCommonType::CmdGetEnhanceCommonRogueBuffInfoCsReq => {
                "CmdGetEnhanceCommonRogueBuffInfoCsReq"
            }
            CmdRogueCommonType::CmdTakeRogueMiracleHandbookRewardScRsp => {
                "CmdTakeRogueMiracleHandbookRewardScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueCommonTypeNone" => Some(Self::None),
            "CmdGetRogueCollectionCsReq" => Some(Self::CmdGetRogueCollectionCsReq),
            "CmdSyncRogueAdventureRoomInfoScNotify" => {
                Some(Self::CmdSyncRogueAdventureRoomInfoScNotify)
            }
            "CmdGetRogueShopMiracleInfoCsReq" => {
                Some(Self::CmdGetRogueShopMiracleInfoCsReq)
            }
            "CmdBuyRogueShopBuffCsReq" => Some(Self::CmdBuyRogueShopBuffCsReq),
            "CmdSetRogueExhibitionScRsp" => Some(Self::CmdSetRogueExhibitionScRsp),
            "CmdCommonRogueComponentUpdateScNotify" => {
                Some(Self::CmdCommonRogueComponentUpdateScNotify)
            }
            "CmdRogueDoGambleScRsp" => Some(Self::CmdRogueDoGambleScRsp),
            "CmdSyncRogueCommonVirtualItemInfoScNotify" => {
                Some(Self::CmdSyncRogueCommonVirtualItemInfoScNotify)
            }
            "CmdGetRogueExhibitionCsReq" => Some(Self::CmdGetRogueExhibitionCsReq),
            "CmdUpdateRogueAdventureRoomScoreCsReq" => {
                Some(Self::CmdUpdateRogueAdventureRoomScoreCsReq)
            }
            "CmdSetRogueExhibitionCsReq" => Some(Self::CmdSetRogueExhibitionCsReq),
            "CmdGetRogueExhibitionScRsp" => Some(Self::CmdGetRogueExhibitionScRsp),
            "CmdGetRogueAdventureRoomInfoCsReq" => {
                Some(Self::CmdGetRogueAdventureRoomInfoCsReq)
            }
            "CmdCommonRogueQueryScRsp" => Some(Self::CmdCommonRogueQueryScRsp),
            "CmdFinishRogueCommonDialogueScRsp" => {
                Some(Self::CmdFinishRogueCommonDialogueScRsp)
            }
            "CmdStopRogueAdventureRoomCsReq" => {
                Some(Self::CmdStopRogueAdventureRoomCsReq)
            }
            "CmdUpdateRogueAdventureRoomScoreScRsp" => {
                Some(Self::CmdUpdateRogueAdventureRoomScoreScRsp)
            }
            "CmdRogueNpcDisappearCsReq" => Some(Self::CmdRogueNpcDisappearCsReq),
            "CmdGetRogueHandbookDataCsReq" => Some(Self::CmdGetRogueHandbookDataCsReq),
            "CmdGetRogueCollectionScRsp" => Some(Self::CmdGetRogueCollectionScRsp),
            "CmdBuyRogueShopMiracleScRsp" => Some(Self::CmdBuyRogueShopMiracleScRsp),
            "CmdRogueGetGambleInfoCsReq" => Some(Self::CmdRogueGetGambleInfoCsReq),
            "CmdFinishRogueCommonDialogueCsReq" => {
                Some(Self::CmdFinishRogueCommonDialogueCsReq)
            }
            "CmdExchangeRogueBuffWithMiracleCsReq" => {
                Some(Self::CmdExchangeRogueBuffWithMiracleCsReq)
            }
            "CmdCommonRogueQueryCsReq" => Some(Self::CmdCommonRogueQueryCsReq),
            "CmdGetEnhanceCommonRogueBuffInfoScRsp" => {
                Some(Self::CmdGetEnhanceCommonRogueBuffInfoScRsp)
            }
            "CmdBuyRogueShopMiracleCsReq" => Some(Self::CmdBuyRogueShopMiracleCsReq),
            "CmdHandleRogueCommonPendingActionScRsp" => {
                Some(Self::CmdHandleRogueCommonPendingActionScRsp)
            }
            "CmdSyncRogueCommonDialogueOptionFinishScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueOptionFinishScNotify)
            }
            "CmdPrepareRogueAdventureRoomScRsp" => {
                Some(Self::CmdPrepareRogueAdventureRoomScRsp)
            }
            "CmdBuyRogueShopBuffScRsp" => Some(Self::CmdBuyRogueShopBuffScRsp),
            "CmdSetRogueCollectionCsReq" => Some(Self::CmdSetRogueCollectionCsReq),
            "CmdSyncRogueCommonPendingActionScNotify" => {
                Some(Self::CmdSyncRogueCommonPendingActionScNotify)
            }
            "CmdTakeRogueEventHandbookRewardScRsp" => {
                Some(Self::CmdTakeRogueEventHandbookRewardScRsp)
            }
            "CmdRogueWorkbenchSelectFuncScRsp" => {
                Some(Self::CmdRogueWorkbenchSelectFuncScRsp)
            }
            "CmdGetRogueShopMiracleInfoScRsp" => {
                Some(Self::CmdGetRogueShopMiracleInfoScRsp)
            }
            "CmdRogueWorkbenchSelectFuncCsReq" => {
                Some(Self::CmdRogueWorkbenchSelectFuncCsReq)
            }
            "CmdGetRogueShopBuffInfoScRsp" => Some(Self::CmdGetRogueShopBuffInfoScRsp),
            "CmdSyncRogueCommonDialogueDataScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueDataScNotify)
            }
            "CmdPrepareRogueAdventureRoomCsReq" => {
                Some(Self::CmdPrepareRogueAdventureRoomCsReq)
            }
            "CmdRogueGetGambleInfoScRsp" => Some(Self::CmdRogueGetGambleInfoScRsp),
            "CmdGetRogueShopBuffInfoCsReq" => Some(Self::CmdGetRogueShopBuffInfoCsReq),
            "CmdHandleRogueCommonPendingActionCsReq" => {
                Some(Self::CmdHandleRogueCommonPendingActionCsReq)
            }
            "CmdGetRogueAdventureRoomInfoScRsp" => {
                Some(Self::CmdGetRogueAdventureRoomInfoScRsp)
            }
            "CmdSelectRogueCommonDialogueOptionCsReq" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionCsReq)
            }
            "CmdGetRogueCommonDialogueDataCsReq" => {
                Some(Self::CmdGetRogueCommonDialogueDataCsReq)
            }
            "CmdGetRogueCommonDialogueDataScRsp" => {
                Some(Self::CmdGetRogueCommonDialogueDataScRsp)
            }
            "CmdRogueWorkbenchHandleFuncCsReq" => {
                Some(Self::CmdRogueWorkbenchHandleFuncCsReq)
            }
            "CmdRogueNpcDisappearScRsp" => Some(Self::CmdRogueNpcDisappearScRsp),
            "CmdCommonRogueUpdateScNotify" => Some(Self::CmdCommonRogueUpdateScNotify),
            "CmdGetRogueHandbookDataScRsp" => Some(Self::CmdGetRogueHandbookDataScRsp),
            "CmdEnhanceCommonRogueBuffCsReq" => {
                Some(Self::CmdEnhanceCommonRogueBuffCsReq)
            }
            "CmdSyncRogueCommonActionResultScNotify" => {
                Some(Self::CmdSyncRogueCommonActionResultScNotify)
            }
            "CmdRogueDoGambleCsReq" => Some(Self::CmdRogueDoGambleCsReq),
            "CmdStopRogueAdventureRoomScRsp" => {
                Some(Self::CmdStopRogueAdventureRoomScRsp)
            }
            "CmdSyncRogueHandbookDataUpdateScNotify" => {
                Some(Self::CmdSyncRogueHandbookDataUpdateScNotify)
            }
            "CmdSelectRogueCommonDialogueOptionScRsp" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionScRsp)
            }
            "CmdRogueWorkbenchHandleFuncScRsp" => {
                Some(Self::CmdRogueWorkbenchHandleFuncScRsp)
            }
            "CmdExchangeRogueBuffWithMiracleScRsp" => {
                Some(Self::CmdExchangeRogueBuffWithMiracleScRsp)
            }
            "CmdTakeRogueEventHandbookRewardCsReq" => {
                Some(Self::CmdTakeRogueEventHandbookRewardCsReq)
            }
            "CmdEnhanceCommonRogueBuffScRsp" => {
                Some(Self::CmdEnhanceCommonRogueBuffScRsp)
            }
            "CmdSetRogueCollectionScRsp" => Some(Self::CmdSetRogueCollectionScRsp),
            "CmdTakeRogueMiracleHandbookRewardCsReq" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardCsReq)
            }
            "CmdGetEnhanceCommonRogueBuffInfoCsReq" => {
                Some(Self::CmdGetEnhanceCommonRogueBuffInfoCsReq)
            }
            "CmdTakeRogueMiracleHandbookRewardScRsp" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardScRsp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfenijdhpbj {
    RogueAdventureRoomStatusNone = 0,
    RogueAdventureRoomStatusPrepare = 1,
    RogueAdventureRoomStatusStarted = 2,
    RogueAdventureRoomStatusStopped = 3,
}
impl Cfenijdhpbj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cfenijdhpbj::RogueAdventureRoomStatusNone => {
                "ROGUE_ADVENTURE_ROOM_STATUS_NONE"
            }
            Cfenijdhpbj::RogueAdventureRoomStatusPrepare => {
                "ROGUE_ADVENTURE_ROOM_STATUS_PREPARE"
            }
            Cfenijdhpbj::RogueAdventureRoomStatusStarted => {
                "ROGUE_ADVENTURE_ROOM_STATUS_STARTED"
            }
            Cfenijdhpbj::RogueAdventureRoomStatusStopped => {
                "ROGUE_ADVENTURE_ROOM_STATUS_STOPPED"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_ADVENTURE_ROOM_STATUS_NONE" => {
                Some(Self::RogueAdventureRoomStatusNone)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_PREPARE" => {
                Some(Self::RogueAdventureRoomStatusPrepare)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_STARTED" => {
                Some(Self::RogueAdventureRoomStatusStarted)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_STOPPED" => {
                Some(Self::RogueAdventureRoomStatusStopped)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jkjklbpopin {
    RogueCommonBuffSelectSourceTypeNone = 0,
    RogueCommonBuffSelectSourceTypeDiceRoll = 1,
    RogueCommonBuffSelectSourceTypeAeon = 2,
    RogueCommonBuffSelectSourceTypeBoardEvent = 3,
    RogueCommonBuffSelectSourceTypeLevelMechanism = 4,
}
impl Jkjklbpopin {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jkjklbpopin::RogueCommonBuffSelectSourceTypeNone => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_NONE"
            }
            Jkjklbpopin::RogueCommonBuffSelectSourceTypeDiceRoll => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_DICE_ROLL"
            }
            Jkjklbpopin::RogueCommonBuffSelectSourceTypeAeon => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_AEON"
            }
            Jkjklbpopin::RogueCommonBuffSelectSourceTypeBoardEvent => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_BOARD_EVENT"
            }
            Jkjklbpopin::RogueCommonBuffSelectSourceTypeLevelMechanism => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonBuffSelectSourceTypeNone)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_DICE_ROLL" => {
                Some(Self::RogueCommonBuffSelectSourceTypeDiceRoll)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonBuffSelectSourceTypeAeon)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonBuffSelectSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonBuffSelectSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bhhikebcofb {
    RogueUnlockFunctionTypeMiracle = 0,
    RogueUnlockFunctionTypeShowHint = 1,
    RogueUnlockFunctionTypeCosmosBanAeon = 2,
    RogueUnlockFuntionTypeTournCollectionExhibitionBooth = 3,
}
impl Bhhikebcofb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bhhikebcofb::RogueUnlockFunctionTypeMiracle => {
                "ROGUE_UNLOCK_FUNCTION_TYPE_MIRACLE"
            }
            Bhhikebcofb::RogueUnlockFunctionTypeShowHint => {
                "ROGUE_UNLOCK_FUNCTION_TYPE_SHOW_HINT"
            }
            Bhhikebcofb::RogueUnlockFunctionTypeCosmosBanAeon => {
                "ROGUE_UNLOCK_FUNCTION_TYPE_COSMOS_BAN_AEON"
            }
            Bhhikebcofb::RogueUnlockFuntionTypeTournCollectionExhibitionBooth => {
                "ROGUE_UNLOCK_FUNTION_TYPE_TOURN_COLLECTION_EXHIBITION_BOOTH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_UNLOCK_FUNCTION_TYPE_MIRACLE" => {
                Some(Self::RogueUnlockFunctionTypeMiracle)
            }
            "ROGUE_UNLOCK_FUNCTION_TYPE_SHOW_HINT" => {
                Some(Self::RogueUnlockFunctionTypeShowHint)
            }
            "ROGUE_UNLOCK_FUNCTION_TYPE_COSMOS_BAN_AEON" => {
                Some(Self::RogueUnlockFunctionTypeCosmosBanAeon)
            }
            "ROGUE_UNLOCK_FUNTION_TYPE_TOURN_COLLECTION_EXHIBITION_BOOTH" => {
                Some(Self::RogueUnlockFuntionTypeTournCollectionExhibitionBooth)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ecjpefmkeie {
    RogueCommonMiracleSelectSourceTypeNone = 0,
    RogueCommonMiracleSelectSourceTypeDiceRoll = 1,
    RogueCommonMiracleSelectSourceTypeAeon = 2,
    RogueCommonMiracleSelectSourceTypeBoardEvent = 3,
    RogueCommonMiracleSelectSourceTypeLevelMechanism = 4,
}
impl Ecjpefmkeie {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ecjpefmkeie::RogueCommonMiracleSelectSourceTypeNone => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_NONE"
            }
            Ecjpefmkeie::RogueCommonMiracleSelectSourceTypeDiceRoll => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_DICE_ROLL"
            }
            Ecjpefmkeie::RogueCommonMiracleSelectSourceTypeAeon => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_AEON"
            }
            Ecjpefmkeie::RogueCommonMiracleSelectSourceTypeBoardEvent => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_BOARD_EVENT"
            }
            Ecjpefmkeie::RogueCommonMiracleSelectSourceTypeLevelMechanism => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeNone)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_DICE_ROLL" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeDiceRoll)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeAeon)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Amphehchldb {
    RogueCommonBuffDisplayTypeNone = 0,
    RogueCommonBuffDisplayTypeAdd = 1,
    RogueCommonBuffDisplayTypeRemove = 2,
}
impl Amphehchldb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Amphehchldb::RogueCommonBuffDisplayTypeNone => {
                "ROGUE_COMMON_BUFF_DISPLAY_TYPE_NONE"
            }
            Amphehchldb::RogueCommonBuffDisplayTypeAdd => {
                "ROGUE_COMMON_BUFF_DISPLAY_TYPE_ADD"
            }
            Amphehchldb::RogueCommonBuffDisplayTypeRemove => {
                "ROGUE_COMMON_BUFF_DISPLAY_TYPE_REMOVE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonBuffDisplayTypeNone)
            }
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonBuffDisplayTypeAdd)
            }
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonBuffDisplayTypeRemove)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ebcbpafpoeg {
    RogueCommonMiracleDisplayTypeNone = 0,
    RogueCommonMiracleDisplayTypeAdd = 1,
    RogueCommonMiracleDisplayTypeRemove = 2,
    RogueCommonMiracleDisplayTypeRepair = 3,
}
impl Ebcbpafpoeg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ebcbpafpoeg::RogueCommonMiracleDisplayTypeNone => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_NONE"
            }
            Ebcbpafpoeg::RogueCommonMiracleDisplayTypeAdd => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_ADD"
            }
            Ebcbpafpoeg::RogueCommonMiracleDisplayTypeRemove => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REMOVE"
            }
            Ebcbpafpoeg::RogueCommonMiracleDisplayTypeRepair => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REPAIR"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonMiracleDisplayTypeNone)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonMiracleDisplayTypeAdd)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonMiracleDisplayTypeRemove)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REPAIR" => {
                Some(Self::RogueCommonMiracleDisplayTypeRepair)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fcfnmjbcfpk {
    RogueCommonItemDisplayTypeNone = 0,
    RogueCommonItemDisplayTypeAdd = 1,
    RogueCommonItemDisplayTypeRemove = 2,
}
impl Fcfnmjbcfpk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Fcfnmjbcfpk::RogueCommonItemDisplayTypeNone => {
                "ROGUE_COMMON_ITEM_DISPLAY_TYPE_NONE"
            }
            Fcfnmjbcfpk::RogueCommonItemDisplayTypeAdd => {
                "ROGUE_COMMON_ITEM_DISPLAY_TYPE_ADD"
            }
            Fcfnmjbcfpk::RogueCommonItemDisplayTypeRemove => {
                "ROGUE_COMMON_ITEM_DISPLAY_TYPE_REMOVE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonItemDisplayTypeNone)
            }
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonItemDisplayTypeAdd)
            }
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonItemDisplayTypeRemove)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nlcikhgibkn {
    RogueCommonActionResultDisplayTypeNone = 0,
    RogueCommonActionResultDisplayTypeSingle = 1,
    RogueCommonActionResultDisplayTypeMulti = 2,
}
impl Nlcikhgibkn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nlcikhgibkn::RogueCommonActionResultDisplayTypeNone => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_NONE"
            }
            Nlcikhgibkn::RogueCommonActionResultDisplayTypeSingle => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_SINGLE"
            }
            Nlcikhgibkn::RogueCommonActionResultDisplayTypeMulti => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_MULTI"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonActionResultDisplayTypeNone)
            }
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_SINGLE" => {
                Some(Self::RogueCommonActionResultDisplayTypeSingle)
            }
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_MULTI" => {
                Some(Self::RogueCommonActionResultDisplayTypeMulti)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ifhbkgbcmci {
    RogueCommonActionResultSourceTypeNone = 0,
    RogueCommonActionResultSourceTypeSelect = 1,
    RogueCommonActionResultSourceTypeEnhance = 2,
    RogueCommonActionResultSourceTypeMiracle = 3,
    RogueCommonActionResultSourceTypeDialogue = 4,
    RogueCommonActionResultSourceTypeBonus = 5,
    RogueCommonActionResultSourceTypeShop = 6,
    RogueCommonActionResultSourceTypeDice = 7,
    RogueCommonActionResultSourceTypeAeon = 8,
    RogueCommonActionResultSourceTypeBoardEvent = 9,
    RogueCommonActionResultSourceTypeMazeSkill = 10,
    RogueCommonActionResultSourceTypeLevelMechanism = 11,
    RogueCommonActionResultSourceTypeBuff = 12,
    RogueCommonActionResultSourceTypeReforge = 13,
}
impl Ifhbkgbcmci {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeNone => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_NONE"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeSelect => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SELECT"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeEnhance => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_ENHANCE"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeMiracle => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MIRACLE"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeDialogue => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DIALOGUE"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeBonus => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BONUS"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeShop => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SHOP"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeDice => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DICE"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeAeon => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_AEON"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeBoardEvent => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BOARD_EVENT"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeMazeSkill => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAZE_SKILL"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeLevelMechanism => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeBuff => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BUFF"
            }
            Ifhbkgbcmci::RogueCommonActionResultSourceTypeReforge => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_REFORGE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonActionResultSourceTypeNone)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SELECT" => {
                Some(Self::RogueCommonActionResultSourceTypeSelect)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_ENHANCE" => {
                Some(Self::RogueCommonActionResultSourceTypeEnhance)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MIRACLE" => {
                Some(Self::RogueCommonActionResultSourceTypeMiracle)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::RogueCommonActionResultSourceTypeDialogue)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BONUS" => {
                Some(Self::RogueCommonActionResultSourceTypeBonus)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SHOP" => {
                Some(Self::RogueCommonActionResultSourceTypeShop)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DICE" => {
                Some(Self::RogueCommonActionResultSourceTypeDice)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonActionResultSourceTypeAeon)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonActionResultSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueCommonActionResultSourceTypeMazeSkill)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonActionResultSourceTypeLevelMechanism)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BUFF" => {
                Some(Self::RogueCommonActionResultSourceTypeBuff)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_REFORGE" => {
                Some(Self::RogueCommonActionResultSourceTypeReforge)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ongcmhmmjnf {
    RogueTalentStatusLock = 0,
    RogueTalentStatusUnlock = 1,
    RogueTalentStatusEnable = 2,
}
impl Ongcmhmmjnf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ongcmhmmjnf::RogueTalentStatusLock => "ROGUE_TALENT_STATUS_LOCK",
            Ongcmhmmjnf::RogueTalentStatusUnlock => "ROGUE_TALENT_STATUS_UNLOCK",
            Ongcmhmmjnf::RogueTalentStatusEnable => "ROGUE_TALENT_STATUS_ENABLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TALENT_STATUS_LOCK" => Some(Self::RogueTalentStatusLock),
            "ROGUE_TALENT_STATUS_UNLOCK" => Some(Self::RogueTalentStatusUnlock),
            "ROGUE_TALENT_STATUS_ENABLE" => Some(Self::RogueTalentStatusEnable),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Amihidepacp {
    RogueCollectionOperateNone = 0,
    RogueCollectionOperateSet = 1,
    RogueCollectionOperateUnset = 2,
}
impl Amihidepacp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Amihidepacp::RogueCollectionOperateNone => "ROGUE_COLLECTION_OPERATE_NONE",
            Amihidepacp::RogueCollectionOperateSet => "ROGUE_COLLECTION_OPERATE_SET",
            Amihidepacp::RogueCollectionOperateUnset => "ROGUE_COLLECTION_OPERATE_UNSET",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COLLECTION_OPERATE_NONE" => Some(Self::RogueCollectionOperateNone),
            "ROGUE_COLLECTION_OPERATE_SET" => Some(Self::RogueCollectionOperateSet),
            "ROGUE_COLLECTION_OPERATE_UNSET" => Some(Self::RogueCollectionOperateUnset),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cockdenjgpm {
    RogueBoothNone = 0,
    RogueBoothEmpty = 1,
    RogueBoothDisplay = 2,
}
impl Cockdenjgpm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cockdenjgpm::RogueBoothNone => "ROGUE_BOOTH_NONE",
            Cockdenjgpm::RogueBoothEmpty => "ROGUE_BOOTH_EMPTY",
            Cockdenjgpm::RogueBoothDisplay => "ROGUE_BOOTH_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_BOOTH_NONE" => Some(Self::RogueBoothNone),
            "ROGUE_BOOTH_EMPTY" => Some(Self::RogueBoothEmpty),
            "ROGUE_BOOTH_DISPLAY" => Some(Self::RogueBoothDisplay),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dmnhbgcdghe {
    RogueCollectionNone = 0,
    RogueCollectionUnlocked = 1,
    RogueCollectionDisplay = 2,
}
impl Dmnhbgcdghe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dmnhbgcdghe::RogueCollectionNone => "ROGUE_COLLECTION_NONE",
            Dmnhbgcdghe::RogueCollectionUnlocked => "ROGUE_COLLECTION_UNLOCKED",
            Dmnhbgcdghe::RogueCollectionDisplay => "ROGUE_COLLECTION_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COLLECTION_NONE" => Some(Self::RogueCollectionNone),
            "ROGUE_COLLECTION_UNLOCKED" => Some(Self::RogueCollectionUnlocked),
            "ROGUE_COLLECTION_DISPLAY" => Some(Self::RogueCollectionDisplay),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oegcailhgeb {
    RogueExhibitionNone = 0,
    RogueExhibitionUnlocked = 1,
    RogueExhibitionDisplay = 2,
}
impl Oegcailhgeb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Oegcailhgeb::RogueExhibitionNone => "ROGUE_EXHIBITION_NONE",
            Oegcailhgeb::RogueExhibitionUnlocked => "ROGUE_EXHIBITION_UNLOCKED",
            Oegcailhgeb::RogueExhibitionDisplay => "ROGUE_EXHIBITION_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_EXHIBITION_NONE" => Some(Self::RogueExhibitionNone),
            "ROGUE_EXHIBITION_UNLOCKED" => Some(Self::RogueExhibitionUnlocked),
            "ROGUE_EXHIBITION_DISPLAY" => Some(Self::RogueExhibitionDisplay),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueEndless {
    None = 0,
    CmdTakeRogueEndlessActivityAllBonusRewardCsReq = 6010,
    CmdTakeRogueEndlessActivityPointRewardScRsp = 6007,
    ActivityBattleEndScNotify = 6006,
    CmdEnterRogueEndlessActivityStageCsReq = 6004,
    CmdGetRogueEndlessActivityDataScRsp = 6001,
    CmdGetRogueEndlessActivityDataCsReq = 6008,
    CmdTakeRogueEndlessActivityPointRewardCsReq = 6002,
    CmdTakeRogueEndlessActivityAllBonusRewardScRsp = 6009,
    CmdEnterRogueEndlessActivityStageScRsp = 6005,
}
impl CmdRogueEndless {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueEndless::None => "CmdRogueEndlessNone",
            CmdRogueEndless::CmdTakeRogueEndlessActivityAllBonusRewardCsReq => {
                "CmdTakeRogueEndlessActivityAllBonusRewardCsReq"
            }
            CmdRogueEndless::CmdTakeRogueEndlessActivityPointRewardScRsp => {
                "CmdTakeRogueEndlessActivityPointRewardScRsp"
            }
            CmdRogueEndless::ActivityBattleEndScNotify => {
                "CmdRogueEndlessActivityBattleEndScNotify"
            }
            CmdRogueEndless::CmdEnterRogueEndlessActivityStageCsReq => {
                "CmdEnterRogueEndlessActivityStageCsReq"
            }
            CmdRogueEndless::CmdGetRogueEndlessActivityDataScRsp => {
                "CmdGetRogueEndlessActivityDataScRsp"
            }
            CmdRogueEndless::CmdGetRogueEndlessActivityDataCsReq => {
                "CmdGetRogueEndlessActivityDataCsReq"
            }
            CmdRogueEndless::CmdTakeRogueEndlessActivityPointRewardCsReq => {
                "CmdTakeRogueEndlessActivityPointRewardCsReq"
            }
            CmdRogueEndless::CmdTakeRogueEndlessActivityAllBonusRewardScRsp => {
                "CmdTakeRogueEndlessActivityAllBonusRewardScRsp"
            }
            CmdRogueEndless::CmdEnterRogueEndlessActivityStageScRsp => {
                "CmdEnterRogueEndlessActivityStageScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueEndlessNone" => Some(Self::None),
            "CmdTakeRogueEndlessActivityAllBonusRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardCsReq)
            }
            "CmdTakeRogueEndlessActivityPointRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardScRsp)
            }
            "CmdRogueEndlessActivityBattleEndScNotify" => {
                Some(Self::ActivityBattleEndScNotify)
            }
            "CmdEnterRogueEndlessActivityStageCsReq" => {
                Some(Self::CmdEnterRogueEndlessActivityStageCsReq)
            }
            "CmdGetRogueEndlessActivityDataScRsp" => {
                Some(Self::CmdGetRogueEndlessActivityDataScRsp)
            }
            "CmdGetRogueEndlessActivityDataCsReq" => {
                Some(Self::CmdGetRogueEndlessActivityDataCsReq)
            }
            "CmdTakeRogueEndlessActivityPointRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardCsReq)
            }
            "CmdTakeRogueEndlessActivityAllBonusRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardScRsp)
            }
            "CmdEnterRogueEndlessActivityStageScRsp" => {
                Some(Self::CmdEnterRogueEndlessActivityStageScRsp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueModifierType {
    None = 0,
    CmdRogueModifierStageStartNotify = 5327,
    CmdRogueModifierSelectCellCsReq = 5320,
    CmdRogueModifierUpdateNotify = 5371,
    CmdRogueModifierSelectCellScRsp = 5339,
    CmdRogueModifierDelNotify = 5387,
    CmdRogueModifierAddNotify = 5391,
}
impl CmdRogueModifierType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueModifierType::None => "CmdRogueModifierTypeNone",
            CmdRogueModifierType::CmdRogueModifierStageStartNotify => {
                "CmdRogueModifierStageStartNotify"
            }
            CmdRogueModifierType::CmdRogueModifierSelectCellCsReq => {
                "CmdRogueModifierSelectCellCsReq"
            }
            CmdRogueModifierType::CmdRogueModifierUpdateNotify => {
                "CmdRogueModifierUpdateNotify"
            }
            CmdRogueModifierType::CmdRogueModifierSelectCellScRsp => {
                "CmdRogueModifierSelectCellScRsp"
            }
            CmdRogueModifierType::CmdRogueModifierDelNotify => {
                "CmdRogueModifierDelNotify"
            }
            CmdRogueModifierType::CmdRogueModifierAddNotify => {
                "CmdRogueModifierAddNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueModifierTypeNone" => Some(Self::None),
            "CmdRogueModifierStageStartNotify" => {
                Some(Self::CmdRogueModifierStageStartNotify)
            }
            "CmdRogueModifierSelectCellCsReq" => {
                Some(Self::CmdRogueModifierSelectCellCsReq)
            }
            "CmdRogueModifierUpdateNotify" => Some(Self::CmdRogueModifierUpdateNotify),
            "CmdRogueModifierSelectCellScRsp" => {
                Some(Self::CmdRogueModifierSelectCellScRsp)
            }
            "CmdRogueModifierDelNotify" => Some(Self::CmdRogueModifierDelNotify),
            "CmdRogueModifierAddNotify" => Some(Self::CmdRogueModifierAddNotify),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cgkncjhdfjh {
    RogueModifierSourceNone = 0,
    RogueModifierSourceDiceRoll = 1,
    RogueModifierSourceAeon = 2,
    RogueModifierSourceBoardEvent = 3,
    RogueModifierSourceDialogEvent = 4,
    RogueModifierSourceMiracle = 5,
    RogueModifierSourceCellMark = 6,
    RogueModifierSourceAeonTalent = 7,
    RogueModifierSourceBossDecay = 8,
    RogueModifierSourceDiceBranch = 9,
}
impl Cgkncjhdfjh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cgkncjhdfjh::RogueModifierSourceNone => "ROGUE_MODIFIER_SOURCE_NONE",
            Cgkncjhdfjh::RogueModifierSourceDiceRoll => "ROGUE_MODIFIER_SOURCE_DICE_ROLL",
            Cgkncjhdfjh::RogueModifierSourceAeon => "ROGUE_MODIFIER_SOURCE_AEON",
            Cgkncjhdfjh::RogueModifierSourceBoardEvent => {
                "ROGUE_MODIFIER_SOURCE_BOARD_EVENT"
            }
            Cgkncjhdfjh::RogueModifierSourceDialogEvent => {
                "ROGUE_MODIFIER_SOURCE_DIALOG_EVENT"
            }
            Cgkncjhdfjh::RogueModifierSourceMiracle => "ROGUE_MODIFIER_SOURCE_MIRACLE",
            Cgkncjhdfjh::RogueModifierSourceCellMark => "ROGUE_MODIFIER_SOURCE_CELL_MARK",
            Cgkncjhdfjh::RogueModifierSourceAeonTalent => {
                "ROGUE_MODIFIER_SOURCE_AEON_TALENT"
            }
            Cgkncjhdfjh::RogueModifierSourceBossDecay => {
                "ROGUE_MODIFIER_SOURCE_BOSS_DECAY"
            }
            Cgkncjhdfjh::RogueModifierSourceDiceBranch => {
                "ROGUE_MODIFIER_SOURCE_DICE_BRANCH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MODIFIER_SOURCE_NONE" => Some(Self::RogueModifierSourceNone),
            "ROGUE_MODIFIER_SOURCE_DICE_ROLL" => Some(Self::RogueModifierSourceDiceRoll),
            "ROGUE_MODIFIER_SOURCE_AEON" => Some(Self::RogueModifierSourceAeon),
            "ROGUE_MODIFIER_SOURCE_BOARD_EVENT" => {
                Some(Self::RogueModifierSourceBoardEvent)
            }
            "ROGUE_MODIFIER_SOURCE_DIALOG_EVENT" => {
                Some(Self::RogueModifierSourceDialogEvent)
            }
            "ROGUE_MODIFIER_SOURCE_MIRACLE" => Some(Self::RogueModifierSourceMiracle),
            "ROGUE_MODIFIER_SOURCE_CELL_MARK" => Some(Self::RogueModifierSourceCellMark),
            "ROGUE_MODIFIER_SOURCE_AEON_TALENT" => {
                Some(Self::RogueModifierSourceAeonTalent)
            }
            "ROGUE_MODIFIER_SOURCE_BOSS_DECAY" => {
                Some(Self::RogueModifierSourceBossDecay)
            }
            "ROGUE_MODIFIER_SOURCE_DICE_BRANCH" => {
                Some(Self::RogueModifierSourceDiceBranch)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jfldmdnbokf {
    RogueModifierContentDefinite = 0,
    RogueModifierContentRandom = 1,
}
impl Jfldmdnbokf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jfldmdnbokf::RogueModifierContentDefinite => {
                "ROGUE_MODIFIER_CONTENT_DEFINITE"
            }
            Jfldmdnbokf::RogueModifierContentRandom => "ROGUE_MODIFIER_CONTENT_RANDOM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MODIFIER_CONTENT_DEFINITE" => Some(Self::RogueModifierContentDefinite),
            "ROGUE_MODIFIER_CONTENT_RANDOM" => Some(Self::RogueModifierContentRandom),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueTournType {
    None = 0,
    CmdRogueTournSettleCsReq = 6030,
    CmdRogueTournGetCurRogueCocoonInfoCsReq = 6018,
    CmdRogueTournReEnterRogueCocoonStageScRsp = 6015,
    CmdRogueTournReviveAvatarCsReq = 6038,
    CmdRogueTournHandBookNotify = 6091,
    CmdRogueTournLeaveScRsp = 6059,
    CmdRogueTournEnterCsReq = 6037,
    CmdRogueTournDifficultyCompNotify = 6079,
    CmdRogueTournLeaveRogueCocoonSceneCsReq = 6100,
    CmdRogueTournExpNotify = 6068,
    CmdRogueTournEnterRogueCocoonSceneCsReq = 6092,
    CmdRogueTournSettleScRsp = 6043,
    CmdRogueTournGetAllArchiveScRsp = 6022,
    CmdRogueTournRevivieCostUpdateScNotify = 6097,
    CmdRogueTournWeekChallengeUpdateScNotify = 6044,
    CmdRogueTournGetMiscRealTimeDataScRsp = 6020,
    CmdRogueTournGetSettleInfoCsReq = 6034,
    CmdRogueTournBattleFailSettleInfoScNotify = 6060,
    CmdRogueTournGetCurRogueCocoonInfoScRsp = 6021,
    CmdRogueTournEnterScRsp = 6031,
    CmdRogueTournRenameArchiveCsReq = 6090,
    CmdRogueTournDeleteArchiveCsReq = 6086,
    CmdRogueTournConfirmSettleCsReq = 6026,
    CmdRogueTournResetPermanentTalentCsReq = 6011,
    CmdRogueTournTakeExpRewardCsReq = 6078,
    CmdRogueTournGetAllArchiveCsReq = 6054,
    CmdRogueTournDeleteArchiveScRsp = 6096,
    CmdRogueTournStartCsReq = 6075,
    CmdRogueTournGetMiscRealTimeDataCsReq = 6076,
    CmdRogueTournTakeExpRewardScRsp = 6080,
    CmdRogueTournGetSettleInfoScRsp = 6052,
    CmdRogueTournGetPermanentTalentInfoScRsp = 6035,
    CmdRogueTournConfirmSettleScRsp = 6074,
    CmdRogueTournAreaUpdateScNotify = 6019,
    CmdRogueTournGetPermanentTalentInfoCsReq = 6066,
    CmdRogueTournEnablePermanentTalentCsReq = 6049,
    CmdRogueTournEnterLayerCsReq = 6095,
    CmdRogueTournClearArchiveNameScNotify = 6081,
    CmdRogueTournResetPermanentTalentScRsp = 6050,
    CmdRogueTournEnablePermanentTalentScRsp = 6061,
    CmdRogueTournStartScRsp = 6040,
    CmdRogueTournGetArchiveRepositoryScRsp = 6036,
    CmdRogueTournLeaveCsReq = 6064,
    CmdRogueTournEnterRoomScRsp = 6099,
    CmdRogueTournQueryCsReq = 6058,
    CmdRogueTournGetArchiveRepositoryCsReq = 6071,
    CmdRogueTournReviveAvatarScRsp = 6067,
    CmdRogueTournLevelInfoUpdateScNotify = 6013,
    CmdRogueTournRenameArchiveScRsp = 6047,
    CmdRogueTournReEnterRogueCocoonStageCsReq = 6083,
    CmdRogueTournQueryScRsp = 6057,
    CmdRogueTournEnterRoomCsReq = 6094,
    CmdRogueTournEnterRogueCocoonSceneScRsp = 6027,
    CmdRogueTournEnterLayerScRsp = 6072,
    CmdRogueTournLeaveRogueCocoonSceneScRsp = 6056,
}
impl CmdRogueTournType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueTournType::None => "CmdRogueTournTypeNone",
            CmdRogueTournType::CmdRogueTournSettleCsReq => "CmdRogueTournSettleCsReq",
            CmdRogueTournType::CmdRogueTournGetCurRogueCocoonInfoCsReq => {
                "CmdRogueTournGetCurRogueCocoonInfoCsReq"
            }
            CmdRogueTournType::CmdRogueTournReEnterRogueCocoonStageScRsp => {
                "CmdRogueTournReEnterRogueCocoonStageScRsp"
            }
            CmdRogueTournType::CmdRogueTournReviveAvatarCsReq => {
                "CmdRogueTournReviveAvatarCsReq"
            }
            CmdRogueTournType::CmdRogueTournHandBookNotify => {
                "CmdRogueTournHandBookNotify"
            }
            CmdRogueTournType::CmdRogueTournLeaveScRsp => "CmdRogueTournLeaveScRsp",
            CmdRogueTournType::CmdRogueTournEnterCsReq => "CmdRogueTournEnterCsReq",
            CmdRogueTournType::CmdRogueTournDifficultyCompNotify => {
                "CmdRogueTournDifficultyCompNotify"
            }
            CmdRogueTournType::CmdRogueTournLeaveRogueCocoonSceneCsReq => {
                "CmdRogueTournLeaveRogueCocoonSceneCsReq"
            }
            CmdRogueTournType::CmdRogueTournExpNotify => "CmdRogueTournExpNotify",
            CmdRogueTournType::CmdRogueTournEnterRogueCocoonSceneCsReq => {
                "CmdRogueTournEnterRogueCocoonSceneCsReq"
            }
            CmdRogueTournType::CmdRogueTournSettleScRsp => "CmdRogueTournSettleScRsp",
            CmdRogueTournType::CmdRogueTournGetAllArchiveScRsp => {
                "CmdRogueTournGetAllArchiveScRsp"
            }
            CmdRogueTournType::CmdRogueTournRevivieCostUpdateScNotify => {
                "CmdRogueTournRevivieCostUpdateScNotify"
            }
            CmdRogueTournType::CmdRogueTournWeekChallengeUpdateScNotify => {
                "CmdRogueTournWeekChallengeUpdateScNotify"
            }
            CmdRogueTournType::CmdRogueTournGetMiscRealTimeDataScRsp => {
                "CmdRogueTournGetMiscRealTimeDataScRsp"
            }
            CmdRogueTournType::CmdRogueTournGetSettleInfoCsReq => {
                "CmdRogueTournGetSettleInfoCsReq"
            }
            CmdRogueTournType::CmdRogueTournBattleFailSettleInfoScNotify => {
                "CmdRogueTournBattleFailSettleInfoScNotify"
            }
            CmdRogueTournType::CmdRogueTournGetCurRogueCocoonInfoScRsp => {
                "CmdRogueTournGetCurRogueCocoonInfoScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnterScRsp => "CmdRogueTournEnterScRsp",
            CmdRogueTournType::CmdRogueTournRenameArchiveCsReq => {
                "CmdRogueTournRenameArchiveCsReq"
            }
            CmdRogueTournType::CmdRogueTournDeleteArchiveCsReq => {
                "CmdRogueTournDeleteArchiveCsReq"
            }
            CmdRogueTournType::CmdRogueTournConfirmSettleCsReq => {
                "CmdRogueTournConfirmSettleCsReq"
            }
            CmdRogueTournType::CmdRogueTournResetPermanentTalentCsReq => {
                "CmdRogueTournResetPermanentTalentCsReq"
            }
            CmdRogueTournType::CmdRogueTournTakeExpRewardCsReq => {
                "CmdRogueTournTakeExpRewardCsReq"
            }
            CmdRogueTournType::CmdRogueTournGetAllArchiveCsReq => {
                "CmdRogueTournGetAllArchiveCsReq"
            }
            CmdRogueTournType::CmdRogueTournDeleteArchiveScRsp => {
                "CmdRogueTournDeleteArchiveScRsp"
            }
            CmdRogueTournType::CmdRogueTournStartCsReq => "CmdRogueTournStartCsReq",
            CmdRogueTournType::CmdRogueTournGetMiscRealTimeDataCsReq => {
                "CmdRogueTournGetMiscRealTimeDataCsReq"
            }
            CmdRogueTournType::CmdRogueTournTakeExpRewardScRsp => {
                "CmdRogueTournTakeExpRewardScRsp"
            }
            CmdRogueTournType::CmdRogueTournGetSettleInfoScRsp => {
                "CmdRogueTournGetSettleInfoScRsp"
            }
            CmdRogueTournType::CmdRogueTournGetPermanentTalentInfoScRsp => {
                "CmdRogueTournGetPermanentTalentInfoScRsp"
            }
            CmdRogueTournType::CmdRogueTournConfirmSettleScRsp => {
                "CmdRogueTournConfirmSettleScRsp"
            }
            CmdRogueTournType::CmdRogueTournAreaUpdateScNotify => {
                "CmdRogueTournAreaUpdateScNotify"
            }
            CmdRogueTournType::CmdRogueTournGetPermanentTalentInfoCsReq => {
                "CmdRogueTournGetPermanentTalentInfoCsReq"
            }
            CmdRogueTournType::CmdRogueTournEnablePermanentTalentCsReq => {
                "CmdRogueTournEnablePermanentTalentCsReq"
            }
            CmdRogueTournType::CmdRogueTournEnterLayerCsReq => {
                "CmdRogueTournEnterLayerCsReq"
            }
            CmdRogueTournType::CmdRogueTournClearArchiveNameScNotify => {
                "CmdRogueTournClearArchiveNameScNotify"
            }
            CmdRogueTournType::CmdRogueTournResetPermanentTalentScRsp => {
                "CmdRogueTournResetPermanentTalentScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnablePermanentTalentScRsp => {
                "CmdRogueTournEnablePermanentTalentScRsp"
            }
            CmdRogueTournType::CmdRogueTournStartScRsp => "CmdRogueTournStartScRsp",
            CmdRogueTournType::CmdRogueTournGetArchiveRepositoryScRsp => {
                "CmdRogueTournGetArchiveRepositoryScRsp"
            }
            CmdRogueTournType::CmdRogueTournLeaveCsReq => "CmdRogueTournLeaveCsReq",
            CmdRogueTournType::CmdRogueTournEnterRoomScRsp => {
                "CmdRogueTournEnterRoomScRsp"
            }
            CmdRogueTournType::CmdRogueTournQueryCsReq => "CmdRogueTournQueryCsReq",
            CmdRogueTournType::CmdRogueTournGetArchiveRepositoryCsReq => {
                "CmdRogueTournGetArchiveRepositoryCsReq"
            }
            CmdRogueTournType::CmdRogueTournReviveAvatarScRsp => {
                "CmdRogueTournReviveAvatarScRsp"
            }
            CmdRogueTournType::CmdRogueTournLevelInfoUpdateScNotify => {
                "CmdRogueTournLevelInfoUpdateScNotify"
            }
            CmdRogueTournType::CmdRogueTournRenameArchiveScRsp => {
                "CmdRogueTournRenameArchiveScRsp"
            }
            CmdRogueTournType::CmdRogueTournReEnterRogueCocoonStageCsReq => {
                "CmdRogueTournReEnterRogueCocoonStageCsReq"
            }
            CmdRogueTournType::CmdRogueTournQueryScRsp => "CmdRogueTournQueryScRsp",
            CmdRogueTournType::CmdRogueTournEnterRoomCsReq => {
                "CmdRogueTournEnterRoomCsReq"
            }
            CmdRogueTournType::CmdRogueTournEnterRogueCocoonSceneScRsp => {
                "CmdRogueTournEnterRogueCocoonSceneScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnterLayerScRsp => {
                "CmdRogueTournEnterLayerScRsp"
            }
            CmdRogueTournType::CmdRogueTournLeaveRogueCocoonSceneScRsp => {
                "CmdRogueTournLeaveRogueCocoonSceneScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueTournTypeNone" => Some(Self::None),
            "CmdRogueTournSettleCsReq" => Some(Self::CmdRogueTournSettleCsReq),
            "CmdRogueTournGetCurRogueCocoonInfoCsReq" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoCsReq)
            }
            "CmdRogueTournReEnterRogueCocoonStageScRsp" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageScRsp)
            }
            "CmdRogueTournReviveAvatarCsReq" => {
                Some(Self::CmdRogueTournReviveAvatarCsReq)
            }
            "CmdRogueTournHandBookNotify" => Some(Self::CmdRogueTournHandBookNotify),
            "CmdRogueTournLeaveScRsp" => Some(Self::CmdRogueTournLeaveScRsp),
            "CmdRogueTournEnterCsReq" => Some(Self::CmdRogueTournEnterCsReq),
            "CmdRogueTournDifficultyCompNotify" => {
                Some(Self::CmdRogueTournDifficultyCompNotify)
            }
            "CmdRogueTournLeaveRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneCsReq)
            }
            "CmdRogueTournExpNotify" => Some(Self::CmdRogueTournExpNotify),
            "CmdRogueTournEnterRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneCsReq)
            }
            "CmdRogueTournSettleScRsp" => Some(Self::CmdRogueTournSettleScRsp),
            "CmdRogueTournGetAllArchiveScRsp" => {
                Some(Self::CmdRogueTournGetAllArchiveScRsp)
            }
            "CmdRogueTournRevivieCostUpdateScNotify" => {
                Some(Self::CmdRogueTournRevivieCostUpdateScNotify)
            }
            "CmdRogueTournWeekChallengeUpdateScNotify" => {
                Some(Self::CmdRogueTournWeekChallengeUpdateScNotify)
            }
            "CmdRogueTournGetMiscRealTimeDataScRsp" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataScRsp)
            }
            "CmdRogueTournGetSettleInfoCsReq" => {
                Some(Self::CmdRogueTournGetSettleInfoCsReq)
            }
            "CmdRogueTournBattleFailSettleInfoScNotify" => {
                Some(Self::CmdRogueTournBattleFailSettleInfoScNotify)
            }
            "CmdRogueTournGetCurRogueCocoonInfoScRsp" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoScRsp)
            }
            "CmdRogueTournEnterScRsp" => Some(Self::CmdRogueTournEnterScRsp),
            "CmdRogueTournRenameArchiveCsReq" => {
                Some(Self::CmdRogueTournRenameArchiveCsReq)
            }
            "CmdRogueTournDeleteArchiveCsReq" => {
                Some(Self::CmdRogueTournDeleteArchiveCsReq)
            }
            "CmdRogueTournConfirmSettleCsReq" => {
                Some(Self::CmdRogueTournConfirmSettleCsReq)
            }
            "CmdRogueTournResetPermanentTalentCsReq" => {
                Some(Self::CmdRogueTournResetPermanentTalentCsReq)
            }
            "CmdRogueTournTakeExpRewardCsReq" => {
                Some(Self::CmdRogueTournTakeExpRewardCsReq)
            }
            "CmdRogueTournGetAllArchiveCsReq" => {
                Some(Self::CmdRogueTournGetAllArchiveCsReq)
            }
            "CmdRogueTournDeleteArchiveScRsp" => {
                Some(Self::CmdRogueTournDeleteArchiveScRsp)
            }
            "CmdRogueTournStartCsReq" => Some(Self::CmdRogueTournStartCsReq),
            "CmdRogueTournGetMiscRealTimeDataCsReq" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataCsReq)
            }
            "CmdRogueTournTakeExpRewardScRsp" => {
                Some(Self::CmdRogueTournTakeExpRewardScRsp)
            }
            "CmdRogueTournGetSettleInfoScRsp" => {
                Some(Self::CmdRogueTournGetSettleInfoScRsp)
            }
            "CmdRogueTournGetPermanentTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoScRsp)
            }
            "CmdRogueTournConfirmSettleScRsp" => {
                Some(Self::CmdRogueTournConfirmSettleScRsp)
            }
            "CmdRogueTournAreaUpdateScNotify" => {
                Some(Self::CmdRogueTournAreaUpdateScNotify)
            }
            "CmdRogueTournGetPermanentTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoCsReq)
            }
            "CmdRogueTournEnablePermanentTalentCsReq" => {
                Some(Self::CmdRogueTournEnablePermanentTalentCsReq)
            }
            "CmdRogueTournEnterLayerCsReq" => Some(Self::CmdRogueTournEnterLayerCsReq),
            "CmdRogueTournClearArchiveNameScNotify" => {
                Some(Self::CmdRogueTournClearArchiveNameScNotify)
            }
            "CmdRogueTournResetPermanentTalentScRsp" => {
                Some(Self::CmdRogueTournResetPermanentTalentScRsp)
            }
            "CmdRogueTournEnablePermanentTalentScRsp" => {
                Some(Self::CmdRogueTournEnablePermanentTalentScRsp)
            }
            "CmdRogueTournStartScRsp" => Some(Self::CmdRogueTournStartScRsp),
            "CmdRogueTournGetArchiveRepositoryScRsp" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryScRsp)
            }
            "CmdRogueTournLeaveCsReq" => Some(Self::CmdRogueTournLeaveCsReq),
            "CmdRogueTournEnterRoomScRsp" => Some(Self::CmdRogueTournEnterRoomScRsp),
            "CmdRogueTournQueryCsReq" => Some(Self::CmdRogueTournQueryCsReq),
            "CmdRogueTournGetArchiveRepositoryCsReq" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryCsReq)
            }
            "CmdRogueTournReviveAvatarScRsp" => {
                Some(Self::CmdRogueTournReviveAvatarScRsp)
            }
            "CmdRogueTournLevelInfoUpdateScNotify" => {
                Some(Self::CmdRogueTournLevelInfoUpdateScNotify)
            }
            "CmdRogueTournRenameArchiveScRsp" => {
                Some(Self::CmdRogueTournRenameArchiveScRsp)
            }
            "CmdRogueTournReEnterRogueCocoonStageCsReq" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageCsReq)
            }
            "CmdRogueTournQueryScRsp" => Some(Self::CmdRogueTournQueryScRsp),
            "CmdRogueTournEnterRoomCsReq" => Some(Self::CmdRogueTournEnterRoomCsReq),
            "CmdRogueTournEnterRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneScRsp)
            }
            "CmdRogueTournEnterLayerScRsp" => Some(Self::CmdRogueTournEnterLayerScRsp),
            "CmdRogueTournLeaveRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneScRsp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hmilhdeccba {
    RogueTournLevelStatusNone = 0,
    RogueTournLevelStatusProcessing = 1,
    RogueTournLevelStatusFinished = 2,
    RogueTournLevelStatusSettled = 3,
}
impl Hmilhdeccba {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hmilhdeccba::RogueTournLevelStatusNone => "ROGUE_TOURN_LEVEL_STATUS_NONE",
            Hmilhdeccba::RogueTournLevelStatusProcessing => {
                "ROGUE_TOURN_LEVEL_STATUS_PROCESSING"
            }
            Hmilhdeccba::RogueTournLevelStatusFinished => {
                "ROGUE_TOURN_LEVEL_STATUS_FINISHED"
            }
            Hmilhdeccba::RogueTournLevelStatusSettled => {
                "ROGUE_TOURN_LEVEL_STATUS_SETTLED"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_LEVEL_STATUS_NONE" => Some(Self::RogueTournLevelStatusNone),
            "ROGUE_TOURN_LEVEL_STATUS_PROCESSING" => {
                Some(Self::RogueTournLevelStatusProcessing)
            }
            "ROGUE_TOURN_LEVEL_STATUS_FINISHED" => {
                Some(Self::RogueTournLevelStatusFinished)
            }
            "ROGUE_TOURN_LEVEL_STATUS_SETTLED" => {
                Some(Self::RogueTournLevelStatusSettled)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Omajeindojg {
    RogueTournLayerStatusNone = 0,
    RogueTournLayerStatusProcessing = 1,
    RogueTournLayerStatusFinish = 2,
}
impl Omajeindojg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Omajeindojg::RogueTournLayerStatusNone => "ROGUE_TOURN_LAYER_STATUS_NONE",
            Omajeindojg::RogueTournLayerStatusProcessing => {
                "ROGUE_TOURN_LAYER_STATUS_PROCESSING"
            }
            Omajeindojg::RogueTournLayerStatusFinish => "ROGUE_TOURN_LAYER_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_LAYER_STATUS_NONE" => Some(Self::RogueTournLayerStatusNone),
            "ROGUE_TOURN_LAYER_STATUS_PROCESSING" => {
                Some(Self::RogueTournLayerStatusProcessing)
            }
            "ROGUE_TOURN_LAYER_STATUS_FINISH" => Some(Self::RogueTournLayerStatusFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ekalibpiolf {
    RogueTournRoomStatusNone = 0,
    RogueTournRoomStatusInited = 1,
    RogueTournRoomStatusProcessing = 2,
    RogueTournRoomStatusFinish = 3,
}
impl Ekalibpiolf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ekalibpiolf::RogueTournRoomStatusNone => "ROGUE_TOURN_ROOM_STATUS_NONE",
            Ekalibpiolf::RogueTournRoomStatusInited => "ROGUE_TOURN_ROOM_STATUS_INITED",
            Ekalibpiolf::RogueTournRoomStatusProcessing => {
                "ROGUE_TOURN_ROOM_STATUS_PROCESSING"
            }
            Ekalibpiolf::RogueTournRoomStatusFinish => "ROGUE_TOURN_ROOM_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_ROOM_STATUS_NONE" => Some(Self::RogueTournRoomStatusNone),
            "ROGUE_TOURN_ROOM_STATUS_INITED" => Some(Self::RogueTournRoomStatusInited),
            "ROGUE_TOURN_ROOM_STATUS_PROCESSING" => {
                Some(Self::RogueTournRoomStatusProcessing)
            }
            "ROGUE_TOURN_ROOM_STATUS_FINISH" => Some(Self::RogueTournRoomStatusFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Giogipjlono {
    RogueTournSettleReasonNone = 0,
    RogueTournSettleReasonWin = 1,
    RogueTournSettleReasonFail = 2,
    RogueTournSettleReasonInterrupt = 3,
}
impl Giogipjlono {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Giogipjlono::RogueTournSettleReasonNone => "ROGUE_TOURN_SETTLE_REASON_NONE",
            Giogipjlono::RogueTournSettleReasonWin => "ROGUE_TOURN_SETTLE_REASON_WIN",
            Giogipjlono::RogueTournSettleReasonFail => "ROGUE_TOURN_SETTLE_REASON_FAIL",
            Giogipjlono::RogueTournSettleReasonInterrupt => {
                "ROGUE_TOURN_SETTLE_REASON_INTERRUPT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_SETTLE_REASON_NONE" => Some(Self::RogueTournSettleReasonNone),
            "ROGUE_TOURN_SETTLE_REASON_WIN" => Some(Self::RogueTournSettleReasonWin),
            "ROGUE_TOURN_SETTLE_REASON_FAIL" => Some(Self::RogueTournSettleReasonFail),
            "ROGUE_TOURN_SETTLE_REASON_INTERRUPT" => {
                Some(Self::RogueTournSettleReasonInterrupt)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Haejfbncgfl {
    RogueTournHandbookNone = 0,
    RogueTournHandbookSimpleMiracle = 1,
    RogueTournHandbookHexMiracle = 2,
    RogueTournHandbookBuff = 3,
    RogueTournHandbookEvent = 4,
    RogueTournHandbookFormula = 5,
}
impl Haejfbncgfl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Haejfbncgfl::RogueTournHandbookNone => "ROGUE_TOURN_HANDBOOK_NONE",
            Haejfbncgfl::RogueTournHandbookSimpleMiracle => {
                "ROGUE_TOURN_HANDBOOK_SIMPLE_MIRACLE"
            }
            Haejfbncgfl::RogueTournHandbookHexMiracle => {
                "ROGUE_TOURN_HANDBOOK_HEX_MIRACLE"
            }
            Haejfbncgfl::RogueTournHandbookBuff => "ROGUE_TOURN_HANDBOOK_BUFF",
            Haejfbncgfl::RogueTournHandbookEvent => "ROGUE_TOURN_HANDBOOK_EVENT",
            Haejfbncgfl::RogueTournHandbookFormula => "ROGUE_TOURN_HANDBOOK_FORMULA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_HANDBOOK_NONE" => Some(Self::RogueTournHandbookNone),
            "ROGUE_TOURN_HANDBOOK_SIMPLE_MIRACLE" => {
                Some(Self::RogueTournHandbookSimpleMiracle)
            }
            "ROGUE_TOURN_HANDBOOK_HEX_MIRACLE" => {
                Some(Self::RogueTournHandbookHexMiracle)
            }
            "ROGUE_TOURN_HANDBOOK_BUFF" => Some(Self::RogueTournHandbookBuff),
            "ROGUE_TOURN_HANDBOOK_EVENT" => Some(Self::RogueTournHandbookEvent),
            "ROGUE_TOURN_HANDBOOK_FORMULA" => Some(Self::RogueTournHandbookFormula),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRollShopType {
    None = 0,
    CmdTakeRollShopRewardCsReq = 6919,
    CmdGetRollShopInfoCsReq = 6909,
    CmdDoGachaInRollShopScRsp = 6903,
    CmdDoGachaInRollShopCsReq = 6907,
    CmdTakeRollShopRewardScRsp = 6914,
    CmdGetRollShopInfoScRsp = 6902,
}
impl CmdRollShopType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRollShopType::None => "CmdRollShopTypeNone",
            CmdRollShopType::CmdTakeRollShopRewardCsReq => "CmdTakeRollShopRewardCsReq",
            CmdRollShopType::CmdGetRollShopInfoCsReq => "CmdGetRollShopInfoCsReq",
            CmdRollShopType::CmdDoGachaInRollShopScRsp => "CmdDoGachaInRollShopScRsp",
            CmdRollShopType::CmdDoGachaInRollShopCsReq => "CmdDoGachaInRollShopCsReq",
            CmdRollShopType::CmdTakeRollShopRewardScRsp => "CmdTakeRollShopRewardScRsp",
            CmdRollShopType::CmdGetRollShopInfoScRsp => "CmdGetRollShopInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRollShopTypeNone" => Some(Self::None),
            "CmdTakeRollShopRewardCsReq" => Some(Self::CmdTakeRollShopRewardCsReq),
            "CmdGetRollShopInfoCsReq" => Some(Self::CmdGetRollShopInfoCsReq),
            "CmdDoGachaInRollShopScRsp" => Some(Self::CmdDoGachaInRollShopScRsp),
            "CmdDoGachaInRollShopCsReq" => Some(Self::CmdDoGachaInRollShopCsReq),
            "CmdTakeRollShopRewardScRsp" => Some(Self::CmdTakeRollShopRewardScRsp),
            "CmdGetRollShopInfoScRsp" => Some(Self::CmdGetRollShopInfoScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSceneType {
    None = 0,
    CmdGetSpringRecoverDataScRsp = 1418,
    CmdGameplayCounterCountDownScRsp = 1460,
    CmdGetCurSceneInfoCsReq = 1430,
    CmdGetSceneMapInfoScRsp = 1469,
    CmdEnteredSceneChangeScNotify = 1402,
    CmdSetClientPausedCsReq = 1417,
    CmdGroupStateChangeCsReq = 1441,
    CmdSceneEntityTeleportCsReq = 1498,
    CmdGetSpringRecoverDataCsReq = 1490,
    CmdGameplayCounterCountDownCsReq = 1443,
    CmdUnlockedAreaMapScNotify = 1459,
    CmdReturnLastTownCsReq = 1449,
    CmdSpringRecoverSingleAvatarScRsp = 1424,
    CmdGetUnlockTeleportScRsp = 1453,
    CmdSetCurInteractEntityCsReq = 1432,
    CmdSceneEnterStageScRsp = 1481,
    CmdGroupStateChangeScRsp = 1435,
    CmdStartTimedFarmElementCsReq = 1423,
    CmdSceneCastSkillMpUpdateScNotify = 1421,
    CmdSpringRefreshScRsp = 1470,
    CmdLastSpringRefreshTimeNotify = 1456,
    CmdStartTimedFarmElementScRsp = 1419,
    CmdGameplayCounterRecoverCsReq = 1445,
    CmdEnterSectionScRsp = 1401,
    CmdSceneCastSkillCostMpCsReq = 1494,
    CmdEntityBindPropScRsp = 1426,
    CmdDeactivateFarmElementCsReq = 1440,
    CmdScenePlaneEventScNotify = 1479,
    CmdReturnLastTownScRsp = 1451,
    CmdSceneEntityMoveScRsp = 1488,
    CmdRefreshTriggerByClientScRsp = 1475,
    CmdHealPoolInfoNotify = 1411,
    CmdRefreshTriggerByClientScNotify = 1438,
    CmdEntityBindPropCsReq = 1454,
    CmdSyncEntityBuffChangeListScNotify = 1447,
    CmdSpringRecoverSingleAvatarCsReq = 1444,
    CmdSceneEntityMoveScNotify = 1462,
    CmdSetGroupCustomSaveDataScRsp = 1465,
    CmdReEnterLastElementStageCsReq = 1489,
    CmdDeleteSummonUnitCsReq = 1477,
    CmdSetSpringRecoverConfigCsReq = 1476,
    CmdEnterSceneCsReq = 1480,
    CmdSpringRecoverScRsp = 1446,
    CmdActivateFarmElementScRsp = 1466,
    CmdRecoverAllLineupCsReq = 1468,
    CmdSceneEnterStageCsReq = 1409,
    CmdReEnterLastElementStageScRsp = 1410,
    CmdEnterSceneScRsp = 1478,
    CmdUnlockTeleportNotify = 1467,
    CmdGetUnlockTeleportCsReq = 1472,
    CmdDeactivateFarmElementScRsp = 1448,
    CmdStartCocoonStageScRsp = 1485,
    CmdInteractPropScRsp = 1420,
    CmdRecoverAllLineupScRsp = 1495,
    CmdInteractPropCsReq = 1491,
    CmdSetSpringRecoverConfigScRsp = 1464,
    CmdSceneReviveAfterRebattleCsReq = 1412,
    CmdSceneCastSkillCsReq = 1439,
    CmdSyncServerSceneChangeNotify = 1425,
    CmdSetClientPausedScRsp = 1500,
    CmdGetCurSceneInfoScRsp = 1471,
    CmdGetEnteredSceneCsReq = 1407,
    CmdSceneEntityTeleportScRsp = 1486,
    CmdStartTimedCocoonStageCsReq = 1431,
    CmdSetGroupCustomSaveDataCsReq = 1416,
    CmdUpdateMechanismBarScNotify = 1442,
    CmdSpringRecoverCsReq = 1408,
    CmdGetSceneMapInfoCsReq = 1484,
    CmdSavePointsInfoNotify = 1458,
    CmdUpdateFloorSavedValueNotify = 1414,
    CmdGameplayCounterUpdateScNotify = 1429,
    CmdSceneCastSkillScRsp = 1473,
    CmdSceneCastSkillCostMpScRsp = 1496,
    CmdDeleteSummonUnitScRsp = 1404,
    CmdSceneGroupRefreshScNotify = 1463,
    CmdSceneReviveAfterRebattleScRsp = 1437,
    CmdEnterSectionCsReq = 1428,
    CmdStartTimedCocoonStageScRsp = 1497,
    CmdStartCocoonStageCsReq = 1413,
    CmdGetEnteredSceneScRsp = 1452,
    CmdGroupStateChangeScNotify = 1499,
    CmdSceneEntityMoveCsReq = 1461,
    CmdSpringRefreshCsReq = 1403,
    CmdSceneUpdatePositionVersionNotify = 1474,
    CmdActivateFarmElementCsReq = 1405,
    CmdSetCurInteractEntityScRsp = 1455,
    CmdEnterSceneByServerScNotify = 1483,
    CmdRefreshTriggerByClientCsReq = 1436,
    CmdGameplayCounterRecoverScRsp = 1415,
}
impl CmdSceneType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdSceneType::None => "CmdSceneTypeNone",
            CmdSceneType::CmdGetSpringRecoverDataScRsp => "CmdGetSpringRecoverDataScRsp",
            CmdSceneType::CmdGameplayCounterCountDownScRsp => {
                "CmdGameplayCounterCountDownScRsp"
            }
            CmdSceneType::CmdGetCurSceneInfoCsReq => "CmdGetCurSceneInfoCsReq",
            CmdSceneType::CmdGetSceneMapInfoScRsp => "CmdGetSceneMapInfoScRsp",
            CmdSceneType::CmdEnteredSceneChangeScNotify => {
                "CmdEnteredSceneChangeScNotify"
            }
            CmdSceneType::CmdSetClientPausedCsReq => "CmdSetClientPausedCsReq",
            CmdSceneType::CmdGroupStateChangeCsReq => "CmdGroupStateChangeCsReq",
            CmdSceneType::CmdSceneEntityTeleportCsReq => "CmdSceneEntityTeleportCsReq",
            CmdSceneType::CmdGetSpringRecoverDataCsReq => "CmdGetSpringRecoverDataCsReq",
            CmdSceneType::CmdGameplayCounterCountDownCsReq => {
                "CmdGameplayCounterCountDownCsReq"
            }
            CmdSceneType::CmdUnlockedAreaMapScNotify => "CmdUnlockedAreaMapScNotify",
            CmdSceneType::CmdReturnLastTownCsReq => "CmdReturnLastTownCsReq",
            CmdSceneType::CmdSpringRecoverSingleAvatarScRsp => {
                "CmdSpringRecoverSingleAvatarScRsp"
            }
            CmdSceneType::CmdGetUnlockTeleportScRsp => "CmdGetUnlockTeleportScRsp",
            CmdSceneType::CmdSetCurInteractEntityCsReq => "CmdSetCurInteractEntityCsReq",
            CmdSceneType::CmdSceneEnterStageScRsp => "CmdSceneEnterStageScRsp",
            CmdSceneType::CmdGroupStateChangeScRsp => "CmdGroupStateChangeScRsp",
            CmdSceneType::CmdStartTimedFarmElementCsReq => {
                "CmdStartTimedFarmElementCsReq"
            }
            CmdSceneType::CmdSceneCastSkillMpUpdateScNotify => {
                "CmdSceneCastSkillMpUpdateScNotify"
            }
            CmdSceneType::CmdSpringRefreshScRsp => "CmdSpringRefreshScRsp",
            CmdSceneType::CmdLastSpringRefreshTimeNotify => {
                "CmdLastSpringRefreshTimeNotify"
            }
            CmdSceneType::CmdStartTimedFarmElementScRsp => {
                "CmdStartTimedFarmElementScRsp"
            }
            CmdSceneType::CmdGameplayCounterRecoverCsReq => {
                "CmdGameplayCounterRecoverCsReq"
            }
            CmdSceneType::CmdEnterSectionScRsp => "CmdEnterSectionScRsp",
            CmdSceneType::CmdSceneCastSkillCostMpCsReq => "CmdSceneCastSkillCostMpCsReq",
            CmdSceneType::CmdEntityBindPropScRsp => "CmdEntityBindPropScRsp",
            CmdSceneType::CmdDeactivateFarmElementCsReq => {
                "CmdDeactivateFarmElementCsReq"
            }
            CmdSceneType::CmdScenePlaneEventScNotify => "CmdScenePlaneEventScNotify",
            CmdSceneType::CmdReturnLastTownScRsp => "CmdReturnLastTownScRsp",
            CmdSceneType::CmdSceneEntityMoveScRsp => "CmdSceneEntityMoveScRsp",
            CmdSceneType::CmdRefreshTriggerByClientScRsp => {
                "CmdRefreshTriggerByClientScRsp"
            }
            CmdSceneType::CmdHealPoolInfoNotify => "CmdHealPoolInfoNotify",
            CmdSceneType::CmdRefreshTriggerByClientScNotify => {
                "CmdRefreshTriggerByClientScNotify"
            }
            CmdSceneType::CmdEntityBindPropCsReq => "CmdEntityBindPropCsReq",
            CmdSceneType::CmdSyncEntityBuffChangeListScNotify => {
                "CmdSyncEntityBuffChangeListScNotify"
            }
            CmdSceneType::CmdSpringRecoverSingleAvatarCsReq => {
                "CmdSpringRecoverSingleAvatarCsReq"
            }
            CmdSceneType::CmdSceneEntityMoveScNotify => "CmdSceneEntityMoveScNotify",
            CmdSceneType::CmdSetGroupCustomSaveDataScRsp => {
                "CmdSetGroupCustomSaveDataScRsp"
            }
            CmdSceneType::CmdReEnterLastElementStageCsReq => {
                "CmdReEnterLastElementStageCsReq"
            }
            CmdSceneType::CmdDeleteSummonUnitCsReq => "CmdDeleteSummonUnitCsReq",
            CmdSceneType::CmdSetSpringRecoverConfigCsReq => {
                "CmdSetSpringRecoverConfigCsReq"
            }
            CmdSceneType::CmdEnterSceneCsReq => "CmdEnterSceneCsReq",
            CmdSceneType::CmdSpringRecoverScRsp => "CmdSpringRecoverScRsp",
            CmdSceneType::CmdActivateFarmElementScRsp => "CmdActivateFarmElementScRsp",
            CmdSceneType::CmdRecoverAllLineupCsReq => "CmdRecoverAllLineupCsReq",
            CmdSceneType::CmdSceneEnterStageCsReq => "CmdSceneEnterStageCsReq",
            CmdSceneType::CmdReEnterLastElementStageScRsp => {
                "CmdReEnterLastElementStageScRsp"
            }
            CmdSceneType::CmdEnterSceneScRsp => "CmdEnterSceneScRsp",
            CmdSceneType::CmdUnlockTeleportNotify => "CmdUnlockTeleportNotify",
            CmdSceneType::CmdGetUnlockTeleportCsReq => "CmdGetUnlockTeleportCsReq",
            CmdSceneType::CmdDeactivateFarmElementScRsp => {
                "CmdDeactivateFarmElementScRsp"
            }
            CmdSceneType::CmdStartCocoonStageScRsp => "CmdStartCocoonStageScRsp",
            CmdSceneType::CmdInteractPropScRsp => "CmdInteractPropScRsp",
            CmdSceneType::CmdRecoverAllLineupScRsp => "CmdRecoverAllLineupScRsp",
            CmdSceneType::CmdInteractPropCsReq => "CmdInteractPropCsReq",
            CmdSceneType::CmdSetSpringRecoverConfigScRsp => {
                "CmdSetSpringRecoverConfigScRsp"
            }
            CmdSceneType::CmdSceneReviveAfterRebattleCsReq => {
                "CmdSceneReviveAfterRebattleCsReq"
            }
            CmdSceneType::CmdSceneCastSkillCsReq => "CmdSceneCastSkillCsReq",
            CmdSceneType::CmdSyncServerSceneChangeNotify => {
                "CmdSyncServerSceneChangeNotify"
            }
            CmdSceneType::CmdSetClientPausedScRsp => "CmdSetClientPausedScRsp",
            CmdSceneType::CmdGetCurSceneInfoScRsp => "CmdGetCurSceneInfoScRsp",
            CmdSceneType::CmdGetEnteredSceneCsReq => "CmdGetEnteredSceneCsReq",
            CmdSceneType::CmdSceneEntityTeleportScRsp => "CmdSceneEntityTeleportScRsp",
            CmdSceneType::CmdStartTimedCocoonStageCsReq => {
                "CmdStartTimedCocoonStageCsReq"
            }
            CmdSceneType::CmdSetGroupCustomSaveDataCsReq => {
                "CmdSetGroupCustomSaveDataCsReq"
            }
            CmdSceneType::CmdUpdateMechanismBarScNotify => {
                "CmdUpdateMechanismBarScNotify"
            }
            CmdSceneType::CmdSpringRecoverCsReq => "CmdSpringRecoverCsReq",
            CmdSceneType::CmdGetSceneMapInfoCsReq => "CmdGetSceneMapInfoCsReq",
            CmdSceneType::CmdSavePointsInfoNotify => "CmdSavePointsInfoNotify",
            CmdSceneType::CmdUpdateFloorSavedValueNotify => {
                "CmdUpdateFloorSavedValueNotify"
            }
            CmdSceneType::CmdGameplayCounterUpdateScNotify => {
                "CmdGameplayCounterUpdateScNotify"
            }
            CmdSceneType::CmdSceneCastSkillScRsp => "CmdSceneCastSkillScRsp",
            CmdSceneType::CmdSceneCastSkillCostMpScRsp => "CmdSceneCastSkillCostMpScRsp",
            CmdSceneType::CmdDeleteSummonUnitScRsp => "CmdDeleteSummonUnitScRsp",
            CmdSceneType::CmdSceneGroupRefreshScNotify => "CmdSceneGroupRefreshScNotify",
            CmdSceneType::CmdSceneReviveAfterRebattleScRsp => {
                "CmdSceneReviveAfterRebattleScRsp"
            }
            CmdSceneType::CmdEnterSectionCsReq => "CmdEnterSectionCsReq",
            CmdSceneType::CmdStartTimedCocoonStageScRsp => {
                "CmdStartTimedCocoonStageScRsp"
            }
            CmdSceneType::CmdStartCocoonStageCsReq => "CmdStartCocoonStageCsReq",
            CmdSceneType::CmdGetEnteredSceneScRsp => "CmdGetEnteredSceneScRsp",
            CmdSceneType::CmdGroupStateChangeScNotify => "CmdGroupStateChangeScNotify",
            CmdSceneType::CmdSceneEntityMoveCsReq => "CmdSceneEntityMoveCsReq",
            CmdSceneType::CmdSpringRefreshCsReq => "CmdSpringRefreshCsReq",
            CmdSceneType::CmdSceneUpdatePositionVersionNotify => {
                "CmdSceneUpdatePositionVersionNotify"
            }
            CmdSceneType::CmdActivateFarmElementCsReq => "CmdActivateFarmElementCsReq",
            CmdSceneType::CmdSetCurInteractEntityScRsp => "CmdSetCurInteractEntityScRsp",
            CmdSceneType::CmdEnterSceneByServerScNotify => {
                "CmdEnterSceneByServerScNotify"
            }
            CmdSceneType::CmdRefreshTriggerByClientCsReq => {
                "CmdRefreshTriggerByClientCsReq"
            }
            CmdSceneType::CmdGameplayCounterRecoverScRsp => {
                "CmdGameplayCounterRecoverScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSceneTypeNone" => Some(Self::None),
            "CmdGetSpringRecoverDataScRsp" => Some(Self::CmdGetSpringRecoverDataScRsp),
            "CmdGameplayCounterCountDownScRsp" => {
                Some(Self::CmdGameplayCounterCountDownScRsp)
            }
            "CmdGetCurSceneInfoCsReq" => Some(Self::CmdGetCurSceneInfoCsReq),
            "CmdGetSceneMapInfoScRsp" => Some(Self::CmdGetSceneMapInfoScRsp),
            "CmdEnteredSceneChangeScNotify" => Some(Self::CmdEnteredSceneChangeScNotify),
            "CmdSetClientPausedCsReq" => Some(Self::CmdSetClientPausedCsReq),
            "CmdGroupStateChangeCsReq" => Some(Self::CmdGroupStateChangeCsReq),
            "CmdSceneEntityTeleportCsReq" => Some(Self::CmdSceneEntityTeleportCsReq),
            "CmdGetSpringRecoverDataCsReq" => Some(Self::CmdGetSpringRecoverDataCsReq),
            "CmdGameplayCounterCountDownCsReq" => {
                Some(Self::CmdGameplayCounterCountDownCsReq)
            }
            "CmdUnlockedAreaMapScNotify" => Some(Self::CmdUnlockedAreaMapScNotify),
            "CmdReturnLastTownCsReq" => Some(Self::CmdReturnLastTownCsReq),
            "CmdSpringRecoverSingleAvatarScRsp" => {
                Some(Self::CmdSpringRecoverSingleAvatarScRsp)
            }
            "CmdGetUnlockTeleportScRsp" => Some(Self::CmdGetUnlockTeleportScRsp),
            "CmdSetCurInteractEntityCsReq" => Some(Self::CmdSetCurInteractEntityCsReq),
            "CmdSceneEnterStageScRsp" => Some(Self::CmdSceneEnterStageScRsp),
            "CmdGroupStateChangeScRsp" => Some(Self::CmdGroupStateChangeScRsp),
            "CmdStartTimedFarmElementCsReq" => Some(Self::CmdStartTimedFarmElementCsReq),
            "CmdSceneCastSkillMpUpdateScNotify" => {
                Some(Self::CmdSceneCastSkillMpUpdateScNotify)
            }
            "CmdSpringRefreshScRsp" => Some(Self::CmdSpringRefreshScRsp),
            "CmdLastSpringRefreshTimeNotify" => {
                Some(Self::CmdLastSpringRefreshTimeNotify)
            }
            "CmdStartTimedFarmElementScRsp" => Some(Self::CmdStartTimedFarmElementScRsp),
            "CmdGameplayCounterRecoverCsReq" => {
                Some(Self::CmdGameplayCounterRecoverCsReq)
            }
            "CmdEnterSectionScRsp" => Some(Self::CmdEnterSectionScRsp),
            "CmdSceneCastSkillCostMpCsReq" => Some(Self::CmdSceneCastSkillCostMpCsReq),
            "CmdEntityBindPropScRsp" => Some(Self::CmdEntityBindPropScRsp),
            "CmdDeactivateFarmElementCsReq" => Some(Self::CmdDeactivateFarmElementCsReq),
            "CmdScenePlaneEventScNotify" => Some(Self::CmdScenePlaneEventScNotify),
            "CmdReturnLastTownScRsp" => Some(Self::CmdReturnLastTownScRsp),
            "CmdSceneEntityMoveScRsp" => Some(Self::CmdSceneEntityMoveScRsp),
            "CmdRefreshTriggerByClientScRsp" => {
                Some(Self::CmdRefreshTriggerByClientScRsp)
            }
            "CmdHealPoolInfoNotify" => Some(Self::CmdHealPoolInfoNotify),
            "CmdRefreshTriggerByClientScNotify" => {
                Some(Self::CmdRefreshTriggerByClientScNotify)
            }
            "CmdEntityBindPropCsReq" => Some(Self::CmdEntityBindPropCsReq),
            "CmdSyncEntityBuffChangeListScNotify" => {
                Some(Self::CmdSyncEntityBuffChangeListScNotify)
            }
            "CmdSpringRecoverSingleAvatarCsReq" => {
                Some(Self::CmdSpringRecoverSingleAvatarCsReq)
            }
            "CmdSceneEntityMoveScNotify" => Some(Self::CmdSceneEntityMoveScNotify),
            "CmdSetGroupCustomSaveDataScRsp" => {
                Some(Self::CmdSetGroupCustomSaveDataScRsp)
            }
            "CmdReEnterLastElementStageCsReq" => {
                Some(Self::CmdReEnterLastElementStageCsReq)
            }
            "CmdDeleteSummonUnitCsReq" => Some(Self::CmdDeleteSummonUnitCsReq),
            "CmdSetSpringRecoverConfigCsReq" => {
                Some(Self::CmdSetSpringRecoverConfigCsReq)
            }
            "CmdEnterSceneCsReq" => Some(Self::CmdEnterSceneCsReq),
            "CmdSpringRecoverScRsp" => Some(Self::CmdSpringRecoverScRsp),
            "CmdActivateFarmElementScRsp" => Some(Self::CmdActivateFarmElementScRsp),
            "CmdRecoverAllLineupCsReq" => Some(Self::CmdRecoverAllLineupCsReq),
            "CmdSceneEnterStageCsReq" => Some(Self::CmdSceneEnterStageCsReq),
            "CmdReEnterLastElementStageScRsp" => {
                Some(Self::CmdReEnterLastElementStageScRsp)
            }
            "CmdEnterSceneScRsp" => Some(Self::CmdEnterSceneScRsp),
            "CmdUnlockTeleportNotify" => Some(Self::CmdUnlockTeleportNotify),
            "CmdGetUnlockTeleportCsReq" => Some(Self::CmdGetUnlockTeleportCsReq),
            "CmdDeactivateFarmElementScRsp" => Some(Self::CmdDeactivateFarmElementScRsp),
            "CmdStartCocoonStageScRsp" => Some(Self::CmdStartCocoonStageScRsp),
            "CmdInteractPropScRsp" => Some(Self::CmdInteractPropScRsp),
            "CmdRecoverAllLineupScRsp" => Some(Self::CmdRecoverAllLineupScRsp),
            "CmdInteractPropCsReq" => Some(Self::CmdInteractPropCsReq),
            "CmdSetSpringRecoverConfigScRsp" => {
                Some(Self::CmdSetSpringRecoverConfigScRsp)
            }
            "CmdSceneReviveAfterRebattleCsReq" => {
                Some(Self::CmdSceneReviveAfterRebattleCsReq)
            }
            "CmdSceneCastSkillCsReq" => Some(Self::CmdSceneCastSkillCsReq),
            "CmdSyncServerSceneChangeNotify" => {
                Some(Self::CmdSyncServerSceneChangeNotify)
            }
            "CmdSetClientPausedScRsp" => Some(Self::CmdSetClientPausedScRsp),
            "CmdGetCurSceneInfoScRsp" => Some(Self::CmdGetCurSceneInfoScRsp),
            "CmdGetEnteredSceneCsReq" => Some(Self::CmdGetEnteredSceneCsReq),
            "CmdSceneEntityTeleportScRsp" => Some(Self::CmdSceneEntityTeleportScRsp),
            "CmdStartTimedCocoonStageCsReq" => Some(Self::CmdStartTimedCocoonStageCsReq),
            "CmdSetGroupCustomSaveDataCsReq" => {
                Some(Self::CmdSetGroupCustomSaveDataCsReq)
            }
            "CmdUpdateMechanismBarScNotify" => Some(Self::CmdUpdateMechanismBarScNotify),
            "CmdSpringRecoverCsReq" => Some(Self::CmdSpringRecoverCsReq),
            "CmdGetSceneMapInfoCsReq" => Some(Self::CmdGetSceneMapInfoCsReq),
            "CmdSavePointsInfoNotify" => Some(Self::CmdSavePointsInfoNotify),
            "CmdUpdateFloorSavedValueNotify" => {
                Some(Self::CmdUpdateFloorSavedValueNotify)
            }
            "CmdGameplayCounterUpdateScNotify" => {
                Some(Self::CmdGameplayCounterUpdateScNotify)
            }
            "CmdSceneCastSkillScRsp" => Some(Self::CmdSceneCastSkillScRsp),
            "CmdSceneCastSkillCostMpScRsp" => Some(Self::CmdSceneCastSkillCostMpScRsp),
            "CmdDeleteSummonUnitScRsp" => Some(Self::CmdDeleteSummonUnitScRsp),
            "CmdSceneGroupRefreshScNotify" => Some(Self::CmdSceneGroupRefreshScNotify),
            "CmdSceneReviveAfterRebattleScRsp" => {
                Some(Self::CmdSceneReviveAfterRebattleScRsp)
            }
            "CmdEnterSectionCsReq" => Some(Self::CmdEnterSectionCsReq),
            "CmdStartTimedCocoonStageScRsp" => Some(Self::CmdStartTimedCocoonStageScRsp),
            "CmdStartCocoonStageCsReq" => Some(Self::CmdStartCocoonStageCsReq),
            "CmdGetEnteredSceneScRsp" => Some(Self::CmdGetEnteredSceneScRsp),
            "CmdGroupStateChangeScNotify" => Some(Self::CmdGroupStateChangeScNotify),
            "CmdSceneEntityMoveCsReq" => Some(Self::CmdSceneEntityMoveCsReq),
            "CmdSpringRefreshCsReq" => Some(Self::CmdSpringRefreshCsReq),
            "CmdSceneUpdatePositionVersionNotify" => {
                Some(Self::CmdSceneUpdatePositionVersionNotify)
            }
            "CmdActivateFarmElementCsReq" => Some(Self::CmdActivateFarmElementCsReq),
            "CmdSetCurInteractEntityScRsp" => Some(Self::CmdSetCurInteractEntityScRsp),
            "CmdEnterSceneByServerScNotify" => Some(Self::CmdEnterSceneByServerScNotify),
            "CmdRefreshTriggerByClientCsReq" => {
                Some(Self::CmdRefreshTriggerByClientCsReq)
            }
            "CmdGameplayCounterRecoverScRsp" => {
                Some(Self::CmdGameplayCounterRecoverScRsp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SceneCastSkillType {
    SceneCastSkillNone = 0,
    SceneCastSkillProjectileHit = 1,
    SceneCastSkillProjectileLifetimeFinish = 2,
}
impl SceneCastSkillType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            SceneCastSkillType::SceneCastSkillNone => "SCENE_CAST_SKILL_NONE",
            SceneCastSkillType::SceneCastSkillProjectileHit => {
                "SCENE_CAST_SKILL_PROJECTILE_HIT"
            }
            SceneCastSkillType::SceneCastSkillProjectileLifetimeFinish => {
                "SCENE_CAST_SKILL_PROJECTILE_LIFETIME_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SCENE_CAST_SKILL_NONE" => Some(Self::SceneCastSkillNone),
            "SCENE_CAST_SKILL_PROJECTILE_HIT" => Some(Self::SceneCastSkillProjectileHit),
            "SCENE_CAST_SKILL_PROJECTILE_LIFETIME_FINISH" => {
                Some(Self::SceneCastSkillProjectileLifetimeFinish)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MonsterBattleType {
    None = 0,
    TriggerBattle = 1,
    DirectDieSimulateBattle = 2,
    DirectDieSkipBattle = 3,
    NoBattle = 4,
}
impl MonsterBattleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MonsterBattleType::None => "MONSTER_BATTLE_TYPE_NONE",
            MonsterBattleType::TriggerBattle => "MONSTER_BATTLE_TYPE_TRIGGER_BATTLE",
            MonsterBattleType::DirectDieSimulateBattle => {
                "MONSTER_BATTLE_TYPE_DIRECT_DIE_SIMULATE_BATTLE"
            }
            MonsterBattleType::DirectDieSkipBattle => {
                "MONSTER_BATTLE_TYPE_DIRECT_DIE_SKIP_BATTLE"
            }
            MonsterBattleType::NoBattle => "MONSTER_BATTLE_TYPE_NO_BATTLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONSTER_BATTLE_TYPE_NONE" => Some(Self::None),
            "MONSTER_BATTLE_TYPE_TRIGGER_BATTLE" => Some(Self::TriggerBattle),
            "MONSTER_BATTLE_TYPE_DIRECT_DIE_SIMULATE_BATTLE" => {
                Some(Self::DirectDieSimulateBattle)
            }
            "MONSTER_BATTLE_TYPE_DIRECT_DIE_SKIP_BATTLE" => {
                Some(Self::DirectDieSkipBattle)
            }
            "MONSTER_BATTLE_TYPE_NO_BATTLE" => Some(Self::NoBattle),
            _ => None,
        }
    }
}
#[derive(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 {
            SceneEntityBuffChangeType::Default => "SCENE_ENTITY_BUFF_CHANGE_TYPE_DEFAULT",
            SceneEntityBuffChangeType::AddMazebuff => {
                "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_MAZEBUFF"
            }
            SceneEntityBuffChangeType::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(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EnterSceneReason {
    None = 0,
    ChallengeTimeout = 1,
    RogueTimeout = 2,
    ChangeStoryline = 3,
}
impl EnterSceneReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            EnterSceneReason::None => "ENTER_SCENE_REASON_NONE",
            EnterSceneReason::ChallengeTimeout => "ENTER_SCENE_REASON_CHALLENGE_TIMEOUT",
            EnterSceneReason::RogueTimeout => "ENTER_SCENE_REASON_ROGUE_TIMEOUT",
            EnterSceneReason::ChangeStoryline => "ENTER_SCENE_REASON_CHANGE_STORYLINE",
        }
    }
    /// 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),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MapInfoChestType {
    None = 0,
    Normal = 101,
    Challenge = 102,
    Puzzle = 104,
}
impl MapInfoChestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MapInfoChestType::None => "MAP_INFO_CHEST_TYPE_NONE",
            MapInfoChestType::Normal => "MAP_INFO_CHEST_TYPE_NORMAL",
            MapInfoChestType::Challenge => "MAP_INFO_CHEST_TYPE_CHALLENGE",
            MapInfoChestType::Puzzle => "MAP_INFO_CHEST_TYPE_PUZZLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAP_INFO_CHEST_TYPE_NONE" => Some(Self::None),
            "MAP_INFO_CHEST_TYPE_NORMAL" => Some(Self::Normal),
            "MAP_INFO_CHEST_TYPE_CHALLENGE" => Some(Self::Challenge),
            "MAP_INFO_CHEST_TYPE_PUZZLE" => Some(Self::Puzzle),
            _ => None,
        }
    }
}
#[derive(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 {
            GameplayCounterUpdateReason::None => "GAMEPLAY_COUNTER_UPDATE_REASON_NONE",
            GameplayCounterUpdateReason::Activate => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_ACTIVATE"
            }
            GameplayCounterUpdateReason::Deactivate => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_DEACTIVATE"
            }
            GameplayCounterUpdateReason::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(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SceneGroupRefreshType {
    None = 0,
    Loaded = 1,
    Unload = 2,
}
impl SceneGroupRefreshType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            SceneGroupRefreshType::None => "SCENE_GROUP_REFRESH_TYPE_NONE",
            SceneGroupRefreshType::Loaded => "SCENE_GROUP_REFRESH_TYPE_LOADED",
            SceneGroupRefreshType::Unload => "SCENE_GROUP_REFRESH_TYPE_UNLOAD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SCENE_GROUP_REFRESH_TYPE_NONE" => Some(Self::None),
            "SCENE_GROUP_REFRESH_TYPE_LOADED" => Some(Self::Loaded),
            "SCENE_GROUP_REFRESH_TYPE_UNLOAD" => Some(Self::Unload),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdServerPrefsType {
    None = 0,
    CmdUpdateServerPrefsDataScRsp = 6173,
    CmdGetServerPrefsDataCsReq = 6191,
    CmdGetAllServerPrefsDataCsReq = 6161,
    CmdGetAllServerPrefsDataScRsp = 6188,
    CmdUpdateServerPrefsDataCsReq = 6139,
    CmdGetServerPrefsDataScRsp = 6120,
}
impl CmdServerPrefsType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdServerPrefsType::None => "CmdServerPrefsTypeNone",
            CmdServerPrefsType::CmdUpdateServerPrefsDataScRsp => {
                "CmdUpdateServerPrefsDataScRsp"
            }
            CmdServerPrefsType::CmdGetServerPrefsDataCsReq => {
                "CmdGetServerPrefsDataCsReq"
            }
            CmdServerPrefsType::CmdGetAllServerPrefsDataCsReq => {
                "CmdGetAllServerPrefsDataCsReq"
            }
            CmdServerPrefsType::CmdGetAllServerPrefsDataScRsp => {
                "CmdGetAllServerPrefsDataScRsp"
            }
            CmdServerPrefsType::CmdUpdateServerPrefsDataCsReq => {
                "CmdUpdateServerPrefsDataCsReq"
            }
            CmdServerPrefsType::CmdGetServerPrefsDataScRsp => {
                "CmdGetServerPrefsDataScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdServerPrefsTypeNone" => Some(Self::None),
            "CmdUpdateServerPrefsDataScRsp" => Some(Self::CmdUpdateServerPrefsDataScRsp),
            "CmdGetServerPrefsDataCsReq" => Some(Self::CmdGetServerPrefsDataCsReq),
            "CmdGetAllServerPrefsDataCsReq" => Some(Self::CmdGetAllServerPrefsDataCsReq),
            "CmdGetAllServerPrefsDataScRsp" => Some(Self::CmdGetAllServerPrefsDataScRsp),
            "CmdUpdateServerPrefsDataCsReq" => Some(Self::CmdUpdateServerPrefsDataCsReq),
            "CmdGetServerPrefsDataScRsp" => Some(Self::CmdGetServerPrefsDataScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdShopType {
    None = 0,
    CmdTakeCityShopRewardScRsp = 1573,
    CmdCityShopInfoScNotify = 1530,
    CmdBuyGoodsScRsp = 1520,
    CmdTakeCityShopRewardCsReq = 1539,
    CmdGetShopListCsReq = 1561,
    CmdBuyGoodsCsReq = 1591,
    CmdGetShopListScRsp = 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 {
            CmdShopType::None => "CmdShopTypeNone",
            CmdShopType::CmdTakeCityShopRewardScRsp => "CmdTakeCityShopRewardScRsp",
            CmdShopType::CmdCityShopInfoScNotify => "CmdCityShopInfoScNotify",
            CmdShopType::CmdBuyGoodsScRsp => "CmdBuyGoodsScRsp",
            CmdShopType::CmdTakeCityShopRewardCsReq => "CmdTakeCityShopRewardCsReq",
            CmdShopType::CmdGetShopListCsReq => "CmdGetShopListCsReq",
            CmdShopType::CmdBuyGoodsCsReq => "CmdBuyGoodsCsReq",
            CmdShopType::CmdGetShopListScRsp => "CmdGetShopListScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdShopTypeNone" => Some(Self::None),
            "CmdTakeCityShopRewardScRsp" => Some(Self::CmdTakeCityShopRewardScRsp),
            "CmdCityShopInfoScNotify" => Some(Self::CmdCityShopInfoScNotify),
            "CmdBuyGoodsScRsp" => Some(Self::CmdBuyGoodsScRsp),
            "CmdTakeCityShopRewardCsReq" => Some(Self::CmdTakeCityShopRewardCsReq),
            "CmdGetShopListCsReq" => Some(Self::CmdGetShopListCsReq),
            "CmdBuyGoodsCsReq" => Some(Self::CmdBuyGoodsCsReq),
            "CmdGetShopListScRsp" => Some(Self::CmdGetShopListScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSpaceZooType {
    None = 0,
    CmdSpaceZooBornScRsp = 6720,
    CmdSpaceZooExchangeItemScRsp = 6747,
    CmdSpaceZooMutateScRsp = 6773,
    CmdSpaceZooMutateCsReq = 6739,
    CmdSpaceZooDataCsReq = 6761,
    CmdSpaceZooTakeCsReq = 6794,
    CmdSpaceZooOpCatteryCsReq = 6730,
    CmdSpaceZooOpCatteryScRsp = 6771,
    CmdSpaceZooDataScRsp = 6788,
    CmdSpaceZooBornCsReq = 6791,
    CmdSpaceZooTakeScRsp = 6796,
    CmdSpaceZooDeleteCatScRsp = 6727,
    CmdSpaceZooDeleteCatCsReq = 6787,
    CmdSpaceZooCatUpdateNotify = 6762,
    CmdSpaceZooExchangeItemCsReq = 6774,
}
impl CmdSpaceZooType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdSpaceZooType::None => "CmdSpaceZooTypeNone",
            CmdSpaceZooType::CmdSpaceZooBornScRsp => "CmdSpaceZooBornScRsp",
            CmdSpaceZooType::CmdSpaceZooExchangeItemScRsp => {
                "CmdSpaceZooExchangeItemScRsp"
            }
            CmdSpaceZooType::CmdSpaceZooMutateScRsp => "CmdSpaceZooMutateScRsp",
            CmdSpaceZooType::CmdSpaceZooMutateCsReq => "CmdSpaceZooMutateCsReq",
            CmdSpaceZooType::CmdSpaceZooDataCsReq => "CmdSpaceZooDataCsReq",
            CmdSpaceZooType::CmdSpaceZooTakeCsReq => "CmdSpaceZooTakeCsReq",
            CmdSpaceZooType::CmdSpaceZooOpCatteryCsReq => "CmdSpaceZooOpCatteryCsReq",
            CmdSpaceZooType::CmdSpaceZooOpCatteryScRsp => "CmdSpaceZooOpCatteryScRsp",
            CmdSpaceZooType::CmdSpaceZooDataScRsp => "CmdSpaceZooDataScRsp",
            CmdSpaceZooType::CmdSpaceZooBornCsReq => "CmdSpaceZooBornCsReq",
            CmdSpaceZooType::CmdSpaceZooTakeScRsp => "CmdSpaceZooTakeScRsp",
            CmdSpaceZooType::CmdSpaceZooDeleteCatScRsp => "CmdSpaceZooDeleteCatScRsp",
            CmdSpaceZooType::CmdSpaceZooDeleteCatCsReq => "CmdSpaceZooDeleteCatCsReq",
            CmdSpaceZooType::CmdSpaceZooCatUpdateNotify => "CmdSpaceZooCatUpdateNotify",
            CmdSpaceZooType::CmdSpaceZooExchangeItemCsReq => {
                "CmdSpaceZooExchangeItemCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSpaceZooTypeNone" => Some(Self::None),
            "CmdSpaceZooBornScRsp" => Some(Self::CmdSpaceZooBornScRsp),
            "CmdSpaceZooExchangeItemScRsp" => Some(Self::CmdSpaceZooExchangeItemScRsp),
            "CmdSpaceZooMutateScRsp" => Some(Self::CmdSpaceZooMutateScRsp),
            "CmdSpaceZooMutateCsReq" => Some(Self::CmdSpaceZooMutateCsReq),
            "CmdSpaceZooDataCsReq" => Some(Self::CmdSpaceZooDataCsReq),
            "CmdSpaceZooTakeCsReq" => Some(Self::CmdSpaceZooTakeCsReq),
            "CmdSpaceZooOpCatteryCsReq" => Some(Self::CmdSpaceZooOpCatteryCsReq),
            "CmdSpaceZooOpCatteryScRsp" => Some(Self::CmdSpaceZooOpCatteryScRsp),
            "CmdSpaceZooDataScRsp" => Some(Self::CmdSpaceZooDataScRsp),
            "CmdSpaceZooBornCsReq" => Some(Self::CmdSpaceZooBornCsReq),
            "CmdSpaceZooTakeScRsp" => Some(Self::CmdSpaceZooTakeScRsp),
            "CmdSpaceZooDeleteCatScRsp" => Some(Self::CmdSpaceZooDeleteCatScRsp),
            "CmdSpaceZooDeleteCatCsReq" => Some(Self::CmdSpaceZooDeleteCatCsReq),
            "CmdSpaceZooCatUpdateNotify" => Some(Self::CmdSpaceZooCatUpdateNotify),
            "CmdSpaceZooExchangeItemCsReq" => Some(Self::CmdSpaceZooExchangeItemCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStarFightType {
    None = 0,
    CmdStartStarFightLevelCsReq = 7164,
    CmdGetStarFightDataScRsp = 7161,
    CmdStarFightDataChangeNotify = 7166,
    CmdStartStarFightLevelScRsp = 7165,
    CmdGetStarFightDataCsReq = 7168,
}
impl CmdStarFightType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdStarFightType::None => "CmdStarFightTypeNone",
            CmdStarFightType::CmdStartStarFightLevelCsReq => {
                "CmdStartStarFightLevelCsReq"
            }
            CmdStarFightType::CmdGetStarFightDataScRsp => "CmdGetStarFightDataScRsp",
            CmdStarFightType::CmdStarFightDataChangeNotify => {
                "CmdStarFightDataChangeNotify"
            }
            CmdStarFightType::CmdStartStarFightLevelScRsp => {
                "CmdStartStarFightLevelScRsp"
            }
            CmdStarFightType::CmdGetStarFightDataCsReq => "CmdGetStarFightDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStarFightTypeNone" => Some(Self::None),
            "CmdStartStarFightLevelCsReq" => Some(Self::CmdStartStarFightLevelCsReq),
            "CmdGetStarFightDataScRsp" => Some(Self::CmdGetStarFightDataScRsp),
            "CmdStarFightDataChangeNotify" => Some(Self::CmdStarFightDataChangeNotify),
            "CmdStartStarFightLevelScRsp" => Some(Self::CmdStartStarFightLevelScRsp),
            "CmdGetStarFightDataCsReq" => Some(Self::CmdGetStarFightDataCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStoryLineType {
    None = 0,
    CmdGetStoryLineInfoScRsp = 6288,
    CmdChangeStoryLineFinishScNotify = 6273,
    CmdStoryLineInfoScNotify = 6291,
    CmdGetStoryLineInfoCsReq = 6261,
    CmdStoryLineTrialAvatarChangeScNotify = 6230,
}
impl CmdStoryLineType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdStoryLineType::None => "CmdStoryLineTypeNone",
            CmdStoryLineType::CmdGetStoryLineInfoScRsp => "CmdGetStoryLineInfoScRsp",
            CmdStoryLineType::CmdChangeStoryLineFinishScNotify => {
                "CmdChangeStoryLineFinishScNotify"
            }
            CmdStoryLineType::CmdStoryLineInfoScNotify => "CmdStoryLineInfoScNotify",
            CmdStoryLineType::CmdGetStoryLineInfoCsReq => "CmdGetStoryLineInfoCsReq",
            CmdStoryLineType::CmdStoryLineTrialAvatarChangeScNotify => {
                "CmdStoryLineTrialAvatarChangeScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStoryLineTypeNone" => Some(Self::None),
            "CmdGetStoryLineInfoScRsp" => Some(Self::CmdGetStoryLineInfoScRsp),
            "CmdChangeStoryLineFinishScNotify" => {
                Some(Self::CmdChangeStoryLineFinishScNotify)
            }
            "CmdStoryLineInfoScNotify" => Some(Self::CmdStoryLineInfoScNotify),
            "CmdGetStoryLineInfoCsReq" => Some(Self::CmdGetStoryLineInfoCsReq),
            "CmdStoryLineTrialAvatarChangeScNotify" => {
                Some(Self::CmdStoryLineTrialAvatarChangeScNotify)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nglajaapjdn {
    ChangeStoryLineActionNone = 0,
    ChangeStoryLineActionFinishAction = 1,
    ChangeStoryLineActionClient = 2,
    ChangeStoryLineActionCustomOp = 3,
}
impl Nglajaapjdn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nglajaapjdn::ChangeStoryLineActionNone => "ChangeStoryLineAction_None",
            Nglajaapjdn::ChangeStoryLineActionFinishAction => {
                "ChangeStoryLineAction_FinishAction"
            }
            Nglajaapjdn::ChangeStoryLineActionClient => "ChangeStoryLineAction_Client",
            Nglajaapjdn::ChangeStoryLineActionCustomOp => {
                "ChangeStoryLineAction_CustomOP"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ChangeStoryLineAction_None" => Some(Self::ChangeStoryLineActionNone),
            "ChangeStoryLineAction_FinishAction" => {
                Some(Self::ChangeStoryLineActionFinishAction)
            }
            "ChangeStoryLineAction_Client" => Some(Self::ChangeStoryLineActionClient),
            "ChangeStoryLineAction_CustomOP" => Some(Self::ChangeStoryLineActionCustomOp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStrongChallengeActivityType {
    None = 0,
    CmdEnterStrongChallengeActivityStageScRsp = 6620,
    CmdGetStrongChallengeActivityDataCsReq = 6661,
    CmdStrongChallengeActivityBattleEndScNotify = 6639,
    CmdGetStrongChallengeActivityDataScRsp = 6688,
    CmdEnterStrongChallengeActivityStageCsReq = 6691,
}
impl CmdStrongChallengeActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdStrongChallengeActivityType::None => "CmdStrongChallengeActivityTypeNone",
            CmdStrongChallengeActivityType::CmdEnterStrongChallengeActivityStageScRsp => {
                "CmdEnterStrongChallengeActivityStageScRsp"
            }
            CmdStrongChallengeActivityType::CmdGetStrongChallengeActivityDataCsReq => {
                "CmdGetStrongChallengeActivityDataCsReq"
            }
            CmdStrongChallengeActivityType::CmdStrongChallengeActivityBattleEndScNotify => {
                "CmdStrongChallengeActivityBattleEndScNotify"
            }
            CmdStrongChallengeActivityType::CmdGetStrongChallengeActivityDataScRsp => {
                "CmdGetStrongChallengeActivityDataScRsp"
            }
            CmdStrongChallengeActivityType::CmdEnterStrongChallengeActivityStageCsReq => {
                "CmdEnterStrongChallengeActivityStageCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStrongChallengeActivityTypeNone" => Some(Self::None),
            "CmdEnterStrongChallengeActivityStageScRsp" => {
                Some(Self::CmdEnterStrongChallengeActivityStageScRsp)
            }
            "CmdGetStrongChallengeActivityDataCsReq" => {
                Some(Self::CmdGetStrongChallengeActivityDataCsReq)
            }
            "CmdStrongChallengeActivityBattleEndScNotify" => {
                Some(Self::CmdStrongChallengeActivityBattleEndScNotify)
            }
            "CmdGetStrongChallengeActivityDataScRsp" => {
                Some(Self::CmdGetStrongChallengeActivityDataScRsp)
            }
            "CmdEnterStrongChallengeActivityStageCsReq" => {
                Some(Self::CmdEnterStrongChallengeActivityStageCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerSync {
    None = 0,
    ScNotify = 661,
}
impl CmdPlayerSync {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlayerSync::None => "CmdPlayerSyncNone",
            CmdPlayerSync::ScNotify => "CmdPlayerSyncScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerSyncNone" => Some(Self::None),
            "CmdPlayerSyncScNotify" => Some(Self::ScNotify),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTalkRewardType {
    None = 0,
    CmdGetNpcTakenRewardCsReq = 2161,
    CmdFinishFirstTalkByPerformanceNpcCsReq = 2147,
    CmdFinishFirstTalkNpcScRsp = 2171,
    CmdTakeTalkRewardScRsp = 2120,
    CmdGetFirstTalkByPerformanceNpcCsReq = 2162,
    CmdTakeTalkRewardCsReq = 2191,
    CmdFinishFirstTalkNpcCsReq = 2130,
    CmdGetNpcTakenRewardScRsp = 2188,
    CmdSelectInclinationTextCsReq = 2187,
    CmdSelectInclinationTextScRsp = 2127,
    CmdFinishFirstTalkByPerformanceNpcScRsp = 2194,
    CmdGetFirstTalkNpcScRsp = 2173,
    CmdGetFirstTalkByPerformanceNpcScRsp = 2174,
    CmdGetFirstTalkNpcCsReq = 2139,
}
impl CmdTalkRewardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTalkRewardType::None => "CmdTalkRewardTypeNone",
            CmdTalkRewardType::CmdGetNpcTakenRewardCsReq => "CmdGetNpcTakenRewardCsReq",
            CmdTalkRewardType::CmdFinishFirstTalkByPerformanceNpcCsReq => {
                "CmdFinishFirstTalkByPerformanceNpcCsReq"
            }
            CmdTalkRewardType::CmdFinishFirstTalkNpcScRsp => "CmdFinishFirstTalkNpcScRsp",
            CmdTalkRewardType::CmdTakeTalkRewardScRsp => "CmdTakeTalkRewardScRsp",
            CmdTalkRewardType::CmdGetFirstTalkByPerformanceNpcCsReq => {
                "CmdGetFirstTalkByPerformanceNpcCsReq"
            }
            CmdTalkRewardType::CmdTakeTalkRewardCsReq => "CmdTakeTalkRewardCsReq",
            CmdTalkRewardType::CmdFinishFirstTalkNpcCsReq => "CmdFinishFirstTalkNpcCsReq",
            CmdTalkRewardType::CmdGetNpcTakenRewardScRsp => "CmdGetNpcTakenRewardScRsp",
            CmdTalkRewardType::CmdSelectInclinationTextCsReq => {
                "CmdSelectInclinationTextCsReq"
            }
            CmdTalkRewardType::CmdSelectInclinationTextScRsp => {
                "CmdSelectInclinationTextScRsp"
            }
            CmdTalkRewardType::CmdFinishFirstTalkByPerformanceNpcScRsp => {
                "CmdFinishFirstTalkByPerformanceNpcScRsp"
            }
            CmdTalkRewardType::CmdGetFirstTalkNpcScRsp => "CmdGetFirstTalkNpcScRsp",
            CmdTalkRewardType::CmdGetFirstTalkByPerformanceNpcScRsp => {
                "CmdGetFirstTalkByPerformanceNpcScRsp"
            }
            CmdTalkRewardType::CmdGetFirstTalkNpcCsReq => "CmdGetFirstTalkNpcCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTalkRewardTypeNone" => Some(Self::None),
            "CmdGetNpcTakenRewardCsReq" => Some(Self::CmdGetNpcTakenRewardCsReq),
            "CmdFinishFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcCsReq)
            }
            "CmdFinishFirstTalkNpcScRsp" => Some(Self::CmdFinishFirstTalkNpcScRsp),
            "CmdTakeTalkRewardScRsp" => Some(Self::CmdTakeTalkRewardScRsp),
            "CmdGetFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcCsReq)
            }
            "CmdTakeTalkRewardCsReq" => Some(Self::CmdTakeTalkRewardCsReq),
            "CmdFinishFirstTalkNpcCsReq" => Some(Self::CmdFinishFirstTalkNpcCsReq),
            "CmdGetNpcTakenRewardScRsp" => Some(Self::CmdGetNpcTakenRewardScRsp),
            "CmdSelectInclinationTextCsReq" => Some(Self::CmdSelectInclinationTextCsReq),
            "CmdSelectInclinationTextScRsp" => Some(Self::CmdSelectInclinationTextScRsp),
            "CmdFinishFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcScRsp)
            }
            "CmdGetFirstTalkNpcScRsp" => Some(Self::CmdGetFirstTalkNpcScRsp),
            "CmdGetFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcScRsp)
            }
            "CmdGetFirstTalkNpcCsReq" => Some(Self::CmdGetFirstTalkNpcCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTelevisionActivityType {
    None = 0,
    CmdTelevisionActivityDataChangeScNotify = 6967,
    CmdEnterTelevisionActivityStageCsReq = 6963,
    CmdGetTelevisionActivityDataScRsp = 6962,
    CmdTelevisionActivityBattleEndScNotify = 6974,
    CmdEnterTelevisionActivityStageScRsp = 6979,
    CmdGetTelevisionActivityDataCsReq = 6969,
}
impl CmdTelevisionActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTelevisionActivityType::None => "CmdTelevisionActivityTypeNone",
            CmdTelevisionActivityType::CmdTelevisionActivityDataChangeScNotify => {
                "CmdTelevisionActivityDataChangeScNotify"
            }
            CmdTelevisionActivityType::CmdEnterTelevisionActivityStageCsReq => {
                "CmdEnterTelevisionActivityStageCsReq"
            }
            CmdTelevisionActivityType::CmdGetTelevisionActivityDataScRsp => {
                "CmdGetTelevisionActivityDataScRsp"
            }
            CmdTelevisionActivityType::CmdTelevisionActivityBattleEndScNotify => {
                "CmdTelevisionActivityBattleEndScNotify"
            }
            CmdTelevisionActivityType::CmdEnterTelevisionActivityStageScRsp => {
                "CmdEnterTelevisionActivityStageScRsp"
            }
            CmdTelevisionActivityType::CmdGetTelevisionActivityDataCsReq => {
                "CmdGetTelevisionActivityDataCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTelevisionActivityTypeNone" => Some(Self::None),
            "CmdTelevisionActivityDataChangeScNotify" => {
                Some(Self::CmdTelevisionActivityDataChangeScNotify)
            }
            "CmdEnterTelevisionActivityStageCsReq" => {
                Some(Self::CmdEnterTelevisionActivityStageCsReq)
            }
            "CmdGetTelevisionActivityDataScRsp" => {
                Some(Self::CmdGetTelevisionActivityDataScRsp)
            }
            "CmdTelevisionActivityBattleEndScNotify" => {
                Some(Self::CmdTelevisionActivityBattleEndScNotify)
            }
            "CmdEnterTelevisionActivityStageScRsp" => {
                Some(Self::CmdEnterTelevisionActivityStageScRsp)
            }
            "CmdGetTelevisionActivityDataCsReq" => {
                Some(Self::CmdGetTelevisionActivityDataCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTextJoinType {
    None = 0,
    CmdTextJoinSaveCsReq = 3861,
    CmdTextJoinBatchSaveScRsp = 3873,
    CmdTextJoinQueryScRsp = 3820,
    CmdTextJoinQueryCsReq = 3891,
    CmdTextJoinBatchSaveCsReq = 3839,
    CmdTextJoinSaveScRsp = 3888,
}
impl CmdTextJoinType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTextJoinType::None => "CmdTextJoinTypeNone",
            CmdTextJoinType::CmdTextJoinSaveCsReq => "CmdTextJoinSaveCsReq",
            CmdTextJoinType::CmdTextJoinBatchSaveScRsp => "CmdTextJoinBatchSaveScRsp",
            CmdTextJoinType::CmdTextJoinQueryScRsp => "CmdTextJoinQueryScRsp",
            CmdTextJoinType::CmdTextJoinQueryCsReq => "CmdTextJoinQueryCsReq",
            CmdTextJoinType::CmdTextJoinBatchSaveCsReq => "CmdTextJoinBatchSaveCsReq",
            CmdTextJoinType::CmdTextJoinSaveScRsp => "CmdTextJoinSaveScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTextJoinTypeNone" => Some(Self::None),
            "CmdTextJoinSaveCsReq" => Some(Self::CmdTextJoinSaveCsReq),
            "CmdTextJoinBatchSaveScRsp" => Some(Self::CmdTextJoinBatchSaveScRsp),
            "CmdTextJoinQueryScRsp" => Some(Self::CmdTextJoinQueryScRsp),
            "CmdTextJoinQueryCsReq" => Some(Self::CmdTextJoinQueryCsReq),
            "CmdTextJoinBatchSaveCsReq" => Some(Self::CmdTextJoinBatchSaveCsReq),
            "CmdTextJoinSaveScRsp" => Some(Self::CmdTextJoinSaveScRsp),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainVisitorType {
    None = 0,
    CmdTakeTrainVisitorUntakenBehaviorRewardScRsp = 3727,
    CmdShowNewSupplementVisitorCsReq = 3762,
    CmdGetTrainVisitorBehaviorScRsp = 3720,
    CmdTrainVisitorRewardSendNotify = 3773,
    CmdGetTrainVisitorRegisterCsReq = 3730,
    CmdTrainVisitorBehaviorFinishScRsp = 3788,
    CmdTakeTrainVisitorUntakenBehaviorRewardCsReq = 3787,
    CmdGetTrainVisitorBehaviorCsReq = 3791,
    CmdShowNewSupplementVisitorScRsp = 3774,
    CmdTrainRefreshTimeNotify = 3739,
    CmdTrainVisitorBehaviorFinishCsReq = 3761,
    CmdGetTrainVisitorRegisterScRsp = 3771,
}
impl CmdTrainVisitorType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTrainVisitorType::None => "CmdTrainVisitorTypeNone",
            CmdTrainVisitorType::CmdTakeTrainVisitorUntakenBehaviorRewardScRsp => {
                "CmdTakeTrainVisitorUntakenBehaviorRewardScRsp"
            }
            CmdTrainVisitorType::CmdShowNewSupplementVisitorCsReq => {
                "CmdShowNewSupplementVisitorCsReq"
            }
            CmdTrainVisitorType::CmdGetTrainVisitorBehaviorScRsp => {
                "CmdGetTrainVisitorBehaviorScRsp"
            }
            CmdTrainVisitorType::CmdTrainVisitorRewardSendNotify => {
                "CmdTrainVisitorRewardSendNotify"
            }
            CmdTrainVisitorType::CmdGetTrainVisitorRegisterCsReq => {
                "CmdGetTrainVisitorRegisterCsReq"
            }
            CmdTrainVisitorType::CmdTrainVisitorBehaviorFinishScRsp => {
                "CmdTrainVisitorBehaviorFinishScRsp"
            }
            CmdTrainVisitorType::CmdTakeTrainVisitorUntakenBehaviorRewardCsReq => {
                "CmdTakeTrainVisitorUntakenBehaviorRewardCsReq"
            }
            CmdTrainVisitorType::CmdGetTrainVisitorBehaviorCsReq => {
                "CmdGetTrainVisitorBehaviorCsReq"
            }
            CmdTrainVisitorType::CmdShowNewSupplementVisitorScRsp => {
                "CmdShowNewSupplementVisitorScRsp"
            }
            CmdTrainVisitorType::CmdTrainRefreshTimeNotify => "CmdTrainRefreshTimeNotify",
            CmdTrainVisitorType::CmdTrainVisitorBehaviorFinishCsReq => {
                "CmdTrainVisitorBehaviorFinishCsReq"
            }
            CmdTrainVisitorType::CmdGetTrainVisitorRegisterScRsp => {
                "CmdGetTrainVisitorRegisterScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTrainVisitorTypeNone" => Some(Self::None),
            "CmdTakeTrainVisitorUntakenBehaviorRewardScRsp" => {
                Some(Self::CmdTakeTrainVisitorUntakenBehaviorRewardScRsp)
            }
            "CmdShowNewSupplementVisitorCsReq" => {
                Some(Self::CmdShowNewSupplementVisitorCsReq)
            }
            "CmdGetTrainVisitorBehaviorScRsp" => {
                Some(Self::CmdGetTrainVisitorBehaviorScRsp)
            }
            "CmdTrainVisitorRewardSendNotify" => {
                Some(Self::CmdTrainVisitorRewardSendNotify)
            }
            "CmdGetTrainVisitorRegisterCsReq" => {
                Some(Self::CmdGetTrainVisitorRegisterCsReq)
            }
            "CmdTrainVisitorBehaviorFinishScRsp" => {
                Some(Self::CmdTrainVisitorBehaviorFinishScRsp)
            }
            "CmdTakeTrainVisitorUntakenBehaviorRewardCsReq" => {
                Some(Self::CmdTakeTrainVisitorUntakenBehaviorRewardCsReq)
            }
            "CmdGetTrainVisitorBehaviorCsReq" => {
                Some(Self::CmdGetTrainVisitorBehaviorCsReq)
            }
            "CmdShowNewSupplementVisitorScRsp" => {
                Some(Self::CmdShowNewSupplementVisitorScRsp)
            }
            "CmdTrainRefreshTimeNotify" => Some(Self::CmdTrainRefreshTimeNotify),
            "CmdTrainVisitorBehaviorFinishCsReq" => {
                Some(Self::CmdTrainVisitorBehaviorFinishCsReq)
            }
            "CmdGetTrainVisitorRegisterScRsp" => {
                Some(Self::CmdGetTrainVisitorRegisterScRsp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainVisitorRewardSendType {
    TrainVisitorRewardSendNone = 0,
    TrainVisitorRewardSendRegister = 1,
    TrainVisitorRewardSendMission = 2,
}
impl TrainVisitorRewardSendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TrainVisitorRewardSendType::TrainVisitorRewardSendNone => {
                "TRAIN_VISITOR_REWARD_SEND_NONE"
            }
            TrainVisitorRewardSendType::TrainVisitorRewardSendRegister => {
                "TRAIN_VISITOR_REWARD_SEND_REGISTER"
            }
            TrainVisitorRewardSendType::TrainVisitorRewardSendMission => {
                "TRAIN_VISITOR_REWARD_SEND_MISSION"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_REWARD_SEND_NONE" => Some(Self::TrainVisitorRewardSendNone),
            "TRAIN_VISITOR_REWARD_SEND_REGISTER" => {
                Some(Self::TrainVisitorRewardSendRegister)
            }
            "TRAIN_VISITOR_REWARD_SEND_MISSION" => {
                Some(Self::TrainVisitorRewardSendMission)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainVisitorStatus {
    None = 0,
    Init = 1,
    GetOn = 2,
    GetOff = 3,
}
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 {
            TrainVisitorStatus::None => "TRAIN_VISITOR_STATUS_NONE",
            TrainVisitorStatus::Init => "TRAIN_VISITOR_STATUS_INIT",
            TrainVisitorStatus::GetOn => "TRAIN_VISITOR_STATUS_GET_ON",
            TrainVisitorStatus::GetOff => "TRAIN_VISITOR_STATUS_GET_OFF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_STATUS_NONE" => Some(Self::None),
            "TRAIN_VISITOR_STATUS_INIT" => Some(Self::Init),
            "TRAIN_VISITOR_STATUS_GET_ON" => Some(Self::GetOn),
            "TRAIN_VISITOR_STATUS_GET_OFF" => Some(Self::GetOff),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainVisitorRegisterGetType {
    None = 0,
    Auto = 1,
    Manual = 2,
}
impl TrainVisitorRegisterGetType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TrainVisitorRegisterGetType::None => "TRAIN_VISITOR_REGISTER_GET_TYPE_NONE",
            TrainVisitorRegisterGetType::Auto => "TRAIN_VISITOR_REGISTER_GET_TYPE_AUTO",
            TrainVisitorRegisterGetType::Manual => {
                "TRAIN_VISITOR_REGISTER_GET_TYPE_MANUAL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_REGISTER_GET_TYPE_NONE" => Some(Self::None),
            "TRAIN_VISITOR_REGISTER_GET_TYPE_AUTO" => Some(Self::Auto),
            "TRAIN_VISITOR_REGISTER_GET_TYPE_MANUAL" => Some(Self::Manual),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTravelBrochureType {
    CmdTravelBrochureNone = 0,
    CmdTravelBrochureUpdatePasterPosCsReq = 6462,
    CmdTravelBrochurePageUnlockScNotify = 6491,
    CmdTravelBrochureSetCustomValueScRsp = 6421,
    CmdTravelBrochureApplyPasterScRsp = 6471,
    CmdTravelBrochureGetPasterScNotify = 6447,
    CmdTravelBrochureSetPageDescStatusScRsp = 6403,
    CmdTravelBrochureSetPageDescStatusCsReq = 6482,
    CmdTravelBrochureGetDataScRsp = 6488,
    CmdTravelBrochureApplyPasterCsReq = 6430,
    CmdTravelBrochureRemovePasterCsReq = 6487,
    CmdTravelBrochureSelectMessageScRsp = 6473,
    CmdTravelBrochurePageResetScRsp = 6456,
    CmdTravelBrochureApplyPasterListCsReq = 6449,
    CmdTravelBrochureSelectMessageCsReq = 6439,
    CmdTravelBrochureUpdatePasterPosScRsp = 6474,
    CmdTravelBrochureRemovePasterScRsp = 6427,
    CmdTravelBrochurePageResetCsReq = 6470,
    CmdTravelBrochureSetCustomValueCsReq = 6496,
    CmdTravelBrochureGetDataCsReq = 6461,
    CmdTravelBrochureApplyPasterListScRsp = 6451,
}
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 {
            CmdTravelBrochureType::CmdTravelBrochureNone => "CmdTravelBrochureNone",
            CmdTravelBrochureType::CmdTravelBrochureUpdatePasterPosCsReq => {
                "CmdTravelBrochureUpdatePasterPosCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochurePageUnlockScNotify => {
                "CmdTravelBrochurePageUnlockScNotify"
            }
            CmdTravelBrochureType::CmdTravelBrochureSetCustomValueScRsp => {
                "CmdTravelBrochureSetCustomValueScRsp"
            }
            CmdTravelBrochureType::CmdTravelBrochureApplyPasterScRsp => {
                "CmdTravelBrochureApplyPasterScRsp"
            }
            CmdTravelBrochureType::CmdTravelBrochureGetPasterScNotify => {
                "CmdTravelBrochureGetPasterScNotify"
            }
            CmdTravelBrochureType::CmdTravelBrochureSetPageDescStatusScRsp => {
                "CmdTravelBrochureSetPageDescStatusScRsp"
            }
            CmdTravelBrochureType::CmdTravelBrochureSetPageDescStatusCsReq => {
                "CmdTravelBrochureSetPageDescStatusCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochureGetDataScRsp => {
                "CmdTravelBrochureGetDataScRsp"
            }
            CmdTravelBrochureType::CmdTravelBrochureApplyPasterCsReq => {
                "CmdTravelBrochureApplyPasterCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochureRemovePasterCsReq => {
                "CmdTravelBrochureRemovePasterCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochureSelectMessageScRsp => {
                "CmdTravelBrochureSelectMessageScRsp"
            }
            CmdTravelBrochureType::CmdTravelBrochurePageResetScRsp => {
                "CmdTravelBrochurePageResetScRsp"
            }
            CmdTravelBrochureType::CmdTravelBrochureApplyPasterListCsReq => {
                "CmdTravelBrochureApplyPasterListCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochureSelectMessageCsReq => {
                "CmdTravelBrochureSelectMessageCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochureUpdatePasterPosScRsp => {
                "CmdTravelBrochureUpdatePasterPosScRsp"
            }
            CmdTravelBrochureType::CmdTravelBrochureRemovePasterScRsp => {
                "CmdTravelBrochureRemovePasterScRsp"
            }
            CmdTravelBrochureType::CmdTravelBrochurePageResetCsReq => {
                "CmdTravelBrochurePageResetCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochureSetCustomValueCsReq => {
                "CmdTravelBrochureSetCustomValueCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochureGetDataCsReq => {
                "CmdTravelBrochureGetDataCsReq"
            }
            CmdTravelBrochureType::CmdTravelBrochureApplyPasterListScRsp => {
                "CmdTravelBrochureApplyPasterListScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTravelBrochureNone" => Some(Self::CmdTravelBrochureNone),
            "CmdTravelBrochureUpdatePasterPosCsReq" => {
                Some(Self::CmdTravelBrochureUpdatePasterPosCsReq)
            }
            "CmdTravelBrochurePageUnlockScNotify" => {
                Some(Self::CmdTravelBrochurePageUnlockScNotify)
            }
            "CmdTravelBrochureSetCustomValueScRsp" => {
                Some(Self::CmdTravelBrochureSetCustomValueScRsp)
            }
            "CmdTravelBrochureApplyPasterScRsp" => {
                Some(Self::CmdTravelBrochureApplyPasterScRsp)
            }
            "CmdTravelBrochureGetPasterScNotify" => {
                Some(Self::CmdTravelBrochureGetPasterScNotify)
            }
            "CmdTravelBrochureSetPageDescStatusScRsp" => {
                Some(Self::CmdTravelBrochureSetPageDescStatusScRsp)
            }
            "CmdTravelBrochureSetPageDescStatusCsReq" => {
                Some(Self::CmdTravelBrochureSetPageDescStatusCsReq)
            }
            "CmdTravelBrochureGetDataScRsp" => Some(Self::CmdTravelBrochureGetDataScRsp),
            "CmdTravelBrochureApplyPasterCsReq" => {
                Some(Self::CmdTravelBrochureApplyPasterCsReq)
            }
            "CmdTravelBrochureRemovePasterCsReq" => {
                Some(Self::CmdTravelBrochureRemovePasterCsReq)
            }
            "CmdTravelBrochureSelectMessageScRsp" => {
                Some(Self::CmdTravelBrochureSelectMessageScRsp)
            }
            "CmdTravelBrochurePageResetScRsp" => {
                Some(Self::CmdTravelBrochurePageResetScRsp)
            }
            "CmdTravelBrochureApplyPasterListCsReq" => {
                Some(Self::CmdTravelBrochureApplyPasterListCsReq)
            }
            "CmdTravelBrochureSelectMessageCsReq" => {
                Some(Self::CmdTravelBrochureSelectMessageCsReq)
            }
            "CmdTravelBrochureUpdatePasterPosScRsp" => {
                Some(Self::CmdTravelBrochureUpdatePasterPosScRsp)
            }
            "CmdTravelBrochureRemovePasterScRsp" => {
                Some(Self::CmdTravelBrochureRemovePasterScRsp)
            }
            "CmdTravelBrochurePageResetCsReq" => {
                Some(Self::CmdTravelBrochurePageResetCsReq)
            }
            "CmdTravelBrochureSetCustomValueCsReq" => {
                Some(Self::CmdTravelBrochureSetCustomValueCsReq)
            }
            "CmdTravelBrochureGetDataCsReq" => Some(Self::CmdTravelBrochureGetDataCsReq),
            "CmdTravelBrochureApplyPasterListScRsp" => {
                Some(Self::CmdTravelBrochureApplyPasterListScRsp)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TravelBrochurePageStatus {
    PageNone = 0,
    PageUnlocked = 1,
    PageInteracted = 2,
}
impl TravelBrochurePageStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TravelBrochurePageStatus::PageNone => "PAGE_NONE",
            TravelBrochurePageStatus::PageUnlocked => "PAGE_UNLOCKED",
            TravelBrochurePageStatus::PageInteracted => "PAGE_INTERACTED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAGE_NONE" => Some(Self::PageNone),
            "PAGE_UNLOCKED" => Some(Self::PageUnlocked),
            "PAGE_INTERACTED" => Some(Self::PageInteracted),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cmdahlbmklc {
    PageDescNone = 0,
    PageDescShowDetail = 1,
    PageDescCollapse = 2,
}
impl Cmdahlbmklc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cmdahlbmklc::PageDescNone => "PAGE_DESC_NONE",
            Cmdahlbmklc::PageDescShowDetail => "PAGE_DESC_SHOW_DETAIL",
            Cmdahlbmklc::PageDescCollapse => "PAGE_DESC_COLLAPSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAGE_DESC_NONE" => Some(Self::PageDescNone),
            "PAGE_DESC_SHOW_DETAIL" => Some(Self::PageDescShowDetail),
            "PAGE_DESC_COLLAPSE" => Some(Self::PageDescCollapse),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTreasureDungeonType {
    None = 0,
    CmdGetTreasureDungeonActivityDataScRsp = 4474,
    CmdOpenTreasureDungeonGridScRsp = 4421,
    CmdQuitTreasureDungeonCsReq = 4409,
    CmdUseTreasureDungeonItemCsReq = 4449,
    CmdQuitTreasureDungeonScRsp = 4481,
    CmdInteractTreasureDungeonGridScRsp = 4456,
    CmdTreasureDungeonFinishScNotify = 4488,
    CmdGetTreasureDungeonActivityDataCsReq = 4462,
    CmdTreasureDungeonDataScNotify = 4461,
    CmdUseTreasureDungeonItemScRsp = 4451,
    CmdInteractTreasureDungeonGridCsReq = 4470,
    CmdEnterTreasureDungeonCsReq = 4447,
    CmdFightTreasureDungeonMonsterScRsp = 4403,
    CmdOpenTreasureDungeonGridCsReq = 4496,
    CmdEnterTreasureDungeonScRsp = 4494,
    CmdFightTreasureDungeonMonsterCsReq = 4482,
}
impl CmdTreasureDungeonType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTreasureDungeonType::None => "CmdTreasureDungeonTypeNone",
            CmdTreasureDungeonType::CmdGetTreasureDungeonActivityDataScRsp => {
                "CmdGetTreasureDungeonActivityDataScRsp"
            }
            CmdTreasureDungeonType::CmdOpenTreasureDungeonGridScRsp => {
                "CmdOpenTreasureDungeonGridScRsp"
            }
            CmdTreasureDungeonType::CmdQuitTreasureDungeonCsReq => {
                "CmdQuitTreasureDungeonCsReq"
            }
            CmdTreasureDungeonType::CmdUseTreasureDungeonItemCsReq => {
                "CmdUseTreasureDungeonItemCsReq"
            }
            CmdTreasureDungeonType::CmdQuitTreasureDungeonScRsp => {
                "CmdQuitTreasureDungeonScRsp"
            }
            CmdTreasureDungeonType::CmdInteractTreasureDungeonGridScRsp => {
                "CmdInteractTreasureDungeonGridScRsp"
            }
            CmdTreasureDungeonType::CmdTreasureDungeonFinishScNotify => {
                "CmdTreasureDungeonFinishScNotify"
            }
            CmdTreasureDungeonType::CmdGetTreasureDungeonActivityDataCsReq => {
                "CmdGetTreasureDungeonActivityDataCsReq"
            }
            CmdTreasureDungeonType::CmdTreasureDungeonDataScNotify => {
                "CmdTreasureDungeonDataScNotify"
            }
            CmdTreasureDungeonType::CmdUseTreasureDungeonItemScRsp => {
                "CmdUseTreasureDungeonItemScRsp"
            }
            CmdTreasureDungeonType::CmdInteractTreasureDungeonGridCsReq => {
                "CmdInteractTreasureDungeonGridCsReq"
            }
            CmdTreasureDungeonType::CmdEnterTreasureDungeonCsReq => {
                "CmdEnterTreasureDungeonCsReq"
            }
            CmdTreasureDungeonType::CmdFightTreasureDungeonMonsterScRsp => {
                "CmdFightTreasureDungeonMonsterScRsp"
            }
            CmdTreasureDungeonType::CmdOpenTreasureDungeonGridCsReq => {
                "CmdOpenTreasureDungeonGridCsReq"
            }
            CmdTreasureDungeonType::CmdEnterTreasureDungeonScRsp => {
                "CmdEnterTreasureDungeonScRsp"
            }
            CmdTreasureDungeonType::CmdFightTreasureDungeonMonsterCsReq => {
                "CmdFightTreasureDungeonMonsterCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTreasureDungeonTypeNone" => Some(Self::None),
            "CmdGetTreasureDungeonActivityDataScRsp" => {
                Some(Self::CmdGetTreasureDungeonActivityDataScRsp)
            }
            "CmdOpenTreasureDungeonGridScRsp" => {
                Some(Self::CmdOpenTreasureDungeonGridScRsp)
            }
            "CmdQuitTreasureDungeonCsReq" => Some(Self::CmdQuitTreasureDungeonCsReq),
            "CmdUseTreasureDungeonItemCsReq" => {
                Some(Self::CmdUseTreasureDungeonItemCsReq)
            }
            "CmdQuitTreasureDungeonScRsp" => Some(Self::CmdQuitTreasureDungeonScRsp),
            "CmdInteractTreasureDungeonGridScRsp" => {
                Some(Self::CmdInteractTreasureDungeonGridScRsp)
            }
            "CmdTreasureDungeonFinishScNotify" => {
                Some(Self::CmdTreasureDungeonFinishScNotify)
            }
            "CmdGetTreasureDungeonActivityDataCsReq" => {
                Some(Self::CmdGetTreasureDungeonActivityDataCsReq)
            }
            "CmdTreasureDungeonDataScNotify" => {
                Some(Self::CmdTreasureDungeonDataScNotify)
            }
            "CmdUseTreasureDungeonItemScRsp" => {
                Some(Self::CmdUseTreasureDungeonItemScRsp)
            }
            "CmdInteractTreasureDungeonGridCsReq" => {
                Some(Self::CmdInteractTreasureDungeonGridCsReq)
            }
            "CmdEnterTreasureDungeonCsReq" => Some(Self::CmdEnterTreasureDungeonCsReq),
            "CmdFightTreasureDungeonMonsterScRsp" => {
                Some(Self::CmdFightTreasureDungeonMonsterScRsp)
            }
            "CmdOpenTreasureDungeonGridCsReq" => {
                Some(Self::CmdOpenTreasureDungeonGridCsReq)
            }
            "CmdEnterTreasureDungeonScRsp" => Some(Self::CmdEnterTreasureDungeonScRsp),
            "CmdFightTreasureDungeonMonsterCsReq" => {
                Some(Self::CmdFightTreasureDungeonMonsterCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bdlgakeipob {
    TreasureDungeonRecordNone = 0,
    TreasureDungeonRecordAddHp = 1,
    TreasureDungeonRecordSubHp = 2,
    TreasureDungeonRecordSubHpNoExplore = 3,
    TreasureDungeonRecordAddAttack = 5,
    TreasureDungeonRecordAddDefence = 6,
    TreasureDungeonRecordAddExplore = 9,
    TreasureDungeonRecordSubExplore = 10,
    TreasureDungeonRecordAddExploreOverflow = 11,
    TreasureDungeonRecordSummon = 15,
    TreasureDungeonRecordKill = 16,
    TreasureDungeonRecordAddTrialAvatar = 20,
    TreasureDungeonRecordAddBuff = 24,
    TreasureDungeonRecordUnlockDoor = 25,
    TreasureDungeonRecordEnemyEnhance = 27,
    TreasureDungeonRecordEnemyWeaken = 28,
    TreasureDungeonRecordEnemyAuraRemove = 29,
    TreasureDungeonRecordSpecialMonsterRun = 30,
    TreasureDungeonRecordSpecialMonsterKill = 31,
    TreasureDungeonRecordBattleBuffTriggerSuccess = 33,
    TreasureDungeonRecordBattleBuffTriggerFail = 34,
    TreasureDungeonRecordBattleBuffAddExplore = 35,
    TreasureDungeonRecordBattleBuffOpenGrid = 36,
    TreasureDungeonRecordBattleBuffAddItem = 37,
    TreasureDungeonRecordAvatarDead = 40,
    TreasureDungeonRecordTrialAvatarDead = 41,
    TreasureDungeonRecordAllAvatarDead = 42,
    TreasureDungeonRecordOpenItemChest = 43,
}
impl Bdlgakeipob {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bdlgakeipob::TreasureDungeonRecordNone => "TREASURE_DUNGEON_RECORD_NONE",
            Bdlgakeipob::TreasureDungeonRecordAddHp => "TREASURE_DUNGEON_RECORD_ADD_HP",
            Bdlgakeipob::TreasureDungeonRecordSubHp => "TREASURE_DUNGEON_RECORD_SUB_HP",
            Bdlgakeipob::TreasureDungeonRecordSubHpNoExplore => {
                "TREASURE_DUNGEON_RECORD_SUB_HP_NO_EXPLORE"
            }
            Bdlgakeipob::TreasureDungeonRecordAddAttack => {
                "TREASURE_DUNGEON_RECORD_ADD_ATTACK"
            }
            Bdlgakeipob::TreasureDungeonRecordAddDefence => {
                "TREASURE_DUNGEON_RECORD_ADD_DEFENCE"
            }
            Bdlgakeipob::TreasureDungeonRecordAddExplore => {
                "TREASURE_DUNGEON_RECORD_ADD_EXPLORE"
            }
            Bdlgakeipob::TreasureDungeonRecordSubExplore => {
                "TREASURE_DUNGEON_RECORD_SUB_EXPLORE"
            }
            Bdlgakeipob::TreasureDungeonRecordAddExploreOverflow => {
                "TREASURE_DUNGEON_RECORD_ADD_EXPLORE_OVERFLOW"
            }
            Bdlgakeipob::TreasureDungeonRecordSummon => "TREASURE_DUNGEON_RECORD_SUMMON",
            Bdlgakeipob::TreasureDungeonRecordKill => "TREASURE_DUNGEON_RECORD_KILL",
            Bdlgakeipob::TreasureDungeonRecordAddTrialAvatar => {
                "TREASURE_DUNGEON_RECORD_ADD_TRIAL_AVATAR"
            }
            Bdlgakeipob::TreasureDungeonRecordAddBuff => {
                "TREASURE_DUNGEON_RECORD_ADD_BUFF"
            }
            Bdlgakeipob::TreasureDungeonRecordUnlockDoor => {
                "TREASURE_DUNGEON_RECORD_UNLOCK_DOOR"
            }
            Bdlgakeipob::TreasureDungeonRecordEnemyEnhance => {
                "TREASURE_DUNGEON_RECORD_ENEMY_ENHANCE"
            }
            Bdlgakeipob::TreasureDungeonRecordEnemyWeaken => {
                "TREASURE_DUNGEON_RECORD_ENEMY_WEAKEN"
            }
            Bdlgakeipob::TreasureDungeonRecordEnemyAuraRemove => {
                "TREASURE_DUNGEON_RECORD_ENEMY_AURA_REMOVE"
            }
            Bdlgakeipob::TreasureDungeonRecordSpecialMonsterRun => {
                "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_RUN"
            }
            Bdlgakeipob::TreasureDungeonRecordSpecialMonsterKill => {
                "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_KILL"
            }
            Bdlgakeipob::TreasureDungeonRecordBattleBuffTriggerSuccess => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_SUCCESS"
            }
            Bdlgakeipob::TreasureDungeonRecordBattleBuffTriggerFail => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_FAIL"
            }
            Bdlgakeipob::TreasureDungeonRecordBattleBuffAddExplore => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_EXPLORE"
            }
            Bdlgakeipob::TreasureDungeonRecordBattleBuffOpenGrid => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_OPEN_GRID"
            }
            Bdlgakeipob::TreasureDungeonRecordBattleBuffAddItem => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_ITEM"
            }
            Bdlgakeipob::TreasureDungeonRecordAvatarDead => {
                "TREASURE_DUNGEON_RECORD_AVATAR_DEAD"
            }
            Bdlgakeipob::TreasureDungeonRecordTrialAvatarDead => {
                "TREASURE_DUNGEON_RECORD_TRIAL_AVATAR_DEAD"
            }
            Bdlgakeipob::TreasureDungeonRecordAllAvatarDead => {
                "TREASURE_DUNGEON_RECORD_ALL_AVATAR_DEAD"
            }
            Bdlgakeipob::TreasureDungeonRecordOpenItemChest => {
                "TREASURE_DUNGEON_RECORD_OPEN_ITEM_CHEST"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TREASURE_DUNGEON_RECORD_NONE" => Some(Self::TreasureDungeonRecordNone),
            "TREASURE_DUNGEON_RECORD_ADD_HP" => Some(Self::TreasureDungeonRecordAddHp),
            "TREASURE_DUNGEON_RECORD_SUB_HP" => Some(Self::TreasureDungeonRecordSubHp),
            "TREASURE_DUNGEON_RECORD_SUB_HP_NO_EXPLORE" => {
                Some(Self::TreasureDungeonRecordSubHpNoExplore)
            }
            "TREASURE_DUNGEON_RECORD_ADD_ATTACK" => {
                Some(Self::TreasureDungeonRecordAddAttack)
            }
            "TREASURE_DUNGEON_RECORD_ADD_DEFENCE" => {
                Some(Self::TreasureDungeonRecordAddDefence)
            }
            "TREASURE_DUNGEON_RECORD_ADD_EXPLORE" => {
                Some(Self::TreasureDungeonRecordAddExplore)
            }
            "TREASURE_DUNGEON_RECORD_SUB_EXPLORE" => {
                Some(Self::TreasureDungeonRecordSubExplore)
            }
            "TREASURE_DUNGEON_RECORD_ADD_EXPLORE_OVERFLOW" => {
                Some(Self::TreasureDungeonRecordAddExploreOverflow)
            }
            "TREASURE_DUNGEON_RECORD_SUMMON" => Some(Self::TreasureDungeonRecordSummon),
            "TREASURE_DUNGEON_RECORD_KILL" => Some(Self::TreasureDungeonRecordKill),
            "TREASURE_DUNGEON_RECORD_ADD_TRIAL_AVATAR" => {
                Some(Self::TreasureDungeonRecordAddTrialAvatar)
            }
            "TREASURE_DUNGEON_RECORD_ADD_BUFF" => {
                Some(Self::TreasureDungeonRecordAddBuff)
            }
            "TREASURE_DUNGEON_RECORD_UNLOCK_DOOR" => {
                Some(Self::TreasureDungeonRecordUnlockDoor)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_ENHANCE" => {
                Some(Self::TreasureDungeonRecordEnemyEnhance)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_WEAKEN" => {
                Some(Self::TreasureDungeonRecordEnemyWeaken)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_AURA_REMOVE" => {
                Some(Self::TreasureDungeonRecordEnemyAuraRemove)
            }
            "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_RUN" => {
                Some(Self::TreasureDungeonRecordSpecialMonsterRun)
            }
            "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_KILL" => {
                Some(Self::TreasureDungeonRecordSpecialMonsterKill)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_SUCCESS" => {
                Some(Self::TreasureDungeonRecordBattleBuffTriggerSuccess)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_FAIL" => {
                Some(Self::TreasureDungeonRecordBattleBuffTriggerFail)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_EXPLORE" => {
                Some(Self::TreasureDungeonRecordBattleBuffAddExplore)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_OPEN_GRID" => {
                Some(Self::TreasureDungeonRecordBattleBuffOpenGrid)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_ITEM" => {
                Some(Self::TreasureDungeonRecordBattleBuffAddItem)
            }
            "TREASURE_DUNGEON_RECORD_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_TRIAL_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordTrialAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_ALL_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordAllAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_OPEN_ITEM_CHEST" => {
                Some(Self::TreasureDungeonRecordOpenItemChest)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTutorialType {
    None = 0,
    CmdUnlockTutorialCsReq = 1639,
    CmdFinishTutorialGuideCsReq = 1662,
    CmdFinishTutorialScRsp = 1627,
    CmdFinishTutorialGuideScRsp = 1674,
    CmdUnlockTutorialScRsp = 1673,
    CmdGetTutorialGuideScRsp = 1620,
    CmdUnlockTutorialGuideCsReq = 1630,
    CmdGetTutorialGuideCsReq = 1691,
    CmdFinishTutorialCsReq = 1687,
    CmdGetTutorialScRsp = 1688,
    CmdUnlockTutorialGuideScRsp = 1671,
    CmdGetTutorialCsReq = 1661,
}
impl CmdTutorialType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTutorialType::None => "CmdTutorialTypeNone",
            CmdTutorialType::CmdUnlockTutorialCsReq => "CmdUnlockTutorialCsReq",
            CmdTutorialType::CmdFinishTutorialGuideCsReq => "CmdFinishTutorialGuideCsReq",
            CmdTutorialType::CmdFinishTutorialScRsp => "CmdFinishTutorialScRsp",
            CmdTutorialType::CmdFinishTutorialGuideScRsp => "CmdFinishTutorialGuideScRsp",
            CmdTutorialType::CmdUnlockTutorialScRsp => "CmdUnlockTutorialScRsp",
            CmdTutorialType::CmdGetTutorialGuideScRsp => "CmdGetTutorialGuideScRsp",
            CmdTutorialType::CmdUnlockTutorialGuideCsReq => "CmdUnlockTutorialGuideCsReq",
            CmdTutorialType::CmdGetTutorialGuideCsReq => "CmdGetTutorialGuideCsReq",
            CmdTutorialType::CmdFinishTutorialCsReq => "CmdFinishTutorialCsReq",
            CmdTutorialType::CmdGetTutorialScRsp => "CmdGetTutorialScRsp",
            CmdTutorialType::CmdUnlockTutorialGuideScRsp => "CmdUnlockTutorialGuideScRsp",
            CmdTutorialType::CmdGetTutorialCsReq => "CmdGetTutorialCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTutorialTypeNone" => Some(Self::None),
            "CmdUnlockTutorialCsReq" => Some(Self::CmdUnlockTutorialCsReq),
            "CmdFinishTutorialGuideCsReq" => Some(Self::CmdFinishTutorialGuideCsReq),
            "CmdFinishTutorialScRsp" => Some(Self::CmdFinishTutorialScRsp),
            "CmdFinishTutorialGuideScRsp" => Some(Self::CmdFinishTutorialGuideScRsp),
            "CmdUnlockTutorialScRsp" => Some(Self::CmdUnlockTutorialScRsp),
            "CmdGetTutorialGuideScRsp" => Some(Self::CmdGetTutorialGuideScRsp),
            "CmdUnlockTutorialGuideCsReq" => Some(Self::CmdUnlockTutorialGuideCsReq),
            "CmdGetTutorialGuideCsReq" => Some(Self::CmdGetTutorialGuideCsReq),
            "CmdFinishTutorialCsReq" => Some(Self::CmdFinishTutorialCsReq),
            "CmdGetTutorialScRsp" => Some(Self::CmdGetTutorialScRsp),
            "CmdUnlockTutorialGuideScRsp" => Some(Self::CmdUnlockTutorialGuideScRsp),
            "CmdGetTutorialCsReq" => Some(Self::CmdGetTutorialCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TutorialStatus {
    TutorialNone = 0,
    TutorialUnlock = 1,
    TutorialFinish = 2,
}
impl TutorialStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TutorialStatus::TutorialNone => "TUTORIAL_NONE",
            TutorialStatus::TutorialUnlock => "TUTORIAL_UNLOCK",
            TutorialStatus::TutorialFinish => "TUTORIAL_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TUTORIAL_NONE" => Some(Self::TutorialNone),
            "TUTORIAL_UNLOCK" => Some(Self::TutorialUnlock),
            "TUTORIAL_FINISH" => Some(Self::TutorialFinish),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWaypointType {
    None = 0,
    CmdTakeChapterRewardScRsp = 487,
    CmdGetChapterCsReq = 439,
    CmdTakeChapterRewardCsReq = 471,
    CmdGetWaypointScRsp = 488,
    CmdSetCurWaypointScRsp = 420,
    CmdGetChapterScRsp = 473,
    CmdGetWaypointCsReq = 461,
    CmdWaypointShowNewCsNotify = 430,
    CmdSetCurWaypointCsReq = 491,
}
impl CmdWaypointType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdWaypointType::None => "CmdWaypointTypeNone",
            CmdWaypointType::CmdTakeChapterRewardScRsp => "CmdTakeChapterRewardScRsp",
            CmdWaypointType::CmdGetChapterCsReq => "CmdGetChapterCsReq",
            CmdWaypointType::CmdTakeChapterRewardCsReq => "CmdTakeChapterRewardCsReq",
            CmdWaypointType::CmdGetWaypointScRsp => "CmdGetWaypointScRsp",
            CmdWaypointType::CmdSetCurWaypointScRsp => "CmdSetCurWaypointScRsp",
            CmdWaypointType::CmdGetChapterScRsp => "CmdGetChapterScRsp",
            CmdWaypointType::CmdGetWaypointCsReq => "CmdGetWaypointCsReq",
            CmdWaypointType::CmdWaypointShowNewCsNotify => "CmdWaypointShowNewCsNotify",
            CmdWaypointType::CmdSetCurWaypointCsReq => "CmdSetCurWaypointCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdWaypointTypeNone" => Some(Self::None),
            "CmdTakeChapterRewardScRsp" => Some(Self::CmdTakeChapterRewardScRsp),
            "CmdGetChapterCsReq" => Some(Self::CmdGetChapterCsReq),
            "CmdTakeChapterRewardCsReq" => Some(Self::CmdTakeChapterRewardCsReq),
            "CmdGetWaypointScRsp" => Some(Self::CmdGetWaypointScRsp),
            "CmdSetCurWaypointScRsp" => Some(Self::CmdSetCurWaypointScRsp),
            "CmdGetChapterScRsp" => Some(Self::CmdGetChapterScRsp),
            "CmdGetWaypointCsReq" => Some(Self::CmdGetWaypointCsReq),
            "CmdWaypointShowNewCsNotify" => Some(Self::CmdWaypointShowNewCsNotify),
            "CmdSetCurWaypointCsReq" => Some(Self::CmdSetCurWaypointCsReq),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WaypointType {
    None = 0,
    Stage = 1,
    Plot = 2,
}
impl WaypointType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            WaypointType::None => "WAYPOINT_TYPE_NONE",
            WaypointType::Stage => "WAYPOINT_TYPE_STAGE",
            WaypointType::Plot => "WAYPOINT_TYPE_PLOT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WAYPOINT_TYPE_NONE" => Some(Self::None),
            "WAYPOINT_TYPE_STAGE" => Some(Self::Stage),
            "WAYPOINT_TYPE_PLOT" => Some(Self::Plot),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WaypointUnlockType {
    WaypointUnlockNone = 0,
    WaypointUnlockPre = 1,
    WaypointUnlockLevel = 2,
}
impl WaypointUnlockType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            WaypointUnlockType::WaypointUnlockNone => "WAYPOINT_UNLOCK_NONE",
            WaypointUnlockType::WaypointUnlockPre => "WAYPOINT_UNLOCK_PRE",
            WaypointUnlockType::WaypointUnlockLevel => "WAYPOINT_UNLOCK_LEVEL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WAYPOINT_UNLOCK_NONE" => Some(Self::WaypointUnlockNone),
            "WAYPOINT_UNLOCK_PRE" => Some(Self::WaypointUnlockPre),
            "WAYPOINT_UNLOCK_LEVEL" => Some(Self::WaypointUnlockLevel),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWolfBroType {
    None = 0,
    CmdWolfBroGameUseBulletScRsp = 6547,
    CmdWolfBroGamePickupBulletScRsp = 6596,
    CmdWolfBroGameExplodeMonsterScRsp = 6570,
    CmdGetWolfBroGameDataScRsp = 6527,
    CmdQuitWolfBroGameScRsp = 6571,
    CmdWolfBroGameExplodeMonsterCsReq = 6503,
    CmdWolfBroGameActivateBulletScRsp = 6582,
    CmdRestoreWolfBroGameArchiveScRsp = 6573,
    CmdStartWolfBroGameCsReq = 6561,
    CmdGetWolfBroGameDataCsReq = 6587,
    CmdWolfBroGameDataChangeScNotify = 6562,
    CmdWolfBroGamePickupBulletCsReq = 6594,
    CmdStartWolfBroGameScRsp = 6588,
    CmdArchiveWolfBroGameCsReq = 6591,
    CmdArchiveWolfBroGameScRsp = 6520,
    CmdWolfBroGameUseBulletCsReq = 6574,
    CmdRestoreWolfBroGameArchiveCsReq = 6539,
    CmdQuitWolfBroGameCsReq = 6530,
    CmdWolfBroGameActivateBulletCsReq = 6521,
}
impl CmdWolfBroType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdWolfBroType::None => "CmdWolfBroTypeNone",
            CmdWolfBroType::CmdWolfBroGameUseBulletScRsp => {
                "CmdWolfBroGameUseBulletScRsp"
            }
            CmdWolfBroType::CmdWolfBroGamePickupBulletScRsp => {
                "CmdWolfBroGamePickupBulletScRsp"
            }
            CmdWolfBroType::CmdWolfBroGameExplodeMonsterScRsp => {
                "CmdWolfBroGameExplodeMonsterScRsp"
            }
            CmdWolfBroType::CmdGetWolfBroGameDataScRsp => "CmdGetWolfBroGameDataScRsp",
            CmdWolfBroType::CmdQuitWolfBroGameScRsp => "CmdQuitWolfBroGameScRsp",
            CmdWolfBroType::CmdWolfBroGameExplodeMonsterCsReq => {
                "CmdWolfBroGameExplodeMonsterCsReq"
            }
            CmdWolfBroType::CmdWolfBroGameActivateBulletScRsp => {
                "CmdWolfBroGameActivateBulletScRsp"
            }
            CmdWolfBroType::CmdRestoreWolfBroGameArchiveScRsp => {
                "CmdRestoreWolfBroGameArchiveScRsp"
            }
            CmdWolfBroType::CmdStartWolfBroGameCsReq => "CmdStartWolfBroGameCsReq",
            CmdWolfBroType::CmdGetWolfBroGameDataCsReq => "CmdGetWolfBroGameDataCsReq",
            CmdWolfBroType::CmdWolfBroGameDataChangeScNotify => {
                "CmdWolfBroGameDataChangeScNotify"
            }
            CmdWolfBroType::CmdWolfBroGamePickupBulletCsReq => {
                "CmdWolfBroGamePickupBulletCsReq"
            }
            CmdWolfBroType::CmdStartWolfBroGameScRsp => "CmdStartWolfBroGameScRsp",
            CmdWolfBroType::CmdArchiveWolfBroGameCsReq => "CmdArchiveWolfBroGameCsReq",
            CmdWolfBroType::CmdArchiveWolfBroGameScRsp => "CmdArchiveWolfBroGameScRsp",
            CmdWolfBroType::CmdWolfBroGameUseBulletCsReq => {
                "CmdWolfBroGameUseBulletCsReq"
            }
            CmdWolfBroType::CmdRestoreWolfBroGameArchiveCsReq => {
                "CmdRestoreWolfBroGameArchiveCsReq"
            }
            CmdWolfBroType::CmdQuitWolfBroGameCsReq => "CmdQuitWolfBroGameCsReq",
            CmdWolfBroType::CmdWolfBroGameActivateBulletCsReq => {
                "CmdWolfBroGameActivateBulletCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdWolfBroTypeNone" => Some(Self::None),
            "CmdWolfBroGameUseBulletScRsp" => Some(Self::CmdWolfBroGameUseBulletScRsp),
            "CmdWolfBroGamePickupBulletScRsp" => {
                Some(Self::CmdWolfBroGamePickupBulletScRsp)
            }
            "CmdWolfBroGameExplodeMonsterScRsp" => {
                Some(Self::CmdWolfBroGameExplodeMonsterScRsp)
            }
            "CmdGetWolfBroGameDataScRsp" => Some(Self::CmdGetWolfBroGameDataScRsp),
            "CmdQuitWolfBroGameScRsp" => Some(Self::CmdQuitWolfBroGameScRsp),
            "CmdWolfBroGameExplodeMonsterCsReq" => {
                Some(Self::CmdWolfBroGameExplodeMonsterCsReq)
            }
            "CmdWolfBroGameActivateBulletScRsp" => {
                Some(Self::CmdWolfBroGameActivateBulletScRsp)
            }
            "CmdRestoreWolfBroGameArchiveScRsp" => {
                Some(Self::CmdRestoreWolfBroGameArchiveScRsp)
            }
            "CmdStartWolfBroGameCsReq" => Some(Self::CmdStartWolfBroGameCsReq),
            "CmdGetWolfBroGameDataCsReq" => Some(Self::CmdGetWolfBroGameDataCsReq),
            "CmdWolfBroGameDataChangeScNotify" => {
                Some(Self::CmdWolfBroGameDataChangeScNotify)
            }
            "CmdWolfBroGamePickupBulletCsReq" => {
                Some(Self::CmdWolfBroGamePickupBulletCsReq)
            }
            "CmdStartWolfBroGameScRsp" => Some(Self::CmdStartWolfBroGameScRsp),
            "CmdArchiveWolfBroGameCsReq" => Some(Self::CmdArchiveWolfBroGameCsReq),
            "CmdArchiveWolfBroGameScRsp" => Some(Self::CmdArchiveWolfBroGameScRsp),
            "CmdWolfBroGameUseBulletCsReq" => Some(Self::CmdWolfBroGameUseBulletCsReq),
            "CmdRestoreWolfBroGameArchiveCsReq" => {
                Some(Self::CmdRestoreWolfBroGameArchiveCsReq)
            }
            "CmdQuitWolfBroGameCsReq" => Some(Self::CmdQuitWolfBroGameCsReq),
            "CmdWolfBroGameActivateBulletCsReq" => {
                Some(Self::CmdWolfBroGameActivateBulletCsReq)
            }
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DispatchType {
    None = 0,
    ByAddr = 1,
    ByMod = 2,
    ByRand = 3,
    ByChash = 4,
    ByStickySession = 5,
    ByObject = 6,
}
impl DispatchType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            DispatchType::None => "DISPATCH_TYPE_NONE",
            DispatchType::ByAddr => "DISPATCH_TYPE_BY_ADDR",
            DispatchType::ByMod => "DISPATCH_TYPE_BY_MOD",
            DispatchType::ByRand => "DISPATCH_TYPE_BY_RAND",
            DispatchType::ByChash => "DISPATCH_TYPE_BY_CHASH",
            DispatchType::ByStickySession => "DISPATCH_TYPE_BY_STICKY_SESSION",
            DispatchType::ByObject => "DISPATCH_TYPE_BY_OBJECT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DISPATCH_TYPE_NONE" => Some(Self::None),
            "DISPATCH_TYPE_BY_ADDR" => Some(Self::ByAddr),
            "DISPATCH_TYPE_BY_MOD" => Some(Self::ByMod),
            "DISPATCH_TYPE_BY_RAND" => Some(Self::ByRand),
            "DISPATCH_TYPE_BY_CHASH" => Some(Self::ByChash),
            "DISPATCH_TYPE_BY_STICKY_SESSION" => Some(Self::ByStickySession),
            "DISPATCH_TYPE_BY_OBJECT" => Some(Self::ByObject),
            _ => None,
        }
    }
}
