// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: PlayerLoginReq.proto

package emu.grasscutter.net.proto;

public final class PlayerLoginReqOuterClass {
    private PlayerLoginReqOuterClass() {}

    public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}

    public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
        registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
    }

    public interface PlayerLoginReqOrBuilder
            extends
            // @@protoc_insertion_point(interface_extends:PlayerLoginReq)
            com.google.protobuf.MessageOrBuilder {

        /**
         * <code>uint32 KDIHPMJOCPG = 909;</code>
         *
         * @return The kDIHPMJOCPG.
         */
        int getKDIHPMJOCPG();

        /**
         * <code>uint32 PNJNCCNPILL = 2033;</code>
         *
         * @return The pNJNCCNPILL.
         */
        int getPNJNCCNPILL();

        /**
         * <code>string token = 8;</code>
         *
         * @return The token.
         */
        java.lang.String getToken();
        /**
         * <code>string token = 8;</code>
         *
         * @return The bytes for token.
         */
        com.google.protobuf.ByteString getTokenBytes();

        /**
         * <code>bool is_guest = 6;</code>
         *
         * @return The isGuest.
         */
        boolean getIsGuest();

        /**
         *
         *
         * <pre>
         * not work
         * </pre>
         *
         * <code>string JKPKMFPELKK = 778;</code>
         *
         * @return The jKPKMFPELKK.
         */
        java.lang.String getJKPKMFPELKK();
        /**
         *
         *
         * <pre>
         * not work
         * </pre>
         *
         * <code>string JKPKMFPELKK = 778;</code>
         *
         * @return The bytes for jKPKMFPELKK.
         */
        com.google.protobuf.ByteString getJKPKMFPELKKBytes();

        /**
         * <code>string online_id = 1781;</code>
         *
         * @return The onlineId.
         */
        java.lang.String getOnlineId();
        /**
         * <code>string online_id = 1781;</code>
         *
         * @return The bytes for onlineId.
         */
        com.google.protobuf.ByteString getOnlineIdBytes();

        /**
         * <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code>
         *
         * @return Whether the adjustTrackingInfo field is set.
         */
        boolean hasAdjustTrackingInfo();
        /**
         * <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code>
         *
         * @return The adjustTrackingInfo.
         */
        emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                getAdjustTrackingInfo();
        /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
        emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfoOrBuilder
                getAdjustTrackingInfoOrBuilder();

        /**
         * <code>uint64 login_rand = 12;</code>
         *
         * @return The loginRand.
         */
        long getLoginRand();

        /**
         * <code>.TrackingIOInfo tracking_io_info = 498;</code>
         *
         * @return Whether the trackingIoInfo field is set.
         */
        boolean hasTrackingIoInfo();
        /**
         * <code>.TrackingIOInfo tracking_io_info = 498;</code>
         *
         * @return The trackingIoInfo.
         */
        emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo getTrackingIoInfo();
        /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
        emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfoOrBuilder
                getTrackingIoInfoOrBuilder();

        /**
         * <code>uint32 language_type = 7;</code>
         *
         * @return The languageType.
         */
        int getLanguageType();

        /**
         * <code>uint32 CJHEEAGCFJG = 2015;</code>
         *
         * @return The cJHEEAGCFJG.
         */
        int getCJHEEAGCFJG();

        /**
         * <code>uint32 FGAKKMHIKHF = 829;</code>
         *
         * @return The fGAKKMHIKHF.
         */
        int getFGAKKMHIKHF();

        /**
         * <code>string system_version = 2;</code>
         *
         * @return The systemVersion.
         */
        java.lang.String getSystemVersion();
        /**
         * <code>string system_version = 2;</code>
         *
         * @return The bytes for systemVersion.
         */
        com.google.protobuf.ByteString getSystemVersionBytes();

        /**
         *
         *
         * <pre>
         * not work
         * </pre>
         *
         * <code>string DOAPGNNFLBJ = 1352;</code>
         *
         * @return The dOAPGNNFLBJ.
         */
        java.lang.String getDOAPGNNFLBJ();
        /**
         *
         *
         * <pre>
         * not work
         * </pre>
         *
         * <code>string DOAPGNNFLBJ = 1352;</code>
         *
         * @return The bytes for dOAPGNNFLBJ.
         */
        com.google.protobuf.ByteString getDOAPGNNFLBJBytes();

        /**
         * <code>string account_uid = 4;</code>
         *
         * @return The accountUid.
         */
        java.lang.String getAccountUid();
        /**
         * <code>string account_uid = 4;</code>
         *
         * @return The bytes for accountUid.
         */
        com.google.protobuf.ByteString getAccountUidBytes();

        /**
         * <code>uint32 target_uid = 14;</code>
         *
         * @return The targetUid.
         */
        int getTargetUid();

        /**
         * <code>string security_library_md5 = 254;</code>
         *
         * @return The securityLibraryMd5.
         */
        java.lang.String getSecurityLibraryMd5();
        /**
         * <code>string security_library_md5 = 254;</code>
         *
         * @return The bytes for securityLibraryMd5.
         */
        com.google.protobuf.ByteString getSecurityLibraryMd5Bytes();

        /**
         * <code>string country_code = 936;</code>
         *
         * @return The countryCode.
         */
        java.lang.String getCountryCode();
        /**
         * <code>string country_code = 936;</code>
         *
         * @return The bytes for countryCode.
         */
        com.google.protobuf.ByteString getCountryCodeBytes();

        /**
         * <code>uint32 FIDMBJJPBEH = 832;</code>
         *
         * @return The fIDMBJJPBEH.
         */
        int getFIDMBJJPBEH();

        /**
         * <code>string checksum = 1953;</code>
         *
         * @return The checksum.
         */
        java.lang.String getChecksum();
        /**
         * <code>string checksum = 1953;</code>
         *
         * @return The bytes for checksum.
         */
        com.google.protobuf.ByteString getChecksumBytes();

        /**
         * <code>string device_info = 11;</code>
         *
         * @return The deviceInfo.
         */
        java.lang.String getDeviceInfo();
        /**
         * <code>string device_info = 11;</code>
         *
         * @return The bytes for deviceInfo.
         */
        com.google.protobuf.ByteString getDeviceInfoBytes();

        /**
         * <code>bytes JLOPICGGPBP = 978;</code>
         *
         * @return The jLOPICGGPBP.
         */
        com.google.protobuf.ByteString getJLOPICGGPBP();

        /**
         * <code>string checksum_client_version = 823;</code>
         *
         * @return The checksumClientVersion.
         */
        java.lang.String getChecksumClientVersion();
        /**
         * <code>string checksum_client_version = 823;</code>
         *
         * @return The bytes for checksumClientVersion.
         */
        com.google.protobuf.ByteString getChecksumClientVersionBytes();

        /**
         * <code>uint32 ECJMGOCEABB = 1650;</code>
         *
         * @return The eCJMGOCEABB.
         */
        int getECJMGOCEABB();

        /**
         *
         *
         * <pre>
         * ENNPHCJEFFC bruh finally got it right
         * </pre>
         *
         * <code>string client_version = 3;</code>
         *
         * @return The clientVersion.
         */
        java.lang.String getClientVersion();
        /**
         *
         *
         * <pre>
         * ENNPHCJEFFC bruh finally got it right
         * </pre>
         *
         * <code>string client_version = 3;</code>
         *
         * @return The bytes for clientVersion.
         */
        com.google.protobuf.ByteString getClientVersionBytes();

        /**
         * <code>string psn_id = 1125;</code>
         *
         * @return The psnId.
         */
        java.lang.String getPsnId();
        /**
         * <code>string psn_id = 1125;</code>
         *
         * @return The bytes for psnId.
         */
        com.google.protobuf.ByteString getPsnIdBytes();

        /**
         * <code>bool is_editor = 10;</code>
         *
         * @return The isEditor.
         */
        boolean getIsEditor();

        /**
         * <code>bytes environment_error_code = 922;</code>
         *
         * @return The environmentErrorCode.
         */
        com.google.protobuf.ByteString getEnvironmentErrorCode();

        /**
         * <code>string platform = 1;</code>
         *
         * @return The platform.
         */
        java.lang.String getPlatform();
        /**
         * <code>string platform = 1;</code>
         *
         * @return The bytes for platform.
         */
        com.google.protobuf.ByteString getPlatformBytes();

        /**
         * <code>uint32 channel_id = 913;</code>
         *
         * @return The channelId.
         */
        int getChannelId();

        /**
         * <code>bool is_transfer = 1382;</code>
         *
         * @return The isTransfer.
         */
        boolean getIsTransfer();

        /**
         * <code>string client_verison_hash = 1519;</code>
         *
         * @return The clientVerisonHash.
         */
        java.lang.String getClientVerisonHash();
        /**
         * <code>string client_verison_hash = 1519;</code>
         *
         * @return The bytes for clientVerisonHash.
         */
        com.google.protobuf.ByteString getClientVerisonHashBytes();

        /**
         * <code>string device_name = 9;</code>
         *
         * @return The deviceName.
         */
        java.lang.String getDeviceName();
        /**
         * <code>string device_name = 9;</code>
         *
         * @return The bytes for deviceName.
         */
        com.google.protobuf.ByteString getDeviceNameBytes();

        /**
         * <code>uint32 FMOKLFNAOOK = 1173;</code>
         *
         * @return The fMOKLFNAOOK.
         */
        int getFMOKLFNAOOK();

        /**
         * <code>uint32 tag = 1897;</code>
         *
         * @return The tag.
         */
        int getTag();

        /**
         * <code>uint32 CIJNPHDIOND = 5;</code>
         *
         * @return The cIJNPHDIOND.
         */
        int getCIJNPHDIOND();

        /**
         * <code>uint32 client_data_version = 1098;</code>
         *
         * @return The clientDataVersion.
         */
        int getClientDataVersion();

        /**
         * <code>string DABNCDNACJK = 587;</code>
         *
         * @return The dABNCDNACJK.
         */
        java.lang.String getDABNCDNACJK();
        /**
         * <code>string DABNCDNACJK = 587;</code>
         *
         * @return The bytes for dABNCDNACJK.
         */
        com.google.protobuf.ByteString getDABNCDNACJKBytes();

        /**
         * <code>string device_uuid = 13;</code>
         *
         * @return The deviceUuid.
         */
        java.lang.String getDeviceUuid();
        /**
         * <code>string device_uuid = 13;</code>
         *
         * @return The bytes for deviceUuid.
         */
        com.google.protobuf.ByteString getDeviceUuidBytes();

        /**
         * <code>uint32 platform_type = 15;</code>
         *
         * @return The platformType.
         */
        int getPlatformType();

        /**
         * <code>bytes security_cmd_reply = 1959;</code>
         *
         * @return The securityCmdReply.
         */
        com.google.protobuf.ByteString getSecurityCmdReply();

        /**
         * <code>uint32 LFPHHMGKIIP = 1187;</code>
         *
         * @return The lFPHHMGKIIP.
         */
        int getLFPHHMGKIIP();

        /**
         * <code>string birthday = 1256;</code>
         *
         * @return The birthday.
         */
        java.lang.String getBirthday();
        /**
         * <code>string birthday = 1256;</code>
         *
         * @return The bytes for birthday.
         */
        com.google.protobuf.ByteString getBirthdayBytes();
    }
    /**
     *
     *
     * <pre>
     * CmdId: 189
     * Name: CLFNBHKDFFH
     * </pre>
     *
     * Protobuf type {@code PlayerLoginReq}
     */
    public static final class PlayerLoginReq extends com.google.protobuf.GeneratedMessageV3
            implements
            // @@protoc_insertion_point(message_implements:PlayerLoginReq)
            PlayerLoginReqOrBuilder {
        private static final long serialVersionUID = 0L;
        // Use PlayerLoginReq.newBuilder() to construct.
        private PlayerLoginReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private PlayerLoginReq() {
            token_ = "";
            jKPKMFPELKK_ = "";
            onlineId_ = "";
            systemVersion_ = "";
            dOAPGNNFLBJ_ = "";
            accountUid_ = "";
            securityLibraryMd5_ = "";
            countryCode_ = "";
            checksum_ = "";
            deviceInfo_ = "";
            jLOPICGGPBP_ = com.google.protobuf.ByteString.EMPTY;
            checksumClientVersion_ = "";
            clientVersion_ = "";
            psnId_ = "";
            environmentErrorCode_ = com.google.protobuf.ByteString.EMPTY;
            platform_ = "";
            clientVerisonHash_ = "";
            deviceName_ = "";
            dABNCDNACJK_ = "";
            deviceUuid_ = "";
            securityCmdReply_ = com.google.protobuf.ByteString.EMPTY;
            birthday_ = "";
        }

        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
            return new PlayerLoginReq();
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private PlayerLoginReq(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                    com.google.protobuf.UnknownFieldSet.newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                platform_ = s;
                                break;
                            }
                        case 18:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                systemVersion_ = s;
                                break;
                            }
                        case 26:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                clientVersion_ = s;
                                break;
                            }
                        case 34:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                accountUid_ = s;
                                break;
                            }
                        case 40:
                            {
                                cIJNPHDIOND_ = input.readUInt32();
                                break;
                            }
                        case 48:
                            {
                                isGuest_ = input.readBool();
                                break;
                            }
                        case 56:
                            {
                                languageType_ = input.readUInt32();
                                break;
                            }
                        case 66:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                token_ = s;
                                break;
                            }
                        case 74:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                deviceName_ = s;
                                break;
                            }
                        case 80:
                            {
                                isEditor_ = input.readBool();
                                break;
                            }
                        case 90:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                deviceInfo_ = s;
                                break;
                            }
                        case 96:
                            {
                                loginRand_ = input.readUInt64();
                                break;
                            }
                        case 106:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                deviceUuid_ = s;
                                break;
                            }
                        case 112:
                            {
                                targetUid_ = input.readUInt32();
                                break;
                            }
                        case 120:
                            {
                                platformType_ = input.readUInt32();
                                break;
                            }
                        case 2034:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                securityLibraryMd5_ = s;
                                break;
                            }
                        case 3986:
                            {
                                emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.Builder
                                        subBuilder = null;
                                if (trackingIoInfo_ != null) {
                                    subBuilder = trackingIoInfo_.toBuilder();
                                }
                                trackingIoInfo_ =
                                        input.readMessage(
                                                emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.parser(),
                                                extensionRegistry);
                                if (subBuilder != null) {
                                    subBuilder.mergeFrom(trackingIoInfo_);
                                    trackingIoInfo_ = subBuilder.buildPartial();
                                }

                                break;
                            }
                        case 4698:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                dABNCDNACJK_ = s;
                                break;
                            }
                        case 6226:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                jKPKMFPELKK_ = s;
                                break;
                            }
                        case 6586:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                checksumClientVersion_ = s;
                                break;
                            }
                        case 6632:
                            {
                                fGAKKMHIKHF_ = input.readUInt32();
                                break;
                            }
                        case 6656:
                            {
                                fIDMBJJPBEH_ = input.readUInt32();
                                break;
                            }
                        case 7272:
                            {
                                kDIHPMJOCPG_ = input.readUInt32();
                                break;
                            }
                        case 7304:
                            {
                                channelId_ = input.readUInt32();
                                break;
                            }
                        case 7378:
                            {
                                environmentErrorCode_ = input.readBytes();
                                break;
                            }
                        case 7490:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                countryCode_ = s;
                                break;
                            }
                        case 7826:
                            {
                                jLOPICGGPBP_ = input.readBytes();
                                break;
                            }
                        case 8784:
                            {
                                clientDataVersion_ = input.readUInt32();
                                break;
                            }
                        case 9002:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                psnId_ = s;
                                break;
                            }
                        case 9384:
                            {
                                fMOKLFNAOOK_ = input.readUInt32();
                                break;
                            }
                        case 9496:
                            {
                                lFPHHMGKIIP_ = input.readUInt32();
                                break;
                            }
                        case 10050:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                birthday_ = s;
                                break;
                            }
                        case 10818:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                dOAPGNNFLBJ_ = s;
                                break;
                            }
                        case 11056:
                            {
                                isTransfer_ = input.readBool();
                                break;
                            }
                        case 12154:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                clientVerisonHash_ = s;
                                break;
                            }
                        case 13200:
                            {
                                eCJMGOCEABB_ = input.readUInt32();
                                break;
                            }
                        case 14250:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                onlineId_ = s;
                                break;
                            }
                        case 15176:
                            {
                                tag_ = input.readUInt32();
                                break;
                            }
                        case 15626:
                            {
                                java.lang.String s = input.readStringRequireUtf8();

                                checksum_ = s;
                                break;
                            }
                        case 15674:
                            {
                                securityCmdReply_ = input.readBytes();
                                break;
                            }
                        case 16082:
                            {
                                emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo.Builder
                                        subBuilder = null;
                                if (adjustTrackingInfo_ != null) {
                                    subBuilder = adjustTrackingInfo_.toBuilder();
                                }
                                adjustTrackingInfo_ =
                                        input.readMessage(
                                                emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                                                        .parser(),
                                                extensionRegistry);
                                if (subBuilder != null) {
                                    subBuilder.mergeFrom(adjustTrackingInfo_);
                                    adjustTrackingInfo_ = subBuilder.buildPartial();
                                }

                                break;
                            }
                        case 16120:
                            {
                                cJHEEAGCFJG_ = input.readUInt32();
                                break;
                            }
                        case 16264:
                            {
                                pNJNCCNPILL_ = input.readUInt32();
                                break;
                            }
                        default:
                            {
                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                    done = true;
                                }
                                break;
                            }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return emu.grasscutter.net.proto.PlayerLoginReqOuterClass
                    .internal_static_PlayerLoginReq_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
                internalGetFieldAccessorTable() {
            return emu.grasscutter.net.proto.PlayerLoginReqOuterClass
                    .internal_static_PlayerLoginReq_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                            emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq.class,
                            emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq.Builder.class);
        }

        public static final int KDIHPMJOCPG_FIELD_NUMBER = 909;
        private int kDIHPMJOCPG_;
        /**
         * <code>uint32 KDIHPMJOCPG = 909;</code>
         *
         * @return The kDIHPMJOCPG.
         */
        @java.lang.Override
        public int getKDIHPMJOCPG() {
            return kDIHPMJOCPG_;
        }

        public static final int PNJNCCNPILL_FIELD_NUMBER = 2033;
        private int pNJNCCNPILL_;
        /**
         * <code>uint32 PNJNCCNPILL = 2033;</code>
         *
         * @return The pNJNCCNPILL.
         */
        @java.lang.Override
        public int getPNJNCCNPILL() {
            return pNJNCCNPILL_;
        }

        public static final int TOKEN_FIELD_NUMBER = 8;
        private volatile java.lang.Object token_;
        /**
         * <code>string token = 8;</code>
         *
         * @return The token.
         */
        @java.lang.Override
        public java.lang.String getToken() {
            java.lang.Object ref = token_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                token_ = s;
                return s;
            }
        }
        /**
         * <code>string token = 8;</code>
         *
         * @return The bytes for token.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getTokenBytes() {
            java.lang.Object ref = token_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                token_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int IS_GUEST_FIELD_NUMBER = 6;
        private boolean isGuest_;
        /**
         * <code>bool is_guest = 6;</code>
         *
         * @return The isGuest.
         */
        @java.lang.Override
        public boolean getIsGuest() {
            return isGuest_;
        }

        public static final int JKPKMFPELKK_FIELD_NUMBER = 778;
        private volatile java.lang.Object jKPKMFPELKK_;
        /**
         *
         *
         * <pre>
         * not work
         * </pre>
         *
         * <code>string JKPKMFPELKK = 778;</code>
         *
         * @return The jKPKMFPELKK.
         */
        @java.lang.Override
        public java.lang.String getJKPKMFPELKK() {
            java.lang.Object ref = jKPKMFPELKK_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                jKPKMFPELKK_ = s;
                return s;
            }
        }
        /**
         *
         *
         * <pre>
         * not work
         * </pre>
         *
         * <code>string JKPKMFPELKK = 778;</code>
         *
         * @return The bytes for jKPKMFPELKK.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getJKPKMFPELKKBytes() {
            java.lang.Object ref = jKPKMFPELKK_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                jKPKMFPELKK_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int ONLINE_ID_FIELD_NUMBER = 1781;
        private volatile java.lang.Object onlineId_;
        /**
         * <code>string online_id = 1781;</code>
         *
         * @return The onlineId.
         */
        @java.lang.Override
        public java.lang.String getOnlineId() {
            java.lang.Object ref = onlineId_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                onlineId_ = s;
                return s;
            }
        }
        /**
         * <code>string online_id = 1781;</code>
         *
         * @return The bytes for onlineId.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getOnlineIdBytes() {
            java.lang.Object ref = onlineId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                onlineId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int ADJUST_TRACKING_INFO_FIELD_NUMBER = 2010;
        private emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                adjustTrackingInfo_;
        /**
         * <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code>
         *
         * @return Whether the adjustTrackingInfo field is set.
         */
        @java.lang.Override
        public boolean hasAdjustTrackingInfo() {
            return adjustTrackingInfo_ != null;
        }
        /**
         * <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code>
         *
         * @return The adjustTrackingInfo.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                getAdjustTrackingInfo() {
            return adjustTrackingInfo_ == null
                    ? emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                            .getDefaultInstance()
                    : adjustTrackingInfo_;
        }
        /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfoOrBuilder
                getAdjustTrackingInfoOrBuilder() {
            return getAdjustTrackingInfo();
        }

        public static final int LOGIN_RAND_FIELD_NUMBER = 12;
        private long loginRand_;
        /**
         * <code>uint64 login_rand = 12;</code>
         *
         * @return The loginRand.
         */
        @java.lang.Override
        public long getLoginRand() {
            return loginRand_;
        }

        public static final int TRACKING_IO_INFO_FIELD_NUMBER = 498;
        private emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo trackingIoInfo_;
        /**
         * <code>.TrackingIOInfo tracking_io_info = 498;</code>
         *
         * @return Whether the trackingIoInfo field is set.
         */
        @java.lang.Override
        public boolean hasTrackingIoInfo() {
            return trackingIoInfo_ != null;
        }
        /**
         * <code>.TrackingIOInfo tracking_io_info = 498;</code>
         *
         * @return The trackingIoInfo.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo getTrackingIoInfo() {
            return trackingIoInfo_ == null
                    ? emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.getDefaultInstance()
                    : trackingIoInfo_;
        }
        /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfoOrBuilder
                getTrackingIoInfoOrBuilder() {
            return getTrackingIoInfo();
        }

        public static final int LANGUAGE_TYPE_FIELD_NUMBER = 7;
        private int languageType_;
        /**
         * <code>uint32 language_type = 7;</code>
         *
         * @return The languageType.
         */
        @java.lang.Override
        public int getLanguageType() {
            return languageType_;
        }

        public static final int CJHEEAGCFJG_FIELD_NUMBER = 2015;
        private int cJHEEAGCFJG_;
        /**
         * <code>uint32 CJHEEAGCFJG = 2015;</code>
         *
         * @return The cJHEEAGCFJG.
         */
        @java.lang.Override
        public int getCJHEEAGCFJG() {
            return cJHEEAGCFJG_;
        }

        public static final int FGAKKMHIKHF_FIELD_NUMBER = 829;
        private int fGAKKMHIKHF_;
        /**
         * <code>uint32 FGAKKMHIKHF = 829;</code>
         *
         * @return The fGAKKMHIKHF.
         */
        @java.lang.Override
        public int getFGAKKMHIKHF() {
            return fGAKKMHIKHF_;
        }

        public static final int SYSTEM_VERSION_FIELD_NUMBER = 2;
        private volatile java.lang.Object systemVersion_;
        /**
         * <code>string system_version = 2;</code>
         *
         * @return The systemVersion.
         */
        @java.lang.Override
        public java.lang.String getSystemVersion() {
            java.lang.Object ref = systemVersion_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                systemVersion_ = s;
                return s;
            }
        }
        /**
         * <code>string system_version = 2;</code>
         *
         * @return The bytes for systemVersion.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getSystemVersionBytes() {
            java.lang.Object ref = systemVersion_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                systemVersion_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int DOAPGNNFLBJ_FIELD_NUMBER = 1352;
        private volatile java.lang.Object dOAPGNNFLBJ_;
        /**
         *
         *
         * <pre>
         * not work
         * </pre>
         *
         * <code>string DOAPGNNFLBJ = 1352;</code>
         *
         * @return The dOAPGNNFLBJ.
         */
        @java.lang.Override
        public java.lang.String getDOAPGNNFLBJ() {
            java.lang.Object ref = dOAPGNNFLBJ_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                dOAPGNNFLBJ_ = s;
                return s;
            }
        }
        /**
         *
         *
         * <pre>
         * not work
         * </pre>
         *
         * <code>string DOAPGNNFLBJ = 1352;</code>
         *
         * @return The bytes for dOAPGNNFLBJ.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getDOAPGNNFLBJBytes() {
            java.lang.Object ref = dOAPGNNFLBJ_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                dOAPGNNFLBJ_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int ACCOUNT_UID_FIELD_NUMBER = 4;
        private volatile java.lang.Object accountUid_;
        /**
         * <code>string account_uid = 4;</code>
         *
         * @return The accountUid.
         */
        @java.lang.Override
        public java.lang.String getAccountUid() {
            java.lang.Object ref = accountUid_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                accountUid_ = s;
                return s;
            }
        }
        /**
         * <code>string account_uid = 4;</code>
         *
         * @return The bytes for accountUid.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getAccountUidBytes() {
            java.lang.Object ref = accountUid_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                accountUid_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int TARGET_UID_FIELD_NUMBER = 14;
        private int targetUid_;
        /**
         * <code>uint32 target_uid = 14;</code>
         *
         * @return The targetUid.
         */
        @java.lang.Override
        public int getTargetUid() {
            return targetUid_;
        }

        public static final int SECURITY_LIBRARY_MD5_FIELD_NUMBER = 254;
        private volatile java.lang.Object securityLibraryMd5_;
        /**
         * <code>string security_library_md5 = 254;</code>
         *
         * @return The securityLibraryMd5.
         */
        @java.lang.Override
        public java.lang.String getSecurityLibraryMd5() {
            java.lang.Object ref = securityLibraryMd5_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                securityLibraryMd5_ = s;
                return s;
            }
        }
        /**
         * <code>string security_library_md5 = 254;</code>
         *
         * @return The bytes for securityLibraryMd5.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getSecurityLibraryMd5Bytes() {
            java.lang.Object ref = securityLibraryMd5_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                securityLibraryMd5_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int COUNTRY_CODE_FIELD_NUMBER = 936;
        private volatile java.lang.Object countryCode_;
        /**
         * <code>string country_code = 936;</code>
         *
         * @return The countryCode.
         */
        @java.lang.Override
        public java.lang.String getCountryCode() {
            java.lang.Object ref = countryCode_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                countryCode_ = s;
                return s;
            }
        }
        /**
         * <code>string country_code = 936;</code>
         *
         * @return The bytes for countryCode.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getCountryCodeBytes() {
            java.lang.Object ref = countryCode_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                countryCode_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int FIDMBJJPBEH_FIELD_NUMBER = 832;
        private int fIDMBJJPBEH_;
        /**
         * <code>uint32 FIDMBJJPBEH = 832;</code>
         *
         * @return The fIDMBJJPBEH.
         */
        @java.lang.Override
        public int getFIDMBJJPBEH() {
            return fIDMBJJPBEH_;
        }

        public static final int CHECKSUM_FIELD_NUMBER = 1953;
        private volatile java.lang.Object checksum_;
        /**
         * <code>string checksum = 1953;</code>
         *
         * @return The checksum.
         */
        @java.lang.Override
        public java.lang.String getChecksum() {
            java.lang.Object ref = checksum_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                checksum_ = s;
                return s;
            }
        }
        /**
         * <code>string checksum = 1953;</code>
         *
         * @return The bytes for checksum.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getChecksumBytes() {
            java.lang.Object ref = checksum_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                checksum_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int DEVICE_INFO_FIELD_NUMBER = 11;
        private volatile java.lang.Object deviceInfo_;
        /**
         * <code>string device_info = 11;</code>
         *
         * @return The deviceInfo.
         */
        @java.lang.Override
        public java.lang.String getDeviceInfo() {
            java.lang.Object ref = deviceInfo_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                deviceInfo_ = s;
                return s;
            }
        }
        /**
         * <code>string device_info = 11;</code>
         *
         * @return The bytes for deviceInfo.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getDeviceInfoBytes() {
            java.lang.Object ref = deviceInfo_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                deviceInfo_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int JLOPICGGPBP_FIELD_NUMBER = 978;
        private com.google.protobuf.ByteString jLOPICGGPBP_;
        /**
         * <code>bytes JLOPICGGPBP = 978;</code>
         *
         * @return The jLOPICGGPBP.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getJLOPICGGPBP() {
            return jLOPICGGPBP_;
        }

        public static final int CHECKSUM_CLIENT_VERSION_FIELD_NUMBER = 823;
        private volatile java.lang.Object checksumClientVersion_;
        /**
         * <code>string checksum_client_version = 823;</code>
         *
         * @return The checksumClientVersion.
         */
        @java.lang.Override
        public java.lang.String getChecksumClientVersion() {
            java.lang.Object ref = checksumClientVersion_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                checksumClientVersion_ = s;
                return s;
            }
        }
        /**
         * <code>string checksum_client_version = 823;</code>
         *
         * @return The bytes for checksumClientVersion.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getChecksumClientVersionBytes() {
            java.lang.Object ref = checksumClientVersion_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                checksumClientVersion_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int ECJMGOCEABB_FIELD_NUMBER = 1650;
        private int eCJMGOCEABB_;
        /**
         * <code>uint32 ECJMGOCEABB = 1650;</code>
         *
         * @return The eCJMGOCEABB.
         */
        @java.lang.Override
        public int getECJMGOCEABB() {
            return eCJMGOCEABB_;
        }

        public static final int CLIENT_VERSION_FIELD_NUMBER = 3;
        private volatile java.lang.Object clientVersion_;
        /**
         *
         *
         * <pre>
         * ENNPHCJEFFC bruh finally got it right
         * </pre>
         *
         * <code>string client_version = 3;</code>
         *
         * @return The clientVersion.
         */
        @java.lang.Override
        public java.lang.String getClientVersion() {
            java.lang.Object ref = clientVersion_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                clientVersion_ = s;
                return s;
            }
        }
        /**
         *
         *
         * <pre>
         * ENNPHCJEFFC bruh finally got it right
         * </pre>
         *
         * <code>string client_version = 3;</code>
         *
         * @return The bytes for clientVersion.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getClientVersionBytes() {
            java.lang.Object ref = clientVersion_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                clientVersion_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int PSN_ID_FIELD_NUMBER = 1125;
        private volatile java.lang.Object psnId_;
        /**
         * <code>string psn_id = 1125;</code>
         *
         * @return The psnId.
         */
        @java.lang.Override
        public java.lang.String getPsnId() {
            java.lang.Object ref = psnId_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                psnId_ = s;
                return s;
            }
        }
        /**
         * <code>string psn_id = 1125;</code>
         *
         * @return The bytes for psnId.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getPsnIdBytes() {
            java.lang.Object ref = psnId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                psnId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int IS_EDITOR_FIELD_NUMBER = 10;
        private boolean isEditor_;
        /**
         * <code>bool is_editor = 10;</code>
         *
         * @return The isEditor.
         */
        @java.lang.Override
        public boolean getIsEditor() {
            return isEditor_;
        }

        public static final int ENVIRONMENT_ERROR_CODE_FIELD_NUMBER = 922;
        private com.google.protobuf.ByteString environmentErrorCode_;
        /**
         * <code>bytes environment_error_code = 922;</code>
         *
         * @return The environmentErrorCode.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getEnvironmentErrorCode() {
            return environmentErrorCode_;
        }

        public static final int PLATFORM_FIELD_NUMBER = 1;
        private volatile java.lang.Object platform_;
        /**
         * <code>string platform = 1;</code>
         *
         * @return The platform.
         */
        @java.lang.Override
        public java.lang.String getPlatform() {
            java.lang.Object ref = platform_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                platform_ = s;
                return s;
            }
        }
        /**
         * <code>string platform = 1;</code>
         *
         * @return The bytes for platform.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getPlatformBytes() {
            java.lang.Object ref = platform_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                platform_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int CHANNEL_ID_FIELD_NUMBER = 913;
        private int channelId_;
        /**
         * <code>uint32 channel_id = 913;</code>
         *
         * @return The channelId.
         */
        @java.lang.Override
        public int getChannelId() {
            return channelId_;
        }

        public static final int IS_TRANSFER_FIELD_NUMBER = 1382;
        private boolean isTransfer_;
        /**
         * <code>bool is_transfer = 1382;</code>
         *
         * @return The isTransfer.
         */
        @java.lang.Override
        public boolean getIsTransfer() {
            return isTransfer_;
        }

        public static final int CLIENT_VERISON_HASH_FIELD_NUMBER = 1519;
        private volatile java.lang.Object clientVerisonHash_;
        /**
         * <code>string client_verison_hash = 1519;</code>
         *
         * @return The clientVerisonHash.
         */
        @java.lang.Override
        public java.lang.String getClientVerisonHash() {
            java.lang.Object ref = clientVerisonHash_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                clientVerisonHash_ = s;
                return s;
            }
        }
        /**
         * <code>string client_verison_hash = 1519;</code>
         *
         * @return The bytes for clientVerisonHash.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getClientVerisonHashBytes() {
            java.lang.Object ref = clientVerisonHash_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                clientVerisonHash_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int DEVICE_NAME_FIELD_NUMBER = 9;
        private volatile java.lang.Object deviceName_;
        /**
         * <code>string device_name = 9;</code>
         *
         * @return The deviceName.
         */
        @java.lang.Override
        public java.lang.String getDeviceName() {
            java.lang.Object ref = deviceName_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                deviceName_ = s;
                return s;
            }
        }
        /**
         * <code>string device_name = 9;</code>
         *
         * @return The bytes for deviceName.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getDeviceNameBytes() {
            java.lang.Object ref = deviceName_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                deviceName_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int FMOKLFNAOOK_FIELD_NUMBER = 1173;
        private int fMOKLFNAOOK_;
        /**
         * <code>uint32 FMOKLFNAOOK = 1173;</code>
         *
         * @return The fMOKLFNAOOK.
         */
        @java.lang.Override
        public int getFMOKLFNAOOK() {
            return fMOKLFNAOOK_;
        }

        public static final int TAG_FIELD_NUMBER = 1897;
        private int tag_;
        /**
         * <code>uint32 tag = 1897;</code>
         *
         * @return The tag.
         */
        @java.lang.Override
        public int getTag() {
            return tag_;
        }

        public static final int CIJNPHDIOND_FIELD_NUMBER = 5;
        private int cIJNPHDIOND_;
        /**
         * <code>uint32 CIJNPHDIOND = 5;</code>
         *
         * @return The cIJNPHDIOND.
         */
        @java.lang.Override
        public int getCIJNPHDIOND() {
            return cIJNPHDIOND_;
        }

        public static final int CLIENT_DATA_VERSION_FIELD_NUMBER = 1098;
        private int clientDataVersion_;
        /**
         * <code>uint32 client_data_version = 1098;</code>
         *
         * @return The clientDataVersion.
         */
        @java.lang.Override
        public int getClientDataVersion() {
            return clientDataVersion_;
        }

        public static final int DABNCDNACJK_FIELD_NUMBER = 587;
        private volatile java.lang.Object dABNCDNACJK_;
        /**
         * <code>string DABNCDNACJK = 587;</code>
         *
         * @return The dABNCDNACJK.
         */
        @java.lang.Override
        public java.lang.String getDABNCDNACJK() {
            java.lang.Object ref = dABNCDNACJK_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                dABNCDNACJK_ = s;
                return s;
            }
        }
        /**
         * <code>string DABNCDNACJK = 587;</code>
         *
         * @return The bytes for dABNCDNACJK.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getDABNCDNACJKBytes() {
            java.lang.Object ref = dABNCDNACJK_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                dABNCDNACJK_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int DEVICE_UUID_FIELD_NUMBER = 13;
        private volatile java.lang.Object deviceUuid_;
        /**
         * <code>string device_uuid = 13;</code>
         *
         * @return The deviceUuid.
         */
        @java.lang.Override
        public java.lang.String getDeviceUuid() {
            java.lang.Object ref = deviceUuid_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                deviceUuid_ = s;
                return s;
            }
        }
        /**
         * <code>string device_uuid = 13;</code>
         *
         * @return The bytes for deviceUuid.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getDeviceUuidBytes() {
            java.lang.Object ref = deviceUuid_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                deviceUuid_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int PLATFORM_TYPE_FIELD_NUMBER = 15;
        private int platformType_;
        /**
         * <code>uint32 platform_type = 15;</code>
         *
         * @return The platformType.
         */
        @java.lang.Override
        public int getPlatformType() {
            return platformType_;
        }

        public static final int SECURITY_CMD_REPLY_FIELD_NUMBER = 1959;
        private com.google.protobuf.ByteString securityCmdReply_;
        /**
         * <code>bytes security_cmd_reply = 1959;</code>
         *
         * @return The securityCmdReply.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getSecurityCmdReply() {
            return securityCmdReply_;
        }

        public static final int LFPHHMGKIIP_FIELD_NUMBER = 1187;
        private int lFPHHMGKIIP_;
        /**
         * <code>uint32 LFPHHMGKIIP = 1187;</code>
         *
         * @return The lFPHHMGKIIP.
         */
        @java.lang.Override
        public int getLFPHHMGKIIP() {
            return lFPHHMGKIIP_;
        }

        public static final int BIRTHDAY_FIELD_NUMBER = 1256;
        private volatile java.lang.Object birthday_;
        /**
         * <code>string birthday = 1256;</code>
         *
         * @return The birthday.
         */
        @java.lang.Override
        public java.lang.String getBirthday() {
            java.lang.Object ref = birthday_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                birthday_ = s;
                return s;
            }
        }
        /**
         * <code>string birthday = 1256;</code>
         *
         * @return The bytes for birthday.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getBirthdayBytes() {
            java.lang.Object ref = birthday_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b =
                        com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                birthday_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        private byte memoizedIsInitialized = -1;

        @java.lang.Override
        public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1) return true;
            if (isInitialized == 0) return false;

            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(platform_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, platform_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(systemVersion_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, systemVersion_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(clientVersion_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, clientVersion_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(accountUid_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 4, accountUid_);
            }
            if (cIJNPHDIOND_ != 0) {
                output.writeUInt32(5, cIJNPHDIOND_);
            }
            if (isGuest_ != false) {
                output.writeBool(6, isGuest_);
            }
            if (languageType_ != 0) {
                output.writeUInt32(7, languageType_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(token_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 8, token_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceName_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 9, deviceName_);
            }
            if (isEditor_ != false) {
                output.writeBool(10, isEditor_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceInfo_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 11, deviceInfo_);
            }
            if (loginRand_ != 0L) {
                output.writeUInt64(12, loginRand_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceUuid_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 13, deviceUuid_);
            }
            if (targetUid_ != 0) {
                output.writeUInt32(14, targetUid_);
            }
            if (platformType_ != 0) {
                output.writeUInt32(15, platformType_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(securityLibraryMd5_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 254, securityLibraryMd5_);
            }
            if (trackingIoInfo_ != null) {
                output.writeMessage(498, getTrackingIoInfo());
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dABNCDNACJK_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 587, dABNCDNACJK_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(jKPKMFPELKK_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 778, jKPKMFPELKK_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(checksumClientVersion_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 823, checksumClientVersion_);
            }
            if (fGAKKMHIKHF_ != 0) {
                output.writeUInt32(829, fGAKKMHIKHF_);
            }
            if (fIDMBJJPBEH_ != 0) {
                output.writeUInt32(832, fIDMBJJPBEH_);
            }
            if (kDIHPMJOCPG_ != 0) {
                output.writeUInt32(909, kDIHPMJOCPG_);
            }
            if (channelId_ != 0) {
                output.writeUInt32(913, channelId_);
            }
            if (!environmentErrorCode_.isEmpty()) {
                output.writeBytes(922, environmentErrorCode_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(countryCode_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 936, countryCode_);
            }
            if (!jLOPICGGPBP_.isEmpty()) {
                output.writeBytes(978, jLOPICGGPBP_);
            }
            if (clientDataVersion_ != 0) {
                output.writeUInt32(1098, clientDataVersion_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(psnId_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1125, psnId_);
            }
            if (fMOKLFNAOOK_ != 0) {
                output.writeUInt32(1173, fMOKLFNAOOK_);
            }
            if (lFPHHMGKIIP_ != 0) {
                output.writeUInt32(1187, lFPHHMGKIIP_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(birthday_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1256, birthday_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dOAPGNNFLBJ_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1352, dOAPGNNFLBJ_);
            }
            if (isTransfer_ != false) {
                output.writeBool(1382, isTransfer_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(clientVerisonHash_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1519, clientVerisonHash_);
            }
            if (eCJMGOCEABB_ != 0) {
                output.writeUInt32(1650, eCJMGOCEABB_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(onlineId_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1781, onlineId_);
            }
            if (tag_ != 0) {
                output.writeUInt32(1897, tag_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(checksum_)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1953, checksum_);
            }
            if (!securityCmdReply_.isEmpty()) {
                output.writeBytes(1959, securityCmdReply_);
            }
            if (adjustTrackingInfo_ != null) {
                output.writeMessage(2010, getAdjustTrackingInfo());
            }
            if (cJHEEAGCFJG_ != 0) {
                output.writeUInt32(2015, cJHEEAGCFJG_);
            }
            if (pNJNCCNPILL_ != 0) {
                output.writeUInt32(2033, pNJNCCNPILL_);
            }
            unknownFields.writeTo(output);
        }

        @java.lang.Override
        public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1) return size;

            size = 0;
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(platform_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, platform_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(systemVersion_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, systemVersion_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(clientVersion_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, clientVersion_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(accountUid_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, accountUid_);
            }
            if (cIJNPHDIOND_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(5, cIJNPHDIOND_);
            }
            if (isGuest_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, isGuest_);
            }
            if (languageType_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(7, languageType_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(token_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, token_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceName_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, deviceName_);
            }
            if (isEditor_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(10, isEditor_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceInfo_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, deviceInfo_);
            }
            if (loginRand_ != 0L) {
                size += com.google.protobuf.CodedOutputStream.computeUInt64Size(12, loginRand_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceUuid_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, deviceUuid_);
            }
            if (targetUid_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(14, targetUid_);
            }
            if (platformType_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(15, platformType_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(securityLibraryMd5_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(254, securityLibraryMd5_);
            }
            if (trackingIoInfo_ != null) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(498, getTrackingIoInfo());
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dABNCDNACJK_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(587, dABNCDNACJK_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(jKPKMFPELKK_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(778, jKPKMFPELKK_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(checksumClientVersion_)) {
                size +=
                        com.google.protobuf.GeneratedMessageV3.computeStringSize(823, checksumClientVersion_);
            }
            if (fGAKKMHIKHF_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(829, fGAKKMHIKHF_);
            }
            if (fIDMBJJPBEH_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(832, fIDMBJJPBEH_);
            }
            if (kDIHPMJOCPG_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(909, kDIHPMJOCPG_);
            }
            if (channelId_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(913, channelId_);
            }
            if (!environmentErrorCode_.isEmpty()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(922, environmentErrorCode_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(countryCode_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(936, countryCode_);
            }
            if (!jLOPICGGPBP_.isEmpty()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(978, jLOPICGGPBP_);
            }
            if (clientDataVersion_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1098, clientDataVersion_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(psnId_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1125, psnId_);
            }
            if (fMOKLFNAOOK_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1173, fMOKLFNAOOK_);
            }
            if (lFPHHMGKIIP_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1187, lFPHHMGKIIP_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(birthday_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1256, birthday_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dOAPGNNFLBJ_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1352, dOAPGNNFLBJ_);
            }
            if (isTransfer_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(1382, isTransfer_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(clientVerisonHash_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1519, clientVerisonHash_);
            }
            if (eCJMGOCEABB_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1650, eCJMGOCEABB_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(onlineId_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1781, onlineId_);
            }
            if (tag_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1897, tag_);
            }
            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(checksum_)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1953, checksum_);
            }
            if (!securityCmdReply_.isEmpty()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(1959, securityCmdReply_);
            }
            if (adjustTrackingInfo_ != null) {
                size +=
                        com.google.protobuf.CodedOutputStream.computeMessageSize(2010, getAdjustTrackingInfo());
            }
            if (cJHEEAGCFJG_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(2015, cJHEEAGCFJG_);
            }
            if (pNJNCCNPILL_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(2033, pNJNCCNPILL_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq)) {
                return super.equals(obj);
            }
            emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq other =
                    (emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq) obj;

            if (getKDIHPMJOCPG() != other.getKDIHPMJOCPG()) return false;
            if (getPNJNCCNPILL() != other.getPNJNCCNPILL()) return false;
            if (!getToken().equals(other.getToken())) return false;
            if (getIsGuest() != other.getIsGuest()) return false;
            if (!getJKPKMFPELKK().equals(other.getJKPKMFPELKK())) return false;
            if (!getOnlineId().equals(other.getOnlineId())) return false;
            if (hasAdjustTrackingInfo() != other.hasAdjustTrackingInfo()) return false;
            if (hasAdjustTrackingInfo()) {
                if (!getAdjustTrackingInfo().equals(other.getAdjustTrackingInfo())) return false;
            }
            if (getLoginRand() != other.getLoginRand()) return false;
            if (hasTrackingIoInfo() != other.hasTrackingIoInfo()) return false;
            if (hasTrackingIoInfo()) {
                if (!getTrackingIoInfo().equals(other.getTrackingIoInfo())) return false;
            }
            if (getLanguageType() != other.getLanguageType()) return false;
            if (getCJHEEAGCFJG() != other.getCJHEEAGCFJG()) return false;
            if (getFGAKKMHIKHF() != other.getFGAKKMHIKHF()) return false;
            if (!getSystemVersion().equals(other.getSystemVersion())) return false;
            if (!getDOAPGNNFLBJ().equals(other.getDOAPGNNFLBJ())) return false;
            if (!getAccountUid().equals(other.getAccountUid())) return false;
            if (getTargetUid() != other.getTargetUid()) return false;
            if (!getSecurityLibraryMd5().equals(other.getSecurityLibraryMd5())) return false;
            if (!getCountryCode().equals(other.getCountryCode())) return false;
            if (getFIDMBJJPBEH() != other.getFIDMBJJPBEH()) return false;
            if (!getChecksum().equals(other.getChecksum())) return false;
            if (!getDeviceInfo().equals(other.getDeviceInfo())) return false;
            if (!getJLOPICGGPBP().equals(other.getJLOPICGGPBP())) return false;
            if (!getChecksumClientVersion().equals(other.getChecksumClientVersion())) return false;
            if (getECJMGOCEABB() != other.getECJMGOCEABB()) return false;
            if (!getClientVersion().equals(other.getClientVersion())) return false;
            if (!getPsnId().equals(other.getPsnId())) return false;
            if (getIsEditor() != other.getIsEditor()) return false;
            if (!getEnvironmentErrorCode().equals(other.getEnvironmentErrorCode())) return false;
            if (!getPlatform().equals(other.getPlatform())) return false;
            if (getChannelId() != other.getChannelId()) return false;
            if (getIsTransfer() != other.getIsTransfer()) return false;
            if (!getClientVerisonHash().equals(other.getClientVerisonHash())) return false;
            if (!getDeviceName().equals(other.getDeviceName())) return false;
            if (getFMOKLFNAOOK() != other.getFMOKLFNAOOK()) return false;
            if (getTag() != other.getTag()) return false;
            if (getCIJNPHDIOND() != other.getCIJNPHDIOND()) return false;
            if (getClientDataVersion() != other.getClientDataVersion()) return false;
            if (!getDABNCDNACJK().equals(other.getDABNCDNACJK())) return false;
            if (!getDeviceUuid().equals(other.getDeviceUuid())) return false;
            if (getPlatformType() != other.getPlatformType()) return false;
            if (!getSecurityCmdReply().equals(other.getSecurityCmdReply())) return false;
            if (getLFPHHMGKIIP() != other.getLFPHHMGKIIP()) return false;
            if (!getBirthday().equals(other.getBirthday())) return false;
            if (!unknownFields.equals(other.unknownFields)) return false;
            return true;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            hash = (37 * hash) + KDIHPMJOCPG_FIELD_NUMBER;
            hash = (53 * hash) + getKDIHPMJOCPG();
            hash = (37 * hash) + PNJNCCNPILL_FIELD_NUMBER;
            hash = (53 * hash) + getPNJNCCNPILL();
            hash = (37 * hash) + TOKEN_FIELD_NUMBER;
            hash = (53 * hash) + getToken().hashCode();
            hash = (37 * hash) + IS_GUEST_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsGuest());
            hash = (37 * hash) + JKPKMFPELKK_FIELD_NUMBER;
            hash = (53 * hash) + getJKPKMFPELKK().hashCode();
            hash = (37 * hash) + ONLINE_ID_FIELD_NUMBER;
            hash = (53 * hash) + getOnlineId().hashCode();
            if (hasAdjustTrackingInfo()) {
                hash = (37 * hash) + ADJUST_TRACKING_INFO_FIELD_NUMBER;
                hash = (53 * hash) + getAdjustTrackingInfo().hashCode();
            }
            hash = (37 * hash) + LOGIN_RAND_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getLoginRand());
            if (hasTrackingIoInfo()) {
                hash = (37 * hash) + TRACKING_IO_INFO_FIELD_NUMBER;
                hash = (53 * hash) + getTrackingIoInfo().hashCode();
            }
            hash = (37 * hash) + LANGUAGE_TYPE_FIELD_NUMBER;
            hash = (53 * hash) + getLanguageType();
            hash = (37 * hash) + CJHEEAGCFJG_FIELD_NUMBER;
            hash = (53 * hash) + getCJHEEAGCFJG();
            hash = (37 * hash) + FGAKKMHIKHF_FIELD_NUMBER;
            hash = (53 * hash) + getFGAKKMHIKHF();
            hash = (37 * hash) + SYSTEM_VERSION_FIELD_NUMBER;
            hash = (53 * hash) + getSystemVersion().hashCode();
            hash = (37 * hash) + DOAPGNNFLBJ_FIELD_NUMBER;
            hash = (53 * hash) + getDOAPGNNFLBJ().hashCode();
            hash = (37 * hash) + ACCOUNT_UID_FIELD_NUMBER;
            hash = (53 * hash) + getAccountUid().hashCode();
            hash = (37 * hash) + TARGET_UID_FIELD_NUMBER;
            hash = (53 * hash) + getTargetUid();
            hash = (37 * hash) + SECURITY_LIBRARY_MD5_FIELD_NUMBER;
            hash = (53 * hash) + getSecurityLibraryMd5().hashCode();
            hash = (37 * hash) + COUNTRY_CODE_FIELD_NUMBER;
            hash = (53 * hash) + getCountryCode().hashCode();
            hash = (37 * hash) + FIDMBJJPBEH_FIELD_NUMBER;
            hash = (53 * hash) + getFIDMBJJPBEH();
            hash = (37 * hash) + CHECKSUM_FIELD_NUMBER;
            hash = (53 * hash) + getChecksum().hashCode();
            hash = (37 * hash) + DEVICE_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getDeviceInfo().hashCode();
            hash = (37 * hash) + JLOPICGGPBP_FIELD_NUMBER;
            hash = (53 * hash) + getJLOPICGGPBP().hashCode();
            hash = (37 * hash) + CHECKSUM_CLIENT_VERSION_FIELD_NUMBER;
            hash = (53 * hash) + getChecksumClientVersion().hashCode();
            hash = (37 * hash) + ECJMGOCEABB_FIELD_NUMBER;
            hash = (53 * hash) + getECJMGOCEABB();
            hash = (37 * hash) + CLIENT_VERSION_FIELD_NUMBER;
            hash = (53 * hash) + getClientVersion().hashCode();
            hash = (37 * hash) + PSN_ID_FIELD_NUMBER;
            hash = (53 * hash) + getPsnId().hashCode();
            hash = (37 * hash) + IS_EDITOR_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsEditor());
            hash = (37 * hash) + ENVIRONMENT_ERROR_CODE_FIELD_NUMBER;
            hash = (53 * hash) + getEnvironmentErrorCode().hashCode();
            hash = (37 * hash) + PLATFORM_FIELD_NUMBER;
            hash = (53 * hash) + getPlatform().hashCode();
            hash = (37 * hash) + CHANNEL_ID_FIELD_NUMBER;
            hash = (53 * hash) + getChannelId();
            hash = (37 * hash) + IS_TRANSFER_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsTransfer());
            hash = (37 * hash) + CLIENT_VERISON_HASH_FIELD_NUMBER;
            hash = (53 * hash) + getClientVerisonHash().hashCode();
            hash = (37 * hash) + DEVICE_NAME_FIELD_NUMBER;
            hash = (53 * hash) + getDeviceName().hashCode();
            hash = (37 * hash) + FMOKLFNAOOK_FIELD_NUMBER;
            hash = (53 * hash) + getFMOKLFNAOOK();
            hash = (37 * hash) + TAG_FIELD_NUMBER;
            hash = (53 * hash) + getTag();
            hash = (37 * hash) + CIJNPHDIOND_FIELD_NUMBER;
            hash = (53 * hash) + getCIJNPHDIOND();
            hash = (37 * hash) + CLIENT_DATA_VERSION_FIELD_NUMBER;
            hash = (53 * hash) + getClientDataVersion();
            hash = (37 * hash) + DABNCDNACJK_FIELD_NUMBER;
            hash = (53 * hash) + getDABNCDNACJK().hashCode();
            hash = (37 * hash) + DEVICE_UUID_FIELD_NUMBER;
            hash = (53 * hash) + getDeviceUuid().hashCode();
            hash = (37 * hash) + PLATFORM_TYPE_FIELD_NUMBER;
            hash = (53 * hash) + getPlatformType();
            hash = (37 * hash) + SECURITY_CMD_REPLY_FIELD_NUMBER;
            hash = (53 * hash) + getSecurityCmdReply().hashCode();
            hash = (37 * hash) + LFPHHMGKIIP_FIELD_NUMBER;
            hash = (53 * hash) + getLFPHHMGKIIP();
            hash = (37 * hash) + BIRTHDAY_FIELD_NUMBER;
            hash = (53 * hash) + getBirthday().hashCode();
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                com.google.protobuf.ByteString data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                com.google.protobuf.ByteString data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
                    PARSER, input, extensionRegistry);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq
                parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq
                parseDelimitedFrom(
                        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                        throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
                    PARSER, input, extensionRegistry);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parseFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
                    PARSER, input, extensionRegistry);
        }

        @java.lang.Override
        public Builder newBuilderForType() {
            return newBuilder();
        }

        public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
        }

        public static Builder newBuilder(
                emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }

        @java.lang.Override
        public Builder toBuilder() {
            return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
                com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
        }
        /**
         *
         *
         * <pre>
         * CmdId: 189
         * Name: CLFNBHKDFFH
         * </pre>
         *
         * Protobuf type {@code PlayerLoginReq}
         */
        public static final class Builder
                extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                implements
                // @@protoc_insertion_point(builder_implements:PlayerLoginReq)
                emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReqOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return emu.grasscutter.net.proto.PlayerLoginReqOuterClass
                        .internal_static_PlayerLoginReq_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
                    internalGetFieldAccessorTable() {
                return emu.grasscutter.net.proto.PlayerLoginReqOuterClass
                        .internal_static_PlayerLoginReq_fieldAccessorTable
                        .ensureFieldAccessorsInitialized(
                                emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq.class,
                                emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq.Builder.class);
            }

            // Construct using
            // emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {}
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                kDIHPMJOCPG_ = 0;

                pNJNCCNPILL_ = 0;

                token_ = "";

                isGuest_ = false;

                jKPKMFPELKK_ = "";

                onlineId_ = "";

                if (adjustTrackingInfoBuilder_ == null) {
                    adjustTrackingInfo_ = null;
                } else {
                    adjustTrackingInfo_ = null;
                    adjustTrackingInfoBuilder_ = null;
                }
                loginRand_ = 0L;

                if (trackingIoInfoBuilder_ == null) {
                    trackingIoInfo_ = null;
                } else {
                    trackingIoInfo_ = null;
                    trackingIoInfoBuilder_ = null;
                }
                languageType_ = 0;

                cJHEEAGCFJG_ = 0;

                fGAKKMHIKHF_ = 0;

                systemVersion_ = "";

                dOAPGNNFLBJ_ = "";

                accountUid_ = "";

                targetUid_ = 0;

                securityLibraryMd5_ = "";

                countryCode_ = "";

                fIDMBJJPBEH_ = 0;

                checksum_ = "";

                deviceInfo_ = "";

                jLOPICGGPBP_ = com.google.protobuf.ByteString.EMPTY;

                checksumClientVersion_ = "";

                eCJMGOCEABB_ = 0;

                clientVersion_ = "";

                psnId_ = "";

                isEditor_ = false;

                environmentErrorCode_ = com.google.protobuf.ByteString.EMPTY;

                platform_ = "";

                channelId_ = 0;

                isTransfer_ = false;

                clientVerisonHash_ = "";

                deviceName_ = "";

                fMOKLFNAOOK_ = 0;

                tag_ = 0;

                cIJNPHDIOND_ = 0;

                clientDataVersion_ = 0;

                dABNCDNACJK_ = "";

                deviceUuid_ = "";

                platformType_ = 0;

                securityCmdReply_ = com.google.protobuf.ByteString.EMPTY;

                lFPHHMGKIIP_ = 0;

                birthday_ = "";

                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return emu.grasscutter.net.proto.PlayerLoginReqOuterClass
                        .internal_static_PlayerLoginReq_descriptor;
            }

            @java.lang.Override
            public emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq
                    getDefaultInstanceForType() {
                return emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq
                        .getDefaultInstance();
            }

            @java.lang.Override
            public emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq build() {
                emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq buildPartial() {
                emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq result =
                        new emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq(this);
                result.kDIHPMJOCPG_ = kDIHPMJOCPG_;
                result.pNJNCCNPILL_ = pNJNCCNPILL_;
                result.token_ = token_;
                result.isGuest_ = isGuest_;
                result.jKPKMFPELKK_ = jKPKMFPELKK_;
                result.onlineId_ = onlineId_;
                if (adjustTrackingInfoBuilder_ == null) {
                    result.adjustTrackingInfo_ = adjustTrackingInfo_;
                } else {
                    result.adjustTrackingInfo_ = adjustTrackingInfoBuilder_.build();
                }
                result.loginRand_ = loginRand_;
                if (trackingIoInfoBuilder_ == null) {
                    result.trackingIoInfo_ = trackingIoInfo_;
                } else {
                    result.trackingIoInfo_ = trackingIoInfoBuilder_.build();
                }
                result.languageType_ = languageType_;
                result.cJHEEAGCFJG_ = cJHEEAGCFJG_;
                result.fGAKKMHIKHF_ = fGAKKMHIKHF_;
                result.systemVersion_ = systemVersion_;
                result.dOAPGNNFLBJ_ = dOAPGNNFLBJ_;
                result.accountUid_ = accountUid_;
                result.targetUid_ = targetUid_;
                result.securityLibraryMd5_ = securityLibraryMd5_;
                result.countryCode_ = countryCode_;
                result.fIDMBJJPBEH_ = fIDMBJJPBEH_;
                result.checksum_ = checksum_;
                result.deviceInfo_ = deviceInfo_;
                result.jLOPICGGPBP_ = jLOPICGGPBP_;
                result.checksumClientVersion_ = checksumClientVersion_;
                result.eCJMGOCEABB_ = eCJMGOCEABB_;
                result.clientVersion_ = clientVersion_;
                result.psnId_ = psnId_;
                result.isEditor_ = isEditor_;
                result.environmentErrorCode_ = environmentErrorCode_;
                result.platform_ = platform_;
                result.channelId_ = channelId_;
                result.isTransfer_ = isTransfer_;
                result.clientVerisonHash_ = clientVerisonHash_;
                result.deviceName_ = deviceName_;
                result.fMOKLFNAOOK_ = fMOKLFNAOOK_;
                result.tag_ = tag_;
                result.cIJNPHDIOND_ = cIJNPHDIOND_;
                result.clientDataVersion_ = clientDataVersion_;
                result.dABNCDNACJK_ = dABNCDNACJK_;
                result.deviceUuid_ = deviceUuid_;
                result.platformType_ = platformType_;
                result.securityCmdReply_ = securityCmdReply_;
                result.lFPHHMGKIIP_ = lFPHHMGKIIP_;
                result.birthday_ = birthday_;
                onBuilt();
                return result;
            }

            @java.lang.Override
            public Builder clone() {
                return super.clone();
            }

            @java.lang.Override
            public Builder setField(
                    com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                return super.setField(field, value);
            }

            @java.lang.Override
            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                return super.clearField(field);
            }

            @java.lang.Override
            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                return super.clearOneof(oneof);
            }

            @java.lang.Override
            public Builder setRepeatedField(
                    com.google.protobuf.Descriptors.FieldDescriptor field,
                    int index,
                    java.lang.Object value) {
                return super.setRepeatedField(field, index, value);
            }

            @java.lang.Override
            public Builder addRepeatedField(
                    com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                return super.addRepeatedField(field, value);
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq) {
                    return mergeFrom(
                            (emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(
                    emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq other) {
                if (other
                        == emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq
                                .getDefaultInstance()) return this;
                if (other.getKDIHPMJOCPG() != 0) {
                    setKDIHPMJOCPG(other.getKDIHPMJOCPG());
                }
                if (other.getPNJNCCNPILL() != 0) {
                    setPNJNCCNPILL(other.getPNJNCCNPILL());
                }
                if (!other.getToken().isEmpty()) {
                    token_ = other.token_;
                    onChanged();
                }
                if (other.getIsGuest() != false) {
                    setIsGuest(other.getIsGuest());
                }
                if (!other.getJKPKMFPELKK().isEmpty()) {
                    jKPKMFPELKK_ = other.jKPKMFPELKK_;
                    onChanged();
                }
                if (!other.getOnlineId().isEmpty()) {
                    onlineId_ = other.onlineId_;
                    onChanged();
                }
                if (other.hasAdjustTrackingInfo()) {
                    mergeAdjustTrackingInfo(other.getAdjustTrackingInfo());
                }
                if (other.getLoginRand() != 0L) {
                    setLoginRand(other.getLoginRand());
                }
                if (other.hasTrackingIoInfo()) {
                    mergeTrackingIoInfo(other.getTrackingIoInfo());
                }
                if (other.getLanguageType() != 0) {
                    setLanguageType(other.getLanguageType());
                }
                if (other.getCJHEEAGCFJG() != 0) {
                    setCJHEEAGCFJG(other.getCJHEEAGCFJG());
                }
                if (other.getFGAKKMHIKHF() != 0) {
                    setFGAKKMHIKHF(other.getFGAKKMHIKHF());
                }
                if (!other.getSystemVersion().isEmpty()) {
                    systemVersion_ = other.systemVersion_;
                    onChanged();
                }
                if (!other.getDOAPGNNFLBJ().isEmpty()) {
                    dOAPGNNFLBJ_ = other.dOAPGNNFLBJ_;
                    onChanged();
                }
                if (!other.getAccountUid().isEmpty()) {
                    accountUid_ = other.accountUid_;
                    onChanged();
                }
                if (other.getTargetUid() != 0) {
                    setTargetUid(other.getTargetUid());
                }
                if (!other.getSecurityLibraryMd5().isEmpty()) {
                    securityLibraryMd5_ = other.securityLibraryMd5_;
                    onChanged();
                }
                if (!other.getCountryCode().isEmpty()) {
                    countryCode_ = other.countryCode_;
                    onChanged();
                }
                if (other.getFIDMBJJPBEH() != 0) {
                    setFIDMBJJPBEH(other.getFIDMBJJPBEH());
                }
                if (!other.getChecksum().isEmpty()) {
                    checksum_ = other.checksum_;
                    onChanged();
                }
                if (!other.getDeviceInfo().isEmpty()) {
                    deviceInfo_ = other.deviceInfo_;
                    onChanged();
                }
                if (other.getJLOPICGGPBP() != com.google.protobuf.ByteString.EMPTY) {
                    setJLOPICGGPBP(other.getJLOPICGGPBP());
                }
                if (!other.getChecksumClientVersion().isEmpty()) {
                    checksumClientVersion_ = other.checksumClientVersion_;
                    onChanged();
                }
                if (other.getECJMGOCEABB() != 0) {
                    setECJMGOCEABB(other.getECJMGOCEABB());
                }
                if (!other.getClientVersion().isEmpty()) {
                    clientVersion_ = other.clientVersion_;
                    onChanged();
                }
                if (!other.getPsnId().isEmpty()) {
                    psnId_ = other.psnId_;
                    onChanged();
                }
                if (other.getIsEditor() != false) {
                    setIsEditor(other.getIsEditor());
                }
                if (other.getEnvironmentErrorCode() != com.google.protobuf.ByteString.EMPTY) {
                    setEnvironmentErrorCode(other.getEnvironmentErrorCode());
                }
                if (!other.getPlatform().isEmpty()) {
                    platform_ = other.platform_;
                    onChanged();
                }
                if (other.getChannelId() != 0) {
                    setChannelId(other.getChannelId());
                }
                if (other.getIsTransfer() != false) {
                    setIsTransfer(other.getIsTransfer());
                }
                if (!other.getClientVerisonHash().isEmpty()) {
                    clientVerisonHash_ = other.clientVerisonHash_;
                    onChanged();
                }
                if (!other.getDeviceName().isEmpty()) {
                    deviceName_ = other.deviceName_;
                    onChanged();
                }
                if (other.getFMOKLFNAOOK() != 0) {
                    setFMOKLFNAOOK(other.getFMOKLFNAOOK());
                }
                if (other.getTag() != 0) {
                    setTag(other.getTag());
                }
                if (other.getCIJNPHDIOND() != 0) {
                    setCIJNPHDIOND(other.getCIJNPHDIOND());
                }
                if (other.getClientDataVersion() != 0) {
                    setClientDataVersion(other.getClientDataVersion());
                }
                if (!other.getDABNCDNACJK().isEmpty()) {
                    dABNCDNACJK_ = other.dABNCDNACJK_;
                    onChanged();
                }
                if (!other.getDeviceUuid().isEmpty()) {
                    deviceUuid_ = other.deviceUuid_;
                    onChanged();
                }
                if (other.getPlatformType() != 0) {
                    setPlatformType(other.getPlatformType());
                }
                if (other.getSecurityCmdReply() != com.google.protobuf.ByteString.EMPTY) {
                    setSecurityCmdReply(other.getSecurityCmdReply());
                }
                if (other.getLFPHHMGKIIP() != 0) {
                    setLFPHHMGKIIP(other.getLFPHHMGKIIP());
                }
                if (!other.getBirthday().isEmpty()) {
                    birthday_ = other.birthday_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(
                    com.google.protobuf.CodedInputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage =
                            (emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq)
                                    e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int kDIHPMJOCPG_;
            /**
             * <code>uint32 KDIHPMJOCPG = 909;</code>
             *
             * @return The kDIHPMJOCPG.
             */
            @java.lang.Override
            public int getKDIHPMJOCPG() {
                return kDIHPMJOCPG_;
            }
            /**
             * <code>uint32 KDIHPMJOCPG = 909;</code>
             *
             * @param value The kDIHPMJOCPG to set.
             * @return This builder for chaining.
             */
            public Builder setKDIHPMJOCPG(int value) {

                kDIHPMJOCPG_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 KDIHPMJOCPG = 909;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearKDIHPMJOCPG() {

                kDIHPMJOCPG_ = 0;
                onChanged();
                return this;
            }

            private int pNJNCCNPILL_;
            /**
             * <code>uint32 PNJNCCNPILL = 2033;</code>
             *
             * @return The pNJNCCNPILL.
             */
            @java.lang.Override
            public int getPNJNCCNPILL() {
                return pNJNCCNPILL_;
            }
            /**
             * <code>uint32 PNJNCCNPILL = 2033;</code>
             *
             * @param value The pNJNCCNPILL to set.
             * @return This builder for chaining.
             */
            public Builder setPNJNCCNPILL(int value) {

                pNJNCCNPILL_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 PNJNCCNPILL = 2033;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearPNJNCCNPILL() {

                pNJNCCNPILL_ = 0;
                onChanged();
                return this;
            }

            private java.lang.Object token_ = "";
            /**
             * <code>string token = 8;</code>
             *
             * @return The token.
             */
            public java.lang.String getToken() {
                java.lang.Object ref = token_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    token_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string token = 8;</code>
             *
             * @return The bytes for token.
             */
            public com.google.protobuf.ByteString getTokenBytes() {
                java.lang.Object ref = token_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    token_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string token = 8;</code>
             *
             * @param value The token to set.
             * @return This builder for chaining.
             */
            public Builder setToken(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                token_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string token = 8;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearToken() {

                token_ = getDefaultInstance().getToken();
                onChanged();
                return this;
            }
            /**
             * <code>string token = 8;</code>
             *
             * @param value The bytes for token to set.
             * @return This builder for chaining.
             */
            public Builder setTokenBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                token_ = value;
                onChanged();
                return this;
            }

            private boolean isGuest_;
            /**
             * <code>bool is_guest = 6;</code>
             *
             * @return The isGuest.
             */
            @java.lang.Override
            public boolean getIsGuest() {
                return isGuest_;
            }
            /**
             * <code>bool is_guest = 6;</code>
             *
             * @param value The isGuest to set.
             * @return This builder for chaining.
             */
            public Builder setIsGuest(boolean value) {

                isGuest_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_guest = 6;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsGuest() {

                isGuest_ = false;
                onChanged();
                return this;
            }

            private java.lang.Object jKPKMFPELKK_ = "";
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string JKPKMFPELKK = 778;</code>
             *
             * @return The jKPKMFPELKK.
             */
            public java.lang.String getJKPKMFPELKK() {
                java.lang.Object ref = jKPKMFPELKK_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    jKPKMFPELKK_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string JKPKMFPELKK = 778;</code>
             *
             * @return The bytes for jKPKMFPELKK.
             */
            public com.google.protobuf.ByteString getJKPKMFPELKKBytes() {
                java.lang.Object ref = jKPKMFPELKK_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    jKPKMFPELKK_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string JKPKMFPELKK = 778;</code>
             *
             * @param value The jKPKMFPELKK to set.
             * @return This builder for chaining.
             */
            public Builder setJKPKMFPELKK(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                jKPKMFPELKK_ = value;
                onChanged();
                return this;
            }
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string JKPKMFPELKK = 778;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearJKPKMFPELKK() {

                jKPKMFPELKK_ = getDefaultInstance().getJKPKMFPELKK();
                onChanged();
                return this;
            }
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string JKPKMFPELKK = 778;</code>
             *
             * @param value The bytes for jKPKMFPELKK to set.
             * @return This builder for chaining.
             */
            public Builder setJKPKMFPELKKBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                jKPKMFPELKK_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object onlineId_ = "";
            /**
             * <code>string online_id = 1781;</code>
             *
             * @return The onlineId.
             */
            public java.lang.String getOnlineId() {
                java.lang.Object ref = onlineId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    onlineId_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string online_id = 1781;</code>
             *
             * @return The bytes for onlineId.
             */
            public com.google.protobuf.ByteString getOnlineIdBytes() {
                java.lang.Object ref = onlineId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    onlineId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string online_id = 1781;</code>
             *
             * @param value The onlineId to set.
             * @return This builder for chaining.
             */
            public Builder setOnlineId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                onlineId_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string online_id = 1781;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearOnlineId() {

                onlineId_ = getDefaultInstance().getOnlineId();
                onChanged();
                return this;
            }
            /**
             * <code>string online_id = 1781;</code>
             *
             * @param value The bytes for onlineId to set.
             * @return This builder for chaining.
             */
            public Builder setOnlineIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                onlineId_ = value;
                onChanged();
                return this;
            }

            private emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                    adjustTrackingInfo_;
            private com.google.protobuf.SingleFieldBuilderV3<
                            emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo,
                            emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo.Builder,
                            emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfoOrBuilder>
                    adjustTrackingInfoBuilder_;
            /**
             * <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code>
             *
             * @return Whether the adjustTrackingInfo field is set.
             */
            public boolean hasAdjustTrackingInfo() {
                return adjustTrackingInfoBuilder_ != null || adjustTrackingInfo_ != null;
            }
            /**
             * <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code>
             *
             * @return The adjustTrackingInfo.
             */
            public emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                    getAdjustTrackingInfo() {
                if (adjustTrackingInfoBuilder_ == null) {
                    return adjustTrackingInfo_ == null
                            ? emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                                    .getDefaultInstance()
                            : adjustTrackingInfo_;
                } else {
                    return adjustTrackingInfoBuilder_.getMessage();
                }
            }
            /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
            public Builder setAdjustTrackingInfo(
                    emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo value) {
                if (adjustTrackingInfoBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    adjustTrackingInfo_ = value;
                    onChanged();
                } else {
                    adjustTrackingInfoBuilder_.setMessage(value);
                }

                return this;
            }
            /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
            public Builder setAdjustTrackingInfo(
                    emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo.Builder
                            builderForValue) {
                if (adjustTrackingInfoBuilder_ == null) {
                    adjustTrackingInfo_ = builderForValue.build();
                    onChanged();
                } else {
                    adjustTrackingInfoBuilder_.setMessage(builderForValue.build());
                }

                return this;
            }
            /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
            public Builder mergeAdjustTrackingInfo(
                    emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo value) {
                if (adjustTrackingInfoBuilder_ == null) {
                    if (adjustTrackingInfo_ != null) {
                        adjustTrackingInfo_ =
                                emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                                        .newBuilder(adjustTrackingInfo_)
                                        .mergeFrom(value)
                                        .buildPartial();
                    } else {
                        adjustTrackingInfo_ = value;
                    }
                    onChanged();
                } else {
                    adjustTrackingInfoBuilder_.mergeFrom(value);
                }

                return this;
            }
            /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
            public Builder clearAdjustTrackingInfo() {
                if (adjustTrackingInfoBuilder_ == null) {
                    adjustTrackingInfo_ = null;
                    onChanged();
                } else {
                    adjustTrackingInfo_ = null;
                    adjustTrackingInfoBuilder_ = null;
                }

                return this;
            }
            /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
            public emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo.Builder
                    getAdjustTrackingInfoBuilder() {

                onChanged();
                return getAdjustTrackingInfoFieldBuilder().getBuilder();
            }
            /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
            public emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfoOrBuilder
                    getAdjustTrackingInfoOrBuilder() {
                if (adjustTrackingInfoBuilder_ != null) {
                    return adjustTrackingInfoBuilder_.getMessageOrBuilder();
                } else {
                    return adjustTrackingInfo_ == null
                            ? emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo
                                    .getDefaultInstance()
                            : adjustTrackingInfo_;
                }
            }
            /** <code>.AdjustTrackingInfo adjust_tracking_info = 2010;</code> */
            private com.google.protobuf.SingleFieldBuilderV3<
                            emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo,
                            emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo.Builder,
                            emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfoOrBuilder>
                    getAdjustTrackingInfoFieldBuilder() {
                if (adjustTrackingInfoBuilder_ == null) {
                    adjustTrackingInfoBuilder_ =
                            new com.google.protobuf.SingleFieldBuilderV3<
                                    emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo,
                                    emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.AdjustTrackingInfo.Builder,
                                    emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass
                                            .AdjustTrackingInfoOrBuilder>(
                                    getAdjustTrackingInfo(), getParentForChildren(), isClean());
                    adjustTrackingInfo_ = null;
                }
                return adjustTrackingInfoBuilder_;
            }

            private long loginRand_;
            /**
             * <code>uint64 login_rand = 12;</code>
             *
             * @return The loginRand.
             */
            @java.lang.Override
            public long getLoginRand() {
                return loginRand_;
            }
            /**
             * <code>uint64 login_rand = 12;</code>
             *
             * @param value The loginRand to set.
             * @return This builder for chaining.
             */
            public Builder setLoginRand(long value) {

                loginRand_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint64 login_rand = 12;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearLoginRand() {

                loginRand_ = 0L;
                onChanged();
                return this;
            }

            private emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo trackingIoInfo_;
            private com.google.protobuf.SingleFieldBuilderV3<
                            emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo,
                            emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.Builder,
                            emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfoOrBuilder>
                    trackingIoInfoBuilder_;
            /**
             * <code>.TrackingIOInfo tracking_io_info = 498;</code>
             *
             * @return Whether the trackingIoInfo field is set.
             */
            public boolean hasTrackingIoInfo() {
                return trackingIoInfoBuilder_ != null || trackingIoInfo_ != null;
            }
            /**
             * <code>.TrackingIOInfo tracking_io_info = 498;</code>
             *
             * @return The trackingIoInfo.
             */
            public emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo getTrackingIoInfo() {
                if (trackingIoInfoBuilder_ == null) {
                    return trackingIoInfo_ == null
                            ? emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo
                                    .getDefaultInstance()
                            : trackingIoInfo_;
                } else {
                    return trackingIoInfoBuilder_.getMessage();
                }
            }
            /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
            public Builder setTrackingIoInfo(
                    emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo value) {
                if (trackingIoInfoBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    trackingIoInfo_ = value;
                    onChanged();
                } else {
                    trackingIoInfoBuilder_.setMessage(value);
                }

                return this;
            }
            /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
            public Builder setTrackingIoInfo(
                    emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.Builder
                            builderForValue) {
                if (trackingIoInfoBuilder_ == null) {
                    trackingIoInfo_ = builderForValue.build();
                    onChanged();
                } else {
                    trackingIoInfoBuilder_.setMessage(builderForValue.build());
                }

                return this;
            }
            /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
            public Builder mergeTrackingIoInfo(
                    emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo value) {
                if (trackingIoInfoBuilder_ == null) {
                    if (trackingIoInfo_ != null) {
                        trackingIoInfo_ =
                                emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.newBuilder(
                                                trackingIoInfo_)
                                        .mergeFrom(value)
                                        .buildPartial();
                    } else {
                        trackingIoInfo_ = value;
                    }
                    onChanged();
                } else {
                    trackingIoInfoBuilder_.mergeFrom(value);
                }

                return this;
            }
            /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
            public Builder clearTrackingIoInfo() {
                if (trackingIoInfoBuilder_ == null) {
                    trackingIoInfo_ = null;
                    onChanged();
                } else {
                    trackingIoInfo_ = null;
                    trackingIoInfoBuilder_ = null;
                }

                return this;
            }
            /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
            public emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.Builder
                    getTrackingIoInfoBuilder() {

                onChanged();
                return getTrackingIoInfoFieldBuilder().getBuilder();
            }
            /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
            public emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfoOrBuilder
                    getTrackingIoInfoOrBuilder() {
                if (trackingIoInfoBuilder_ != null) {
                    return trackingIoInfoBuilder_.getMessageOrBuilder();
                } else {
                    return trackingIoInfo_ == null
                            ? emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo
                                    .getDefaultInstance()
                            : trackingIoInfo_;
                }
            }
            /** <code>.TrackingIOInfo tracking_io_info = 498;</code> */
            private com.google.protobuf.SingleFieldBuilderV3<
                            emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo,
                            emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.Builder,
                            emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfoOrBuilder>
                    getTrackingIoInfoFieldBuilder() {
                if (trackingIoInfoBuilder_ == null) {
                    trackingIoInfoBuilder_ =
                            new com.google.protobuf.SingleFieldBuilderV3<
                                    emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo,
                                    emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfo.Builder,
                                    emu.grasscutter.net.proto.TrackingIOInfoOuterClass.TrackingIOInfoOrBuilder>(
                                    getTrackingIoInfo(), getParentForChildren(), isClean());
                    trackingIoInfo_ = null;
                }
                return trackingIoInfoBuilder_;
            }

            private int languageType_;
            /**
             * <code>uint32 language_type = 7;</code>
             *
             * @return The languageType.
             */
            @java.lang.Override
            public int getLanguageType() {
                return languageType_;
            }
            /**
             * <code>uint32 language_type = 7;</code>
             *
             * @param value The languageType to set.
             * @return This builder for chaining.
             */
            public Builder setLanguageType(int value) {

                languageType_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 language_type = 7;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearLanguageType() {

                languageType_ = 0;
                onChanged();
                return this;
            }

            private int cJHEEAGCFJG_;
            /**
             * <code>uint32 CJHEEAGCFJG = 2015;</code>
             *
             * @return The cJHEEAGCFJG.
             */
            @java.lang.Override
            public int getCJHEEAGCFJG() {
                return cJHEEAGCFJG_;
            }
            /**
             * <code>uint32 CJHEEAGCFJG = 2015;</code>
             *
             * @param value The cJHEEAGCFJG to set.
             * @return This builder for chaining.
             */
            public Builder setCJHEEAGCFJG(int value) {

                cJHEEAGCFJG_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 CJHEEAGCFJG = 2015;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearCJHEEAGCFJG() {

                cJHEEAGCFJG_ = 0;
                onChanged();
                return this;
            }

            private int fGAKKMHIKHF_;
            /**
             * <code>uint32 FGAKKMHIKHF = 829;</code>
             *
             * @return The fGAKKMHIKHF.
             */
            @java.lang.Override
            public int getFGAKKMHIKHF() {
                return fGAKKMHIKHF_;
            }
            /**
             * <code>uint32 FGAKKMHIKHF = 829;</code>
             *
             * @param value The fGAKKMHIKHF to set.
             * @return This builder for chaining.
             */
            public Builder setFGAKKMHIKHF(int value) {

                fGAKKMHIKHF_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 FGAKKMHIKHF = 829;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearFGAKKMHIKHF() {

                fGAKKMHIKHF_ = 0;
                onChanged();
                return this;
            }

            private java.lang.Object systemVersion_ = "";
            /**
             * <code>string system_version = 2;</code>
             *
             * @return The systemVersion.
             */
            public java.lang.String getSystemVersion() {
                java.lang.Object ref = systemVersion_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    systemVersion_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string system_version = 2;</code>
             *
             * @return The bytes for systemVersion.
             */
            public com.google.protobuf.ByteString getSystemVersionBytes() {
                java.lang.Object ref = systemVersion_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    systemVersion_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string system_version = 2;</code>
             *
             * @param value The systemVersion to set.
             * @return This builder for chaining.
             */
            public Builder setSystemVersion(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                systemVersion_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string system_version = 2;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearSystemVersion() {

                systemVersion_ = getDefaultInstance().getSystemVersion();
                onChanged();
                return this;
            }
            /**
             * <code>string system_version = 2;</code>
             *
             * @param value The bytes for systemVersion to set.
             * @return This builder for chaining.
             */
            public Builder setSystemVersionBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                systemVersion_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object dOAPGNNFLBJ_ = "";
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string DOAPGNNFLBJ = 1352;</code>
             *
             * @return The dOAPGNNFLBJ.
             */
            public java.lang.String getDOAPGNNFLBJ() {
                java.lang.Object ref = dOAPGNNFLBJ_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    dOAPGNNFLBJ_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string DOAPGNNFLBJ = 1352;</code>
             *
             * @return The bytes for dOAPGNNFLBJ.
             */
            public com.google.protobuf.ByteString getDOAPGNNFLBJBytes() {
                java.lang.Object ref = dOAPGNNFLBJ_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    dOAPGNNFLBJ_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string DOAPGNNFLBJ = 1352;</code>
             *
             * @param value The dOAPGNNFLBJ to set.
             * @return This builder for chaining.
             */
            public Builder setDOAPGNNFLBJ(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                dOAPGNNFLBJ_ = value;
                onChanged();
                return this;
            }
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string DOAPGNNFLBJ = 1352;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearDOAPGNNFLBJ() {

                dOAPGNNFLBJ_ = getDefaultInstance().getDOAPGNNFLBJ();
                onChanged();
                return this;
            }
            /**
             *
             *
             * <pre>
             * not work
             * </pre>
             *
             * <code>string DOAPGNNFLBJ = 1352;</code>
             *
             * @param value The bytes for dOAPGNNFLBJ to set.
             * @return This builder for chaining.
             */
            public Builder setDOAPGNNFLBJBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                dOAPGNNFLBJ_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object accountUid_ = "";
            /**
             * <code>string account_uid = 4;</code>
             *
             * @return The accountUid.
             */
            public java.lang.String getAccountUid() {
                java.lang.Object ref = accountUid_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    accountUid_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string account_uid = 4;</code>
             *
             * @return The bytes for accountUid.
             */
            public com.google.protobuf.ByteString getAccountUidBytes() {
                java.lang.Object ref = accountUid_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    accountUid_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string account_uid = 4;</code>
             *
             * @param value The accountUid to set.
             * @return This builder for chaining.
             */
            public Builder setAccountUid(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                accountUid_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string account_uid = 4;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearAccountUid() {

                accountUid_ = getDefaultInstance().getAccountUid();
                onChanged();
                return this;
            }
            /**
             * <code>string account_uid = 4;</code>
             *
             * @param value The bytes for accountUid to set.
             * @return This builder for chaining.
             */
            public Builder setAccountUidBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                accountUid_ = value;
                onChanged();
                return this;
            }

            private int targetUid_;
            /**
             * <code>uint32 target_uid = 14;</code>
             *
             * @return The targetUid.
             */
            @java.lang.Override
            public int getTargetUid() {
                return targetUid_;
            }
            /**
             * <code>uint32 target_uid = 14;</code>
             *
             * @param value The targetUid to set.
             * @return This builder for chaining.
             */
            public Builder setTargetUid(int value) {

                targetUid_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 target_uid = 14;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearTargetUid() {

                targetUid_ = 0;
                onChanged();
                return this;
            }

            private java.lang.Object securityLibraryMd5_ = "";
            /**
             * <code>string security_library_md5 = 254;</code>
             *
             * @return The securityLibraryMd5.
             */
            public java.lang.String getSecurityLibraryMd5() {
                java.lang.Object ref = securityLibraryMd5_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    securityLibraryMd5_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string security_library_md5 = 254;</code>
             *
             * @return The bytes for securityLibraryMd5.
             */
            public com.google.protobuf.ByteString getSecurityLibraryMd5Bytes() {
                java.lang.Object ref = securityLibraryMd5_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    securityLibraryMd5_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string security_library_md5 = 254;</code>
             *
             * @param value The securityLibraryMd5 to set.
             * @return This builder for chaining.
             */
            public Builder setSecurityLibraryMd5(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                securityLibraryMd5_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string security_library_md5 = 254;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearSecurityLibraryMd5() {

                securityLibraryMd5_ = getDefaultInstance().getSecurityLibraryMd5();
                onChanged();
                return this;
            }
            /**
             * <code>string security_library_md5 = 254;</code>
             *
             * @param value The bytes for securityLibraryMd5 to set.
             * @return This builder for chaining.
             */
            public Builder setSecurityLibraryMd5Bytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                securityLibraryMd5_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object countryCode_ = "";
            /**
             * <code>string country_code = 936;</code>
             *
             * @return The countryCode.
             */
            public java.lang.String getCountryCode() {
                java.lang.Object ref = countryCode_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    countryCode_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string country_code = 936;</code>
             *
             * @return The bytes for countryCode.
             */
            public com.google.protobuf.ByteString getCountryCodeBytes() {
                java.lang.Object ref = countryCode_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    countryCode_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string country_code = 936;</code>
             *
             * @param value The countryCode to set.
             * @return This builder for chaining.
             */
            public Builder setCountryCode(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                countryCode_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string country_code = 936;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearCountryCode() {

                countryCode_ = getDefaultInstance().getCountryCode();
                onChanged();
                return this;
            }
            /**
             * <code>string country_code = 936;</code>
             *
             * @param value The bytes for countryCode to set.
             * @return This builder for chaining.
             */
            public Builder setCountryCodeBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                countryCode_ = value;
                onChanged();
                return this;
            }

            private int fIDMBJJPBEH_;
            /**
             * <code>uint32 FIDMBJJPBEH = 832;</code>
             *
             * @return The fIDMBJJPBEH.
             */
            @java.lang.Override
            public int getFIDMBJJPBEH() {
                return fIDMBJJPBEH_;
            }
            /**
             * <code>uint32 FIDMBJJPBEH = 832;</code>
             *
             * @param value The fIDMBJJPBEH to set.
             * @return This builder for chaining.
             */
            public Builder setFIDMBJJPBEH(int value) {

                fIDMBJJPBEH_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 FIDMBJJPBEH = 832;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearFIDMBJJPBEH() {

                fIDMBJJPBEH_ = 0;
                onChanged();
                return this;
            }

            private java.lang.Object checksum_ = "";
            /**
             * <code>string checksum = 1953;</code>
             *
             * @return The checksum.
             */
            public java.lang.String getChecksum() {
                java.lang.Object ref = checksum_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    checksum_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string checksum = 1953;</code>
             *
             * @return The bytes for checksum.
             */
            public com.google.protobuf.ByteString getChecksumBytes() {
                java.lang.Object ref = checksum_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    checksum_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string checksum = 1953;</code>
             *
             * @param value The checksum to set.
             * @return This builder for chaining.
             */
            public Builder setChecksum(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                checksum_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string checksum = 1953;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearChecksum() {

                checksum_ = getDefaultInstance().getChecksum();
                onChanged();
                return this;
            }
            /**
             * <code>string checksum = 1953;</code>
             *
             * @param value The bytes for checksum to set.
             * @return This builder for chaining.
             */
            public Builder setChecksumBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                checksum_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object deviceInfo_ = "";
            /**
             * <code>string device_info = 11;</code>
             *
             * @return The deviceInfo.
             */
            public java.lang.String getDeviceInfo() {
                java.lang.Object ref = deviceInfo_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    deviceInfo_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string device_info = 11;</code>
             *
             * @return The bytes for deviceInfo.
             */
            public com.google.protobuf.ByteString getDeviceInfoBytes() {
                java.lang.Object ref = deviceInfo_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    deviceInfo_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string device_info = 11;</code>
             *
             * @param value The deviceInfo to set.
             * @return This builder for chaining.
             */
            public Builder setDeviceInfo(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                deviceInfo_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string device_info = 11;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearDeviceInfo() {

                deviceInfo_ = getDefaultInstance().getDeviceInfo();
                onChanged();
                return this;
            }
            /**
             * <code>string device_info = 11;</code>
             *
             * @param value The bytes for deviceInfo to set.
             * @return This builder for chaining.
             */
            public Builder setDeviceInfoBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                deviceInfo_ = value;
                onChanged();
                return this;
            }

            private com.google.protobuf.ByteString jLOPICGGPBP_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>bytes JLOPICGGPBP = 978;</code>
             *
             * @return The jLOPICGGPBP.
             */
            @java.lang.Override
            public com.google.protobuf.ByteString getJLOPICGGPBP() {
                return jLOPICGGPBP_;
            }
            /**
             * <code>bytes JLOPICGGPBP = 978;</code>
             *
             * @param value The jLOPICGGPBP to set.
             * @return This builder for chaining.
             */
            public Builder setJLOPICGGPBP(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                jLOPICGGPBP_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bytes JLOPICGGPBP = 978;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearJLOPICGGPBP() {

                jLOPICGGPBP_ = getDefaultInstance().getJLOPICGGPBP();
                onChanged();
                return this;
            }

            private java.lang.Object checksumClientVersion_ = "";
            /**
             * <code>string checksum_client_version = 823;</code>
             *
             * @return The checksumClientVersion.
             */
            public java.lang.String getChecksumClientVersion() {
                java.lang.Object ref = checksumClientVersion_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    checksumClientVersion_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string checksum_client_version = 823;</code>
             *
             * @return The bytes for checksumClientVersion.
             */
            public com.google.protobuf.ByteString getChecksumClientVersionBytes() {
                java.lang.Object ref = checksumClientVersion_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    checksumClientVersion_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string checksum_client_version = 823;</code>
             *
             * @param value The checksumClientVersion to set.
             * @return This builder for chaining.
             */
            public Builder setChecksumClientVersion(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                checksumClientVersion_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string checksum_client_version = 823;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearChecksumClientVersion() {

                checksumClientVersion_ = getDefaultInstance().getChecksumClientVersion();
                onChanged();
                return this;
            }
            /**
             * <code>string checksum_client_version = 823;</code>
             *
             * @param value The bytes for checksumClientVersion to set.
             * @return This builder for chaining.
             */
            public Builder setChecksumClientVersionBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                checksumClientVersion_ = value;
                onChanged();
                return this;
            }

            private int eCJMGOCEABB_;
            /**
             * <code>uint32 ECJMGOCEABB = 1650;</code>
             *
             * @return The eCJMGOCEABB.
             */
            @java.lang.Override
            public int getECJMGOCEABB() {
                return eCJMGOCEABB_;
            }
            /**
             * <code>uint32 ECJMGOCEABB = 1650;</code>
             *
             * @param value The eCJMGOCEABB to set.
             * @return This builder for chaining.
             */
            public Builder setECJMGOCEABB(int value) {

                eCJMGOCEABB_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 ECJMGOCEABB = 1650;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearECJMGOCEABB() {

                eCJMGOCEABB_ = 0;
                onChanged();
                return this;
            }

            private java.lang.Object clientVersion_ = "";
            /**
             *
             *
             * <pre>
             * ENNPHCJEFFC bruh finally got it right
             * </pre>
             *
             * <code>string client_version = 3;</code>
             *
             * @return The clientVersion.
             */
            public java.lang.String getClientVersion() {
                java.lang.Object ref = clientVersion_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    clientVersion_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             *
             *
             * <pre>
             * ENNPHCJEFFC bruh finally got it right
             * </pre>
             *
             * <code>string client_version = 3;</code>
             *
             * @return The bytes for clientVersion.
             */
            public com.google.protobuf.ByteString getClientVersionBytes() {
                java.lang.Object ref = clientVersion_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    clientVersion_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             *
             *
             * <pre>
             * ENNPHCJEFFC bruh finally got it right
             * </pre>
             *
             * <code>string client_version = 3;</code>
             *
             * @param value The clientVersion to set.
             * @return This builder for chaining.
             */
            public Builder setClientVersion(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                clientVersion_ = value;
                onChanged();
                return this;
            }
            /**
             *
             *
             * <pre>
             * ENNPHCJEFFC bruh finally got it right
             * </pre>
             *
             * <code>string client_version = 3;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearClientVersion() {

                clientVersion_ = getDefaultInstance().getClientVersion();
                onChanged();
                return this;
            }
            /**
             *
             *
             * <pre>
             * ENNPHCJEFFC bruh finally got it right
             * </pre>
             *
             * <code>string client_version = 3;</code>
             *
             * @param value The bytes for clientVersion to set.
             * @return This builder for chaining.
             */
            public Builder setClientVersionBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                clientVersion_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object psnId_ = "";
            /**
             * <code>string psn_id = 1125;</code>
             *
             * @return The psnId.
             */
            public java.lang.String getPsnId() {
                java.lang.Object ref = psnId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    psnId_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string psn_id = 1125;</code>
             *
             * @return The bytes for psnId.
             */
            public com.google.protobuf.ByteString getPsnIdBytes() {
                java.lang.Object ref = psnId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    psnId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string psn_id = 1125;</code>
             *
             * @param value The psnId to set.
             * @return This builder for chaining.
             */
            public Builder setPsnId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                psnId_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string psn_id = 1125;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearPsnId() {

                psnId_ = getDefaultInstance().getPsnId();
                onChanged();
                return this;
            }
            /**
             * <code>string psn_id = 1125;</code>
             *
             * @param value The bytes for psnId to set.
             * @return This builder for chaining.
             */
            public Builder setPsnIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                psnId_ = value;
                onChanged();
                return this;
            }

            private boolean isEditor_;
            /**
             * <code>bool is_editor = 10;</code>
             *
             * @return The isEditor.
             */
            @java.lang.Override
            public boolean getIsEditor() {
                return isEditor_;
            }
            /**
             * <code>bool is_editor = 10;</code>
             *
             * @param value The isEditor to set.
             * @return This builder for chaining.
             */
            public Builder setIsEditor(boolean value) {

                isEditor_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_editor = 10;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsEditor() {

                isEditor_ = false;
                onChanged();
                return this;
            }

            private com.google.protobuf.ByteString environmentErrorCode_ =
                    com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>bytes environment_error_code = 922;</code>
             *
             * @return The environmentErrorCode.
             */
            @java.lang.Override
            public com.google.protobuf.ByteString getEnvironmentErrorCode() {
                return environmentErrorCode_;
            }
            /**
             * <code>bytes environment_error_code = 922;</code>
             *
             * @param value The environmentErrorCode to set.
             * @return This builder for chaining.
             */
            public Builder setEnvironmentErrorCode(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                environmentErrorCode_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bytes environment_error_code = 922;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearEnvironmentErrorCode() {

                environmentErrorCode_ = getDefaultInstance().getEnvironmentErrorCode();
                onChanged();
                return this;
            }

            private java.lang.Object platform_ = "";
            /**
             * <code>string platform = 1;</code>
             *
             * @return The platform.
             */
            public java.lang.String getPlatform() {
                java.lang.Object ref = platform_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    platform_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string platform = 1;</code>
             *
             * @return The bytes for platform.
             */
            public com.google.protobuf.ByteString getPlatformBytes() {
                java.lang.Object ref = platform_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    platform_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string platform = 1;</code>
             *
             * @param value The platform to set.
             * @return This builder for chaining.
             */
            public Builder setPlatform(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                platform_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string platform = 1;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearPlatform() {

                platform_ = getDefaultInstance().getPlatform();
                onChanged();
                return this;
            }
            /**
             * <code>string platform = 1;</code>
             *
             * @param value The bytes for platform to set.
             * @return This builder for chaining.
             */
            public Builder setPlatformBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                platform_ = value;
                onChanged();
                return this;
            }

            private int channelId_;
            /**
             * <code>uint32 channel_id = 913;</code>
             *
             * @return The channelId.
             */
            @java.lang.Override
            public int getChannelId() {
                return channelId_;
            }
            /**
             * <code>uint32 channel_id = 913;</code>
             *
             * @param value The channelId to set.
             * @return This builder for chaining.
             */
            public Builder setChannelId(int value) {

                channelId_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 channel_id = 913;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearChannelId() {

                channelId_ = 0;
                onChanged();
                return this;
            }

            private boolean isTransfer_;
            /**
             * <code>bool is_transfer = 1382;</code>
             *
             * @return The isTransfer.
             */
            @java.lang.Override
            public boolean getIsTransfer() {
                return isTransfer_;
            }
            /**
             * <code>bool is_transfer = 1382;</code>
             *
             * @param value The isTransfer to set.
             * @return This builder for chaining.
             */
            public Builder setIsTransfer(boolean value) {

                isTransfer_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_transfer = 1382;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsTransfer() {

                isTransfer_ = false;
                onChanged();
                return this;
            }

            private java.lang.Object clientVerisonHash_ = "";
            /**
             * <code>string client_verison_hash = 1519;</code>
             *
             * @return The clientVerisonHash.
             */
            public java.lang.String getClientVerisonHash() {
                java.lang.Object ref = clientVerisonHash_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    clientVerisonHash_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string client_verison_hash = 1519;</code>
             *
             * @return The bytes for clientVerisonHash.
             */
            public com.google.protobuf.ByteString getClientVerisonHashBytes() {
                java.lang.Object ref = clientVerisonHash_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    clientVerisonHash_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string client_verison_hash = 1519;</code>
             *
             * @param value The clientVerisonHash to set.
             * @return This builder for chaining.
             */
            public Builder setClientVerisonHash(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                clientVerisonHash_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string client_verison_hash = 1519;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearClientVerisonHash() {

                clientVerisonHash_ = getDefaultInstance().getClientVerisonHash();
                onChanged();
                return this;
            }
            /**
             * <code>string client_verison_hash = 1519;</code>
             *
             * @param value The bytes for clientVerisonHash to set.
             * @return This builder for chaining.
             */
            public Builder setClientVerisonHashBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                clientVerisonHash_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object deviceName_ = "";
            /**
             * <code>string device_name = 9;</code>
             *
             * @return The deviceName.
             */
            public java.lang.String getDeviceName() {
                java.lang.Object ref = deviceName_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    deviceName_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string device_name = 9;</code>
             *
             * @return The bytes for deviceName.
             */
            public com.google.protobuf.ByteString getDeviceNameBytes() {
                java.lang.Object ref = deviceName_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    deviceName_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string device_name = 9;</code>
             *
             * @param value The deviceName to set.
             * @return This builder for chaining.
             */
            public Builder setDeviceName(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                deviceName_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string device_name = 9;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearDeviceName() {

                deviceName_ = getDefaultInstance().getDeviceName();
                onChanged();
                return this;
            }
            /**
             * <code>string device_name = 9;</code>
             *
             * @param value The bytes for deviceName to set.
             * @return This builder for chaining.
             */
            public Builder setDeviceNameBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                deviceName_ = value;
                onChanged();
                return this;
            }

            private int fMOKLFNAOOK_;
            /**
             * <code>uint32 FMOKLFNAOOK = 1173;</code>
             *
             * @return The fMOKLFNAOOK.
             */
            @java.lang.Override
            public int getFMOKLFNAOOK() {
                return fMOKLFNAOOK_;
            }
            /**
             * <code>uint32 FMOKLFNAOOK = 1173;</code>
             *
             * @param value The fMOKLFNAOOK to set.
             * @return This builder for chaining.
             */
            public Builder setFMOKLFNAOOK(int value) {

                fMOKLFNAOOK_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 FMOKLFNAOOK = 1173;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearFMOKLFNAOOK() {

                fMOKLFNAOOK_ = 0;
                onChanged();
                return this;
            }

            private int tag_;
            /**
             * <code>uint32 tag = 1897;</code>
             *
             * @return The tag.
             */
            @java.lang.Override
            public int getTag() {
                return tag_;
            }
            /**
             * <code>uint32 tag = 1897;</code>
             *
             * @param value The tag to set.
             * @return This builder for chaining.
             */
            public Builder setTag(int value) {

                tag_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 tag = 1897;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearTag() {

                tag_ = 0;
                onChanged();
                return this;
            }

            private int cIJNPHDIOND_;
            /**
             * <code>uint32 CIJNPHDIOND = 5;</code>
             *
             * @return The cIJNPHDIOND.
             */
            @java.lang.Override
            public int getCIJNPHDIOND() {
                return cIJNPHDIOND_;
            }
            /**
             * <code>uint32 CIJNPHDIOND = 5;</code>
             *
             * @param value The cIJNPHDIOND to set.
             * @return This builder for chaining.
             */
            public Builder setCIJNPHDIOND(int value) {

                cIJNPHDIOND_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 CIJNPHDIOND = 5;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearCIJNPHDIOND() {

                cIJNPHDIOND_ = 0;
                onChanged();
                return this;
            }

            private int clientDataVersion_;
            /**
             * <code>uint32 client_data_version = 1098;</code>
             *
             * @return The clientDataVersion.
             */
            @java.lang.Override
            public int getClientDataVersion() {
                return clientDataVersion_;
            }
            /**
             * <code>uint32 client_data_version = 1098;</code>
             *
             * @param value The clientDataVersion to set.
             * @return This builder for chaining.
             */
            public Builder setClientDataVersion(int value) {

                clientDataVersion_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 client_data_version = 1098;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearClientDataVersion() {

                clientDataVersion_ = 0;
                onChanged();
                return this;
            }

            private java.lang.Object dABNCDNACJK_ = "";
            /**
             * <code>string DABNCDNACJK = 587;</code>
             *
             * @return The dABNCDNACJK.
             */
            public java.lang.String getDABNCDNACJK() {
                java.lang.Object ref = dABNCDNACJK_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    dABNCDNACJK_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string DABNCDNACJK = 587;</code>
             *
             * @return The bytes for dABNCDNACJK.
             */
            public com.google.protobuf.ByteString getDABNCDNACJKBytes() {
                java.lang.Object ref = dABNCDNACJK_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    dABNCDNACJK_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string DABNCDNACJK = 587;</code>
             *
             * @param value The dABNCDNACJK to set.
             * @return This builder for chaining.
             */
            public Builder setDABNCDNACJK(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                dABNCDNACJK_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string DABNCDNACJK = 587;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearDABNCDNACJK() {

                dABNCDNACJK_ = getDefaultInstance().getDABNCDNACJK();
                onChanged();
                return this;
            }
            /**
             * <code>string DABNCDNACJK = 587;</code>
             *
             * @param value The bytes for dABNCDNACJK to set.
             * @return This builder for chaining.
             */
            public Builder setDABNCDNACJKBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                dABNCDNACJK_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object deviceUuid_ = "";
            /**
             * <code>string device_uuid = 13;</code>
             *
             * @return The deviceUuid.
             */
            public java.lang.String getDeviceUuid() {
                java.lang.Object ref = deviceUuid_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    deviceUuid_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string device_uuid = 13;</code>
             *
             * @return The bytes for deviceUuid.
             */
            public com.google.protobuf.ByteString getDeviceUuidBytes() {
                java.lang.Object ref = deviceUuid_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    deviceUuid_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string device_uuid = 13;</code>
             *
             * @param value The deviceUuid to set.
             * @return This builder for chaining.
             */
            public Builder setDeviceUuid(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                deviceUuid_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string device_uuid = 13;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearDeviceUuid() {

                deviceUuid_ = getDefaultInstance().getDeviceUuid();
                onChanged();
                return this;
            }
            /**
             * <code>string device_uuid = 13;</code>
             *
             * @param value The bytes for deviceUuid to set.
             * @return This builder for chaining.
             */
            public Builder setDeviceUuidBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                deviceUuid_ = value;
                onChanged();
                return this;
            }

            private int platformType_;
            /**
             * <code>uint32 platform_type = 15;</code>
             *
             * @return The platformType.
             */
            @java.lang.Override
            public int getPlatformType() {
                return platformType_;
            }
            /**
             * <code>uint32 platform_type = 15;</code>
             *
             * @param value The platformType to set.
             * @return This builder for chaining.
             */
            public Builder setPlatformType(int value) {

                platformType_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 platform_type = 15;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearPlatformType() {

                platformType_ = 0;
                onChanged();
                return this;
            }

            private com.google.protobuf.ByteString securityCmdReply_ =
                    com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>bytes security_cmd_reply = 1959;</code>
             *
             * @return The securityCmdReply.
             */
            @java.lang.Override
            public com.google.protobuf.ByteString getSecurityCmdReply() {
                return securityCmdReply_;
            }
            /**
             * <code>bytes security_cmd_reply = 1959;</code>
             *
             * @param value The securityCmdReply to set.
             * @return This builder for chaining.
             */
            public Builder setSecurityCmdReply(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                securityCmdReply_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bytes security_cmd_reply = 1959;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearSecurityCmdReply() {

                securityCmdReply_ = getDefaultInstance().getSecurityCmdReply();
                onChanged();
                return this;
            }

            private int lFPHHMGKIIP_;
            /**
             * <code>uint32 LFPHHMGKIIP = 1187;</code>
             *
             * @return The lFPHHMGKIIP.
             */
            @java.lang.Override
            public int getLFPHHMGKIIP() {
                return lFPHHMGKIIP_;
            }
            /**
             * <code>uint32 LFPHHMGKIIP = 1187;</code>
             *
             * @param value The lFPHHMGKIIP to set.
             * @return This builder for chaining.
             */
            public Builder setLFPHHMGKIIP(int value) {

                lFPHHMGKIIP_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 LFPHHMGKIIP = 1187;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearLFPHHMGKIIP() {

                lFPHHMGKIIP_ = 0;
                onChanged();
                return this;
            }

            private java.lang.Object birthday_ = "";
            /**
             * <code>string birthday = 1256;</code>
             *
             * @return The birthday.
             */
            public java.lang.String getBirthday() {
                java.lang.Object ref = birthday_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    birthday_ = s;
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>string birthday = 1256;</code>
             *
             * @return The bytes for birthday.
             */
            public com.google.protobuf.ByteString getBirthdayBytes() {
                java.lang.Object ref = birthday_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    birthday_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>string birthday = 1256;</code>
             *
             * @param value The birthday to set.
             * @return This builder for chaining.
             */
            public Builder setBirthday(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                birthday_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>string birthday = 1256;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearBirthday() {

                birthday_ = getDefaultInstance().getBirthday();
                onChanged();
                return this;
            }
            /**
             * <code>string birthday = 1256;</code>
             *
             * @param value The bytes for birthday to set.
             * @return This builder for chaining.
             */
            public Builder setBirthdayBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);

                birthday_ = value;
                onChanged();
                return this;
            }

            @java.lang.Override
            public final Builder setUnknownFields(
                    final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.setUnknownFields(unknownFields);
            }

            @java.lang.Override
            public final Builder mergeUnknownFields(
                    final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.mergeUnknownFields(unknownFields);
            }

            // @@protoc_insertion_point(builder_scope:PlayerLoginReq)
        }

        // @@protoc_insertion_point(class_scope:PlayerLoginReq)
        private static final emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq
                DEFAULT_INSTANCE;

        static {
            DEFAULT_INSTANCE = new emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq();
        }

        public static emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq
                getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser<PlayerLoginReq> PARSER =
                new com.google.protobuf.AbstractParser<PlayerLoginReq>() {
                    @java.lang.Override
                    public PlayerLoginReq parsePartialFrom(
                            com.google.protobuf.CodedInputStream input,
                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                            throws com.google.protobuf.InvalidProtocolBufferException {
                        return new PlayerLoginReq(input, extensionRegistry);
                    }
                };

        public static com.google.protobuf.Parser<PlayerLoginReq> parser() {
            return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<PlayerLoginReq> getParserForType() {
            return PARSER;
        }

        @java.lang.Override
        public emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq
                getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }
    }

    private static final com.google.protobuf.Descriptors.Descriptor
            internal_static_PlayerLoginReq_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internal_static_PlayerLoginReq_fieldAccessorTable;

    public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
        return descriptor;
    }

    private static com.google.protobuf.Descriptors.FileDescriptor descriptor;

    static {
        java.lang.String[] descriptorData = {
            "\n\024PlayerLoginReq.proto\032\030AdjustTrackingIn"
                    + "fo.proto\032\024TrackingIOInfo.proto\"\203\010\n\016Playe"
                    + "rLoginReq\022\024\n\013KDIHPMJOCPG\030\215\007 \001(\r\022\024\n\013PNJNC"
                    + "CNPILL\030\361\017 \001(\r\022\r\n\005token\030\010 \001(\t\022\020\n\010is_guest"
                    + "\030\006 \001(\010\022\024\n\013JKPKMFPELKK\030\212\006 \001(\t\022\022\n\tonline_i"
                    + "d\030\365\r \001(\t\0222\n\024adjust_tracking_info\030\332\017 \001(\0132"
                    + "\023.AdjustTrackingInfo\022\022\n\nlogin_rand\030\014 \001(\004"
                    + "\022*\n\020tracking_io_info\030\362\003 \001(\0132\017.TrackingIO"
                    + "Info\022\025\n\rlanguage_type\030\007 \001(\r\022\024\n\013CJHEEAGCF"
                    + "JG\030\337\017 \001(\r\022\024\n\013FGAKKMHIKHF\030\275\006 \001(\r\022\026\n\016syste"
                    + "m_version\030\002 \001(\t\022\024\n\013DOAPGNNFLBJ\030\310\n \001(\t\022\023\n"
                    + "\013account_uid\030\004 \001(\t\022\022\n\ntarget_uid\030\016 \001(\r\022\035"
                    + "\n\024security_library_md5\030\376\001 \001(\t\022\025\n\014country"
                    + "_code\030\250\007 \001(\t\022\024\n\013FIDMBJJPBEH\030\300\006 \001(\r\022\021\n\010ch"
                    + "ecksum\030\241\017 \001(\t\022\023\n\013device_info\030\013 \001(\t\022\024\n\013JL"
                    + "OPICGGPBP\030\322\007 \001(\014\022 \n\027checksum_client_vers"
                    + "ion\030\267\006 \001(\t\022\024\n\013ECJMGOCEABB\030\362\014 \001(\r\022\026\n\016clie"
                    + "nt_version\030\003 \001(\t\022\017\n\006psn_id\030\345\010 \001(\t\022\021\n\tis_"
                    + "editor\030\n \001(\010\022\037\n\026environment_error_code\030\232"
                    + "\007 \001(\014\022\020\n\010platform\030\001 \001(\t\022\023\n\nchannel_id\030\221\007"
                    + " \001(\r\022\024\n\013is_transfer\030\346\n \001(\010\022\034\n\023client_ver"
                    + "ison_hash\030\357\013 \001(\t\022\023\n\013device_name\030\t \001(\t\022\024\n"
                    + "\013FMOKLFNAOOK\030\225\t \001(\r\022\014\n\003tag\030\351\016 \001(\r\022\023\n\013CIJ"
                    + "NPHDIOND\030\005 \001(\r\022\034\n\023client_data_version\030\312\010"
                    + " \001(\r\022\024\n\013DABNCDNACJK\030\313\004 \001(\t\022\023\n\013device_uui"
                    + "d\030\r \001(\t\022\025\n\rplatform_type\030\017 \001(\r\022\033\n\022securi"
                    + "ty_cmd_reply\030\247\017 \001(\014\022\024\n\013LFPHHMGKIIP\030\243\t \001("
                    + "\r\022\021\n\010birthday\030\350\t \001(\tB!\n\031emu.grasscutter."
                    + "net.protoZ\004/genb\006proto3"
        };
        descriptor =
                com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
                        descriptorData,
                        new com.google.protobuf.Descriptors.FileDescriptor[] {
                            emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.getDescriptor(),
                            emu.grasscutter.net.proto.TrackingIOInfoOuterClass.getDescriptor(),
                        });
        internal_static_PlayerLoginReq_descriptor = getDescriptor().getMessageTypes().get(0);
        internal_static_PlayerLoginReq_fieldAccessorTable =
                new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
                        internal_static_PlayerLoginReq_descriptor,
                        new java.lang.String[] {
                            "KDIHPMJOCPG",
                            "PNJNCCNPILL",
                            "Token",
                            "IsGuest",
                            "JKPKMFPELKK",
                            "OnlineId",
                            "AdjustTrackingInfo",
                            "LoginRand",
                            "TrackingIoInfo",
                            "LanguageType",
                            "CJHEEAGCFJG",
                            "FGAKKMHIKHF",
                            "SystemVersion",
                            "DOAPGNNFLBJ",
                            "AccountUid",
                            "TargetUid",
                            "SecurityLibraryMd5",
                            "CountryCode",
                            "FIDMBJJPBEH",
                            "Checksum",
                            "DeviceInfo",
                            "JLOPICGGPBP",
                            "ChecksumClientVersion",
                            "ECJMGOCEABB",
                            "ClientVersion",
                            "PsnId",
                            "IsEditor",
                            "EnvironmentErrorCode",
                            "Platform",
                            "ChannelId",
                            "IsTransfer",
                            "ClientVerisonHash",
                            "DeviceName",
                            "FMOKLFNAOOK",
                            "Tag",
                            "CIJNPHDIOND",
                            "ClientDataVersion",
                            "DABNCDNACJK",
                            "DeviceUuid",
                            "PlatformType",
                            "SecurityCmdReply",
                            "LFPHHMGKIIP",
                            "Birthday",
                        });
        emu.grasscutter.net.proto.AdjustTrackingInfoOuterClass.getDescriptor();
        emu.grasscutter.net.proto.TrackingIOInfoOuterClass.getDescriptor();
    }

    // @@protoc_insertion_point(outer_class_scope)
}
