// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: gcsdk_gcmessages.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace SteamKit2.GC.Dota.Internal
{

    [global::ProtoBuf.ProtoContract()]
    public partial class CExtraMsgBlock : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint msg_type
        {
            get => __pbn__msg_type.GetValueOrDefault();
            set => __pbn__msg_type = value;
        }
        public bool ShouldSerializemsg_type() => __pbn__msg_type != null;
        public void Resetmsg_type() => __pbn__msg_type = null;
        private uint? __pbn__msg_type;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] contents
        {
            get => __pbn__contents;
            set => __pbn__contents = value;
        }
        public bool ShouldSerializecontents() => __pbn__contents != null;
        public void Resetcontents() => __pbn__contents = null;
        private byte[] __pbn__contents;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong msg_key
        {
            get => __pbn__msg_key.GetValueOrDefault();
            set => __pbn__msg_key = value;
        }
        public bool ShouldSerializemsg_key() => __pbn__msg_key != null;
        public void Resetmsg_key() => __pbn__msg_key = null;
        private ulong? __pbn__msg_key;

        [global::ProtoBuf.ProtoMember(4)]
        public bool is_compressed
        {
            get => __pbn__is_compressed.GetValueOrDefault();
            set => __pbn__is_compressed = value;
        }
        public bool ShouldSerializeis_compressed() => __pbn__is_compressed != null;
        public void Resetis_compressed() => __pbn__is_compressed = null;
        private bool? __pbn__is_compressed;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnServerInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgSteamLearnAccessTokens access_tokens { get; set; }

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<ProjectInfo> project_infos { get; } = new global::System.Collections.Generic.List<ProjectInfo>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ProjectInfo : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint project_id
            {
                get => __pbn__project_id.GetValueOrDefault();
                set => __pbn__project_id = value;
            }
            public bool ShouldSerializeproject_id() => __pbn__project_id != null;
            public void Resetproject_id() => __pbn__project_id = null;
            private uint? __pbn__project_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint snapshot_published_version
            {
                get => __pbn__snapshot_published_version.GetValueOrDefault();
                set => __pbn__snapshot_published_version = value;
            }
            public bool ShouldSerializesnapshot_published_version() => __pbn__snapshot_published_version != null;
            public void Resetsnapshot_published_version() => __pbn__snapshot_published_version = null;
            private uint? __pbn__snapshot_published_version;

            [global::ProtoBuf.ProtoMember(3)]
            public uint inference_published_version
            {
                get => __pbn__inference_published_version.GetValueOrDefault();
                set => __pbn__inference_published_version = value;
            }
            public bool ShouldSerializeinference_published_version() => __pbn__inference_published_version != null;
            public void Resetinference_published_version() => __pbn__inference_published_version = null;
            private uint? __pbn__inference_published_version;

            [global::ProtoBuf.ProtoMember(6)]
            public uint snapshot_percentage
            {
                get => __pbn__snapshot_percentage.GetValueOrDefault();
                set => __pbn__snapshot_percentage = value;
            }
            public bool ShouldSerializesnapshot_percentage() => __pbn__snapshot_percentage != null;
            public void Resetsnapshot_percentage() => __pbn__snapshot_percentage = null;
            private uint? __pbn__snapshot_percentage;

            [global::ProtoBuf.ProtoMember(7)]
            public bool snapshot_enabled
            {
                get => __pbn__snapshot_enabled.GetValueOrDefault();
                set => __pbn__snapshot_enabled = value;
            }
            public bool ShouldSerializesnapshot_enabled() => __pbn__snapshot_enabled != null;
            public void Resetsnapshot_enabled() => __pbn__snapshot_enabled = null;
            private bool? __pbn__snapshot_enabled;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCAssertJobData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string message_type
        {
            get => __pbn__message_type ?? "";
            set => __pbn__message_type = value;
        }
        public bool ShouldSerializemessage_type() => __pbn__message_type != null;
        public void Resetmessage_type() => __pbn__message_type = null;
        private string __pbn__message_type;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] message_data
        {
            get => __pbn__message_data;
            set => __pbn__message_data = value;
        }
        public bool ShouldSerializemessage_data() => __pbn__message_data != null;
        public void Resetmessage_data() => __pbn__message_data = null;
        private byte[] __pbn__message_data;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCConCommand : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string command
        {
            get => __pbn__command ?? "";
            set => __pbn__command = value;
        }
        public bool ShouldSerializecommand() => __pbn__command != null;
        public void Resetcommand() => __pbn__command = null;
        private string __pbn__command;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSDOAssert : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int sdo_type
        {
            get => __pbn__sdo_type.GetValueOrDefault();
            set => __pbn__sdo_type = value;
        }
        public bool ShouldSerializesdo_type() => __pbn__sdo_type != null;
        public void Resetsdo_type() => __pbn__sdo_type = null;
        private int? __pbn__sdo_type;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Request> requests { get; } = new global::System.Collections.Generic.List<Request>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Request : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<ulong> key { get; } = new global::System.Collections.Generic.List<ulong>();

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string requesting_job
            {
                get => __pbn__requesting_job ?? "";
                set => __pbn__requesting_job = value;
            }
            public bool ShouldSerializerequesting_job() => __pbn__requesting_job != null;
            public void Resetrequesting_job() => __pbn__requesting_job = null;
            private string __pbn__requesting_job;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOIDOwner : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint type
        {
            get => __pbn__type.GetValueOrDefault();
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private uint? __pbn__type;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong id
        {
            get => __pbn__id.GetValueOrDefault();
            set => __pbn__id = value;
        }
        public bool ShouldSerializeid() => __pbn__id != null;
        public void Resetid() => __pbn__id = null;
        private ulong? __pbn__id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOSingleObject : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public int type_id
        {
            get => __pbn__type_id.GetValueOrDefault();
            set => __pbn__type_id = value;
        }
        public bool ShouldSerializetype_id() => __pbn__type_id != null;
        public void Resettype_id() => __pbn__type_id = null;
        private int? __pbn__type_id;

        [global::ProtoBuf.ProtoMember(3)]
        public byte[] object_data
        {
            get => __pbn__object_data;
            set => __pbn__object_data = value;
        }
        public bool ShouldSerializeobject_data() => __pbn__object_data != null;
        public void Resetobject_data() => __pbn__object_data = null;
        private byte[] __pbn__object_data;

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(5)]
        public CMsgSOIDOwner owner_soid { get; set; }

        [global::ProtoBuf.ProtoMember(6)]
        public uint service_id
        {
            get => __pbn__service_id.GetValueOrDefault();
            set => __pbn__service_id = value;
        }
        public bool ShouldSerializeservice_id() => __pbn__service_id != null;
        public void Resetservice_id() => __pbn__service_id = null;
        private uint? __pbn__service_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOMultipleObjects : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<SingleObject> objects_modified { get; } = new global::System.Collections.Generic.List<SingleObject>();

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<SingleObject> objects_added { get; } = new global::System.Collections.Generic.List<SingleObject>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<SingleObject> objects_removed { get; } = new global::System.Collections.Generic.List<SingleObject>();

        [global::ProtoBuf.ProtoMember(6)]
        public CMsgSOIDOwner owner_soid { get; set; }

        [global::ProtoBuf.ProtoMember(7)]
        public uint service_id
        {
            get => __pbn__service_id.GetValueOrDefault();
            set => __pbn__service_id = value;
        }
        public bool ShouldSerializeservice_id() => __pbn__service_id != null;
        public void Resetservice_id() => __pbn__service_id = null;
        private uint? __pbn__service_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class SingleObject : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int type_id
            {
                get => __pbn__type_id.GetValueOrDefault();
                set => __pbn__type_id = value;
            }
            public bool ShouldSerializetype_id() => __pbn__type_id != null;
            public void Resettype_id() => __pbn__type_id = null;
            private int? __pbn__type_id;

            [global::ProtoBuf.ProtoMember(2)]
            public byte[] object_data
            {
                get => __pbn__object_data;
                set => __pbn__object_data = value;
            }
            public bool ShouldSerializeobject_data() => __pbn__object_data != null;
            public void Resetobject_data() => __pbn__object_data = null;
            private byte[] __pbn__object_data;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheSubscribed : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<SubscribedType> objects { get; } = new global::System.Collections.Generic.List<SubscribedType>();

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgSOIDOwner owner_soid { get; set; }

        [global::ProtoBuf.ProtoMember(5)]
        public uint service_id
        {
            get => __pbn__service_id.GetValueOrDefault();
            set => __pbn__service_id = value;
        }
        public bool ShouldSerializeservice_id() => __pbn__service_id != null;
        public void Resetservice_id() => __pbn__service_id = null;
        private uint? __pbn__service_id;

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<uint> service_list { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(7, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong sync_version
        {
            get => __pbn__sync_version.GetValueOrDefault();
            set => __pbn__sync_version = value;
        }
        public bool ShouldSerializesync_version() => __pbn__sync_version != null;
        public void Resetsync_version() => __pbn__sync_version = null;
        private ulong? __pbn__sync_version;

        [global::ProtoBuf.ProtoContract()]
        public partial class SubscribedType : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int type_id
            {
                get => __pbn__type_id.GetValueOrDefault();
                set => __pbn__type_id = value;
            }
            public bool ShouldSerializetype_id() => __pbn__type_id != null;
            public void Resettype_id() => __pbn__type_id = null;
            private int? __pbn__type_id;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<byte[]> object_data { get; } = new global::System.Collections.Generic.List<byte[]>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheSubscribedUpToDate : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgSOIDOwner owner_soid { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        public uint service_id
        {
            get => __pbn__service_id.GetValueOrDefault();
            set => __pbn__service_id = value;
        }
        public bool ShouldSerializeservice_id() => __pbn__service_id != null;
        public void Resetservice_id() => __pbn__service_id = null;
        private uint? __pbn__service_id;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<uint> service_list { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(5, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong sync_version
        {
            get => __pbn__sync_version.GetValueOrDefault();
            set => __pbn__sync_version = value;
        }
        public bool ShouldSerializesync_version() => __pbn__sync_version != null;
        public void Resetsync_version() => __pbn__sync_version = null;
        private ulong? __pbn__sync_version;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheUnsubscribed : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgSOIDOwner owner_soid { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheSubscriptionCheck : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(3)]
        public CMsgSOIDOwner owner_soid { get; set; }

        [global::ProtoBuf.ProtoMember(4)]
        public uint service_id
        {
            get => __pbn__service_id.GetValueOrDefault();
            set => __pbn__service_id = value;
        }
        public bool ShouldSerializeservice_id() => __pbn__service_id != null;
        public void Resetservice_id() => __pbn__service_id = null;
        private uint? __pbn__service_id;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<uint> service_list { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(6, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong sync_version
        {
            get => __pbn__sync_version.GetValueOrDefault();
            set => __pbn__sync_version = value;
        }
        public bool ShouldSerializesync_version() => __pbn__sync_version != null;
        public void Resetsync_version() => __pbn__sync_version = null;
        private ulong? __pbn__sync_version;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheSubscriptionRefresh : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgSOIDOwner owner_soid { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheVersion : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCMultiplexMessage : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint msgtype
        {
            get => __pbn__msgtype.GetValueOrDefault();
            set => __pbn__msgtype = value;
        }
        public bool ShouldSerializemsgtype() => __pbn__msgtype != null;
        public void Resetmsgtype() => __pbn__msgtype = null;
        private uint? __pbn__msgtype;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] payload
        {
            get => __pbn__payload;
            set => __pbn__payload = value;
        }
        public bool ShouldSerializepayload() => __pbn__payload != null;
        public void Resetpayload() => __pbn__payload = null;
        private byte[] __pbn__payload;

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> steamids { get; } = new global::System.Collections.Generic.List<ulong>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCSubGCStarting : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int dir_index
        {
            get => __pbn__dir_index ?? -1;
            set => __pbn__dir_index = value;
        }
        public bool ShouldSerializedir_index() => __pbn__dir_index != null;
        public void Resetdir_index() => __pbn__dir_index = null;
        private int? __pbn__dir_index;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgMasterAck : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int dir_index
        {
            get => __pbn__dir_index ?? -1;
            set => __pbn__dir_index = value;
        }
        public bool ShouldSerializedir_index() => __pbn__dir_index != null;
        public void Resetdir_index() => __pbn__dir_index = null;
        private int? __pbn__dir_index;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string machine_name
        {
            get => __pbn__machine_name ?? "";
            set => __pbn__machine_name = value;
        }
        public bool ShouldSerializemachine_name() => __pbn__machine_name != null;
        public void Resetmachine_name() => __pbn__machine_name = null;
        private string __pbn__machine_name;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string process_name
        {
            get => __pbn__process_name ?? "";
            set => __pbn__process_name = value;
        }
        public bool ShouldSerializeprocess_name() => __pbn__process_name != null;
        public void Resetprocess_name() => __pbn__process_name = null;
        private string __pbn__process_name;

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<Process> directory { get; } = new global::System.Collections.Generic.List<Process>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Process : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int dir_index
            {
                get => __pbn__dir_index ?? -1;
                set => __pbn__dir_index = value;
            }
            public bool ShouldSerializedir_index() => __pbn__dir_index != null;
            public void Resetdir_index() => __pbn__dir_index = null;
            private int? __pbn__dir_index;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<uint> type_instances { get; } = new global::System.Collections.Generic.List<uint>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgMasterAck_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(2)]
        public int eresult
        {
            get => __pbn__eresult ?? 2;
            set => __pbn__eresult = value;
        }
        public bool ShouldSerializeeresult() => __pbn__eresult != null;
        public void Reseteresult() => __pbn__eresult = null;
        private int? __pbn__eresult;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCUniverseStartup : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool is_initial_startup
        {
            get => __pbn__is_initial_startup.GetValueOrDefault();
            set => __pbn__is_initial_startup = value;
        }
        public bool ShouldSerializeis_initial_startup() => __pbn__is_initial_startup != null;
        public void Resetis_initial_startup() => __pbn__is_initial_startup = null;
        private bool? __pbn__is_initial_startup;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCUniverseStartupResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int eresult
        {
            get => __pbn__eresult.GetValueOrDefault();
            set => __pbn__eresult = value;
        }
        public bool ShouldSerializeeresult() => __pbn__eresult != null;
        public void Reseteresult() => __pbn__eresult = null;
        private int? __pbn__eresult;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgMasterStartupComplete : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<GCInfo> gc_info { get; } = new global::System.Collections.Generic.List<GCInfo>();

        [global::ProtoBuf.ProtoContract()]
        public partial class GCInfo : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int dir_index
            {
                get => __pbn__dir_index ?? -1;
                set => __pbn__dir_index = value;
            }
            public bool ShouldSerializedir_index() => __pbn__dir_index != null;
            public void Resetdir_index() => __pbn__dir_index = null;
            private int? __pbn__dir_index;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string machine_name
            {
                get => __pbn__machine_name ?? "";
                set => __pbn__machine_name = value;
            }
            public bool ShouldSerializemachine_name() => __pbn__machine_name != null;
            public void Resetmachine_name() => __pbn__machine_name = null;
            private string __pbn__machine_name;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgRouted : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint msg_type
        {
            get => __pbn__msg_type.GetValueOrDefault();
            set => __pbn__msg_type = value;
        }
        public bool ShouldSerializemsg_type() => __pbn__msg_type != null;
        public void Resetmsg_type() => __pbn__msg_type = null;
        private uint? __pbn__msg_type;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong sender_id
        {
            get => __pbn__sender_id.GetValueOrDefault();
            set => __pbn__sender_id = value;
        }
        public bool ShouldSerializesender_id() => __pbn__sender_id != null;
        public void Resetsender_id() => __pbn__sender_id = null;
        private ulong? __pbn__sender_id;

        [global::ProtoBuf.ProtoMember(3)]
        public byte[] net_message
        {
            get => __pbn__net_message;
            set => __pbn__net_message = value;
        }
        public bool ShouldSerializenet_message() => __pbn__net_message != null;
        public void Resetnet_message() => __pbn__net_message = null;
        private byte[] __pbn__net_message;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgRoutedReply : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint msg_type
        {
            get => __pbn__msg_type.GetValueOrDefault();
            set => __pbn__msg_type = value;
        }
        public bool ShouldSerializemsg_type() => __pbn__msg_type != null;
        public void Resetmsg_type() => __pbn__msg_type = null;
        private uint? __pbn__msg_type;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] net_message
        {
            get => __pbn__net_message;
            set => __pbn__net_message = value;
        }
        public bool ShouldSerializenet_message() => __pbn__net_message != null;
        public void Resetnet_message() => __pbn__net_message = null;
        private byte[] __pbn__net_message;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCUpdateSubGCSessionInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CMsgUpdate> updates { get; } = new global::System.Collections.Generic.List<CMsgUpdate>();

        [global::ProtoBuf.ProtoContract()]
        public partial class CMsgUpdate : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong steamid
            {
                get => __pbn__steamid.GetValueOrDefault();
                set => __pbn__steamid = value;
            }
            public bool ShouldSerializesteamid() => __pbn__steamid != null;
            public void Resetsteamid() => __pbn__steamid = null;
            private ulong? __pbn__steamid;

            [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public uint ip
            {
                get => __pbn__ip.GetValueOrDefault();
                set => __pbn__ip = value;
            }
            public bool ShouldSerializeip() => __pbn__ip != null;
            public void Resetip() => __pbn__ip = null;
            private uint? __pbn__ip;

            [global::ProtoBuf.ProtoMember(3)]
            public bool trusted
            {
                get => __pbn__trusted.GetValueOrDefault();
                set => __pbn__trusted = value;
            }
            public bool ShouldSerializetrusted() => __pbn__trusted != null;
            public void Resettrusted() => __pbn__trusted = null;
            private bool? __pbn__trusted;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCRequestSubGCSessionInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCRequestSubGCSessionInfoResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint ip
        {
            get => __pbn__ip.GetValueOrDefault();
            set => __pbn__ip = value;
        }
        public bool ShouldSerializeip() => __pbn__ip != null;
        public void Resetip() => __pbn__ip = null;
        private uint? __pbn__ip;

        [global::ProtoBuf.ProtoMember(2)]
        public bool trusted
        {
            get => __pbn__trusted.GetValueOrDefault();
            set => __pbn__trusted = value;
        }
        public bool ShouldSerializetrusted() => __pbn__trusted != null;
        public void Resettrusted() => __pbn__trusted = null;
        private bool? __pbn__trusted;

        [global::ProtoBuf.ProtoMember(3)]
        public uint port
        {
            get => __pbn__port.GetValueOrDefault();
            set => __pbn__port = value;
        }
        public bool ShouldSerializeport() => __pbn__port != null;
        public void Resetport() => __pbn__port = null;
        private uint? __pbn__port;

        [global::ProtoBuf.ProtoMember(4)]
        public bool success
        {
            get => __pbn__success.GetValueOrDefault();
            set => __pbn__success = value;
        }
        public bool ShouldSerializesuccess() => __pbn__success != null;
        public void Resetsuccess() => __pbn__success = null;
        private bool? __pbn__success;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheHaveVersion : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgSOIDOwner soid { get; set; }

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(3)]
        public uint service_id
        {
            get => __pbn__service_id.GetValueOrDefault();
            set => __pbn__service_id = value;
        }
        public bool ShouldSerializeservice_id() => __pbn__service_id != null;
        public void Resetservice_id() => __pbn__service_id = null;
        private uint? __pbn__service_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint cached_file_version
        {
            get => __pbn__cached_file_version.GetValueOrDefault();
            set => __pbn__cached_file_version = value;
        }
        public bool ShouldSerializecached_file_version() => __pbn__cached_file_version != null;
        public void Resetcached_file_version() => __pbn__cached_file_version = null;
        private uint? __pbn__cached_file_version;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientHello : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgSOCacheHaveVersion> socache_have_versions { get; } = new global::System.Collections.Generic.List<CMsgSOCacheHaveVersion>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint client_session_need
        {
            get => __pbn__client_session_need.GetValueOrDefault();
            set => __pbn__client_session_need = value;
        }
        public bool ShouldSerializeclient_session_need() => __pbn__client_session_need != null;
        public void Resetclient_session_need() => __pbn__client_session_need = null;
        private uint? __pbn__client_session_need;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(PartnerAccountType.PARTNER_NONE)]
        public PartnerAccountType client_launcher
        {
            get => __pbn__client_launcher ?? PartnerAccountType.PARTNER_NONE;
            set => __pbn__client_launcher = value;
        }
        public bool ShouldSerializeclient_launcher() => __pbn__client_launcher != null;
        public void Resetclient_launcher() => __pbn__client_launcher = null;
        private PartnerAccountType? __pbn__client_launcher;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string secret_key
        {
            get => __pbn__secret_key ?? "";
            set => __pbn__secret_key = value;
        }
        public bool ShouldSerializesecret_key() => __pbn__secret_key != null;
        public void Resetsecret_key() => __pbn__secret_key = null;
        private string __pbn__secret_key;

        [global::ProtoBuf.ProtoMember(6)]
        public uint client_language
        {
            get => __pbn__client_language.GetValueOrDefault();
            set => __pbn__client_language = value;
        }
        public bool ShouldSerializeclient_language() => __pbn__client_language != null;
        public void Resetclient_language() => __pbn__client_language = null;
        private uint? __pbn__client_language;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue(ESourceEngine.k_ESE_Source1)]
        public ESourceEngine engine
        {
            get => __pbn__engine ?? ESourceEngine.k_ESE_Source1;
            set => __pbn__engine = value;
        }
        public bool ShouldSerializeengine() => __pbn__engine != null;
        public void Resetengine() => __pbn__engine = null;
        private ESourceEngine? __pbn__engine;

        [global::ProtoBuf.ProtoMember(8)]
        public byte[] steamdatagram_login
        {
            get => __pbn__steamdatagram_login;
            set => __pbn__steamdatagram_login = value;
        }
        public bool ShouldSerializesteamdatagram_login() => __pbn__steamdatagram_login != null;
        public void Resetsteamdatagram_login() => __pbn__steamdatagram_login = null;
        private byte[] __pbn__steamdatagram_login;

        [global::ProtoBuf.ProtoMember(9)]
        public uint platform_id
        {
            get => __pbn__platform_id.GetValueOrDefault();
            set => __pbn__platform_id = value;
        }
        public bool ShouldSerializeplatform_id() => __pbn__platform_id != null;
        public void Resetplatform_id() => __pbn__platform_id = null;
        private uint? __pbn__platform_id;

        [global::ProtoBuf.ProtoMember(10)]
        public byte[] game_msg
        {
            get => __pbn__game_msg;
            set => __pbn__game_msg = value;
        }
        public bool ShouldSerializegame_msg() => __pbn__game_msg != null;
        public void Resetgame_msg() => __pbn__game_msg = null;
        private byte[] __pbn__game_msg;

        [global::ProtoBuf.ProtoMember(11)]
        public int os_type
        {
            get => __pbn__os_type.GetValueOrDefault();
            set => __pbn__os_type = value;
        }
        public bool ShouldSerializeos_type() => __pbn__os_type != null;
        public void Resetos_type() => __pbn__os_type = null;
        private int? __pbn__os_type;

        [global::ProtoBuf.ProtoMember(12)]
        public uint render_system
        {
            get => __pbn__render_system.GetValueOrDefault();
            set => __pbn__render_system = value;
        }
        public bool ShouldSerializerender_system() => __pbn__render_system != null;
        public void Resetrender_system() => __pbn__render_system = null;
        private uint? __pbn__render_system;

        [global::ProtoBuf.ProtoMember(13)]
        public uint render_system_req
        {
            get => __pbn__render_system_req.GetValueOrDefault();
            set => __pbn__render_system_req = value;
        }
        public bool ShouldSerializerender_system_req() => __pbn__render_system_req != null;
        public void Resetrender_system_req() => __pbn__render_system_req = null;
        private uint? __pbn__render_system_req;

        [global::ProtoBuf.ProtoMember(14)]
        public uint screen_width
        {
            get => __pbn__screen_width.GetValueOrDefault();
            set => __pbn__screen_width = value;
        }
        public bool ShouldSerializescreen_width() => __pbn__screen_width != null;
        public void Resetscreen_width() => __pbn__screen_width = null;
        private uint? __pbn__screen_width;

        [global::ProtoBuf.ProtoMember(15)]
        public uint screen_height
        {
            get => __pbn__screen_height.GetValueOrDefault();
            set => __pbn__screen_height = value;
        }
        public bool ShouldSerializescreen_height() => __pbn__screen_height != null;
        public void Resetscreen_height() => __pbn__screen_height = null;
        private uint? __pbn__screen_height;

        [global::ProtoBuf.ProtoMember(16)]
        public uint screen_refresh
        {
            get => __pbn__screen_refresh.GetValueOrDefault();
            set => __pbn__screen_refresh = value;
        }
        public bool ShouldSerializescreen_refresh() => __pbn__screen_refresh != null;
        public void Resetscreen_refresh() => __pbn__screen_refresh = null;
        private uint? __pbn__screen_refresh;

        [global::ProtoBuf.ProtoMember(17)]
        public uint render_width
        {
            get => __pbn__render_width.GetValueOrDefault();
            set => __pbn__render_width = value;
        }
        public bool ShouldSerializerender_width() => __pbn__render_width != null;
        public void Resetrender_width() => __pbn__render_width = null;
        private uint? __pbn__render_width;

        [global::ProtoBuf.ProtoMember(18)]
        public uint render_height
        {
            get => __pbn__render_height.GetValueOrDefault();
            set => __pbn__render_height = value;
        }
        public bool ShouldSerializerender_height() => __pbn__render_height != null;
        public void Resetrender_height() => __pbn__render_height = null;
        private uint? __pbn__render_height;

        [global::ProtoBuf.ProtoMember(19)]
        public uint swap_width
        {
            get => __pbn__swap_width.GetValueOrDefault();
            set => __pbn__swap_width = value;
        }
        public bool ShouldSerializeswap_width() => __pbn__swap_width != null;
        public void Resetswap_width() => __pbn__swap_width = null;
        private uint? __pbn__swap_width;

        [global::ProtoBuf.ProtoMember(20)]
        public uint swap_height
        {
            get => __pbn__swap_height.GetValueOrDefault();
            set => __pbn__swap_height = value;
        }
        public bool ShouldSerializeswap_height() => __pbn__swap_height != null;
        public void Resetswap_height() => __pbn__swap_height = null;
        private uint? __pbn__swap_height;

        [global::ProtoBuf.ProtoMember(22)]
        public bool is_steam_china
        {
            get => __pbn__is_steam_china.GetValueOrDefault();
            set => __pbn__is_steam_china = value;
        }
        public bool ShouldSerializeis_steam_china() => __pbn__is_steam_china != null;
        public void Resetis_steam_china() => __pbn__is_steam_china = null;
        private bool? __pbn__is_steam_china;

        [global::ProtoBuf.ProtoMember(24)]
        public bool is_steam_china_client
        {
            get => __pbn__is_steam_china_client.GetValueOrDefault();
            set => __pbn__is_steam_china_client = value;
        }
        public bool ShouldSerializeis_steam_china_client() => __pbn__is_steam_china_client != null;
        public void Resetis_steam_china_client() => __pbn__is_steam_china_client = null;
        private bool? __pbn__is_steam_china_client;

        [global::ProtoBuf.ProtoMember(23)]
        [global::System.ComponentModel.DefaultValue("")]
        public string platform_name
        {
            get => __pbn__platform_name ?? "";
            set => __pbn__platform_name = value;
        }
        public bool ShouldSerializeplatform_name() => __pbn__platform_name != null;
        public void Resetplatform_name() => __pbn__platform_name = null;
        private string __pbn__platform_name;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientWelcome : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] game_data
        {
            get => __pbn__game_data;
            set => __pbn__game_data = value;
        }
        public bool ShouldSerializegame_data() => __pbn__game_data != null;
        public void Resetgame_data() => __pbn__game_data = null;
        private byte[] __pbn__game_data;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<CMsgSOCacheSubscribed> outofdate_subscribed_caches { get; } = new global::System.Collections.Generic.List<CMsgSOCacheSubscribed>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<CMsgSOCacheSubscriptionCheck> uptodate_subscribed_caches { get; } = new global::System.Collections.Generic.List<CMsgSOCacheSubscriptionCheck>();

        [global::ProtoBuf.ProtoMember(5)]
        public Location location { get; set; }

        [global::ProtoBuf.ProtoMember(9)]
        public uint gc_socache_file_version
        {
            get => __pbn__gc_socache_file_version.GetValueOrDefault();
            set => __pbn__gc_socache_file_version = value;
        }
        public bool ShouldSerializegc_socache_file_version() => __pbn__gc_socache_file_version != null;
        public void Resetgc_socache_file_version() => __pbn__gc_socache_file_version = null;
        private uint? __pbn__gc_socache_file_version;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue("")]
        public string txn_country_code
        {
            get => __pbn__txn_country_code ?? "";
            set => __pbn__txn_country_code = value;
        }
        public bool ShouldSerializetxn_country_code() => __pbn__txn_country_code != null;
        public void Resettxn_country_code() => __pbn__txn_country_code = null;
        private string __pbn__txn_country_code;

        [global::ProtoBuf.ProtoMember(11)]
        public byte[] game_data2
        {
            get => __pbn__game_data2;
            set => __pbn__game_data2 = value;
        }
        public bool ShouldSerializegame_data2() => __pbn__game_data2 != null;
        public void Resetgame_data2() => __pbn__game_data2 = null;
        private byte[] __pbn__game_data2;

        [global::ProtoBuf.ProtoMember(12)]
        public uint rtime32_gc_welcome_timestamp
        {
            get => __pbn__rtime32_gc_welcome_timestamp.GetValueOrDefault();
            set => __pbn__rtime32_gc_welcome_timestamp = value;
        }
        public bool ShouldSerializertime32_gc_welcome_timestamp() => __pbn__rtime32_gc_welcome_timestamp != null;
        public void Resetrtime32_gc_welcome_timestamp() => __pbn__rtime32_gc_welcome_timestamp = null;
        private uint? __pbn__rtime32_gc_welcome_timestamp;

        [global::ProtoBuf.ProtoMember(13)]
        public uint currency
        {
            get => __pbn__currency.GetValueOrDefault();
            set => __pbn__currency = value;
        }
        public bool ShouldSerializecurrency() => __pbn__currency != null;
        public void Resetcurrency() => __pbn__currency = null;
        private uint? __pbn__currency;

        [global::ProtoBuf.ProtoMember(14)]
        public uint balance
        {
            get => __pbn__balance.GetValueOrDefault();
            set => __pbn__balance = value;
        }
        public bool ShouldSerializebalance() => __pbn__balance != null;
        public void Resetbalance() => __pbn__balance = null;
        private uint? __pbn__balance;

        [global::ProtoBuf.ProtoMember(15)]
        [global::System.ComponentModel.DefaultValue("")]
        public string balance_url
        {
            get => __pbn__balance_url ?? "";
            set => __pbn__balance_url = value;
        }
        public bool ShouldSerializebalance_url() => __pbn__balance_url != null;
        public void Resetbalance_url() => __pbn__balance_url = null;
        private string __pbn__balance_url;

        [global::ProtoBuf.ProtoMember(16)]
        public bool has_accepted_china_ssa
        {
            get => __pbn__has_accepted_china_ssa.GetValueOrDefault();
            set => __pbn__has_accepted_china_ssa = value;
        }
        public bool ShouldSerializehas_accepted_china_ssa() => __pbn__has_accepted_china_ssa != null;
        public void Resethas_accepted_china_ssa() => __pbn__has_accepted_china_ssa = null;
        private bool? __pbn__has_accepted_china_ssa;

        [global::ProtoBuf.ProtoMember(17)]
        public bool is_banned_steam_china
        {
            get => __pbn__is_banned_steam_china.GetValueOrDefault();
            set => __pbn__is_banned_steam_china = value;
        }
        public bool ShouldSerializeis_banned_steam_china() => __pbn__is_banned_steam_china != null;
        public void Resetis_banned_steam_china() => __pbn__is_banned_steam_china = null;
        private bool? __pbn__is_banned_steam_china;

        [global::ProtoBuf.ProtoMember(18)]
        public CExtraMsgBlock additional_welcome_msgs { get; set; }

        [global::ProtoBuf.ProtoMember(20)]
        public CMsgSteamLearnServerInfo steam_learn_server_info { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class Location : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public float latitude
            {
                get => __pbn__latitude.GetValueOrDefault();
                set => __pbn__latitude = value;
            }
            public bool ShouldSerializelatitude() => __pbn__latitude != null;
            public void Resetlatitude() => __pbn__latitude = null;
            private float? __pbn__latitude;

            [global::ProtoBuf.ProtoMember(2)]
            public float longitude
            {
                get => __pbn__longitude.GetValueOrDefault();
                set => __pbn__longitude = value;
            }
            public bool ShouldSerializelongitude() => __pbn__longitude != null;
            public void Resetlongitude() => __pbn__longitude = null;
            private float? __pbn__longitude;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string country
            {
                get => __pbn__country ?? "";
                set => __pbn__country = value;
            }
            public bool ShouldSerializecountry() => __pbn__country != null;
            public void Resetcountry() => __pbn__country = null;
            private string __pbn__country;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgConnectionStatus : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(GCConnectionStatus.GCConnectionStatus_HAVE_SESSION)]
        public GCConnectionStatus status
        {
            get => __pbn__status ?? GCConnectionStatus.GCConnectionStatus_HAVE_SESSION;
            set => __pbn__status = value;
        }
        public bool ShouldSerializestatus() => __pbn__status != null;
        public void Resetstatus() => __pbn__status = null;
        private GCConnectionStatus? __pbn__status;

        [global::ProtoBuf.ProtoMember(2)]
        public uint client_session_need
        {
            get => __pbn__client_session_need.GetValueOrDefault();
            set => __pbn__client_session_need = value;
        }
        public bool ShouldSerializeclient_session_need() => __pbn__client_session_need != null;
        public void Resetclient_session_need() => __pbn__client_session_need = null;
        private uint? __pbn__client_session_need;

        [global::ProtoBuf.ProtoMember(3)]
        public int queue_position
        {
            get => __pbn__queue_position.GetValueOrDefault();
            set => __pbn__queue_position = value;
        }
        public bool ShouldSerializequeue_position() => __pbn__queue_position != null;
        public void Resetqueue_position() => __pbn__queue_position = null;
        private int? __pbn__queue_position;

        [global::ProtoBuf.ProtoMember(4)]
        public int queue_size
        {
            get => __pbn__queue_size.GetValueOrDefault();
            set => __pbn__queue_size = value;
        }
        public bool ShouldSerializequeue_size() => __pbn__queue_size != null;
        public void Resetqueue_size() => __pbn__queue_size = null;
        private int? __pbn__queue_size;

        [global::ProtoBuf.ProtoMember(5)]
        public int wait_seconds
        {
            get => __pbn__wait_seconds.GetValueOrDefault();
            set => __pbn__wait_seconds = value;
        }
        public bool ShouldSerializewait_seconds() => __pbn__wait_seconds != null;
        public void Resetwait_seconds() => __pbn__wait_seconds = null;
        private int? __pbn__wait_seconds;

        [global::ProtoBuf.ProtoMember(6)]
        public int estimated_wait_seconds_remaining
        {
            get => __pbn__estimated_wait_seconds_remaining.GetValueOrDefault();
            set => __pbn__estimated_wait_seconds_remaining = value;
        }
        public bool ShouldSerializeestimated_wait_seconds_remaining() => __pbn__estimated_wait_seconds_remaining != null;
        public void Resetestimated_wait_seconds_remaining() => __pbn__estimated_wait_seconds_remaining = null;
        private int? __pbn__estimated_wait_seconds_remaining;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCSOCacheSubscribe : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong subscriber
        {
            get => __pbn__subscriber.GetValueOrDefault();
            set => __pbn__subscriber = value;
        }
        public bool ShouldSerializesubscriber() => __pbn__subscriber != null;
        public void Resetsubscriber() => __pbn__subscriber = null;
        private ulong? __pbn__subscriber;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong subscribe_to_id
        {
            get => __pbn__subscribe_to_id.GetValueOrDefault();
            set => __pbn__subscribe_to_id = value;
        }
        public bool ShouldSerializesubscribe_to_id() => __pbn__subscribe_to_id != null;
        public void Resetsubscribe_to_id() => __pbn__subscribe_to_id = null;
        private ulong? __pbn__subscribe_to_id;

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong sync_version
        {
            get => __pbn__sync_version.GetValueOrDefault();
            set => __pbn__sync_version = value;
        }
        public bool ShouldSerializesync_version() => __pbn__sync_version != null;
        public void Resetsync_version() => __pbn__sync_version = null;
        private ulong? __pbn__sync_version;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<CMsgHaveVersions> have_versions { get; } = new global::System.Collections.Generic.List<CMsgHaveVersions>();

        [global::ProtoBuf.ProtoMember(5)]
        public uint subscribe_to_type
        {
            get => __pbn__subscribe_to_type.GetValueOrDefault();
            set => __pbn__subscribe_to_type = value;
        }
        public bool ShouldSerializesubscribe_to_type() => __pbn__subscribe_to_type != null;
        public void Resetsubscribe_to_type() => __pbn__subscribe_to_type = null;
        private uint? __pbn__subscribe_to_type;

        [global::ProtoBuf.ProtoContract()]
        public partial class CMsgHaveVersions : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint service_id
            {
                get => __pbn__service_id.GetValueOrDefault();
                set => __pbn__service_id = value;
            }
            public bool ShouldSerializeservice_id() => __pbn__service_id != null;
            public void Resetservice_id() => __pbn__service_id = null;
            private uint? __pbn__service_id;

            [global::ProtoBuf.ProtoMember(2)]
            public ulong version
            {
                get => __pbn__version.GetValueOrDefault();
                set => __pbn__version = value;
            }
            public bool ShouldSerializeversion() => __pbn__version != null;
            public void Resetversion() => __pbn__version = null;
            private ulong? __pbn__version;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCSOCacheUnsubscribe : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong subscriber
        {
            get => __pbn__subscriber.GetValueOrDefault();
            set => __pbn__subscriber = value;
        }
        public bool ShouldSerializesubscriber() => __pbn__subscriber != null;
        public void Resetsubscriber() => __pbn__subscriber = null;
        private ulong? __pbn__subscriber;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong unsubscribe_from_id
        {
            get => __pbn__unsubscribe_from_id.GetValueOrDefault();
            set => __pbn__unsubscribe_from_id = value;
        }
        public bool ShouldSerializeunsubscribe_from_id() => __pbn__unsubscribe_from_id != null;
        public void Resetunsubscribe_from_id() => __pbn__unsubscribe_from_id = null;
        private ulong? __pbn__unsubscribe_from_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint unsubscribe_from_type
        {
            get => __pbn__unsubscribe_from_type.GetValueOrDefault();
            set => __pbn__unsubscribe_from_type = value;
        }
        public bool ShouldSerializeunsubscribe_from_type() => __pbn__unsubscribe_from_type != null;
        public void Resetunsubscribe_from_type() => __pbn__unsubscribe_from_type = null;
        private uint? __pbn__unsubscribe_from_type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCClientPing : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCForwardAccountDetails : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

        [global::ProtoBuf.ProtoMember(2)]
        public CGCSystemMsg_GetAccountDetails_Response account_details { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        public uint age_seconds
        {
            get => __pbn__age_seconds.GetValueOrDefault();
            set => __pbn__age_seconds = value;
        }
        public bool ShouldSerializeage_seconds() => __pbn__age_seconds != null;
        public void Resetage_seconds() => __pbn__age_seconds = null;
        private uint? __pbn__age_seconds;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCLoadSessionSOCache : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgGCToGCForwardAccountDetails forward_account_details { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCLoadSessionSOCacheResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCUpdateSessionStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint user_sessions
        {
            get => __pbn__user_sessions.GetValueOrDefault();
            set => __pbn__user_sessions = value;
        }
        public bool ShouldSerializeuser_sessions() => __pbn__user_sessions != null;
        public void Resetuser_sessions() => __pbn__user_sessions = null;
        private uint? __pbn__user_sessions;

        [global::ProtoBuf.ProtoMember(2)]
        public uint server_sessions
        {
            get => __pbn__server_sessions.GetValueOrDefault();
            set => __pbn__server_sessions = value;
        }
        public bool ShouldSerializeserver_sessions() => __pbn__server_sessions != null;
        public void Resetserver_sessions() => __pbn__server_sessions = null;
        private uint? __pbn__server_sessions;

        [global::ProtoBuf.ProtoMember(3)]
        public bool in_logon_surge
        {
            get => __pbn__in_logon_surge.GetValueOrDefault();
            set => __pbn__in_logon_surge = value;
        }
        public bool ShouldSerializein_logon_surge() => __pbn__in_logon_surge != null;
        public void Resetin_logon_surge() => __pbn__in_logon_surge = null;
        private bool? __pbn__in_logon_surge;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToClientRequestDropped : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_PopulateItemDescriptions_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<ItemDescriptionsLanguageBlock> languages { get; } = new global::System.Collections.Generic.List<ItemDescriptionsLanguageBlock>();

        [global::ProtoBuf.ProtoContract()]
        public partial class SingleItemDescription : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint gameitemid
            {
                get => __pbn__gameitemid.GetValueOrDefault();
                set => __pbn__gameitemid = value;
            }
            public bool ShouldSerializegameitemid() => __pbn__gameitemid != null;
            public void Resetgameitemid() => __pbn__gameitemid = null;
            private uint? __pbn__gameitemid;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string item_description
            {
                get => __pbn__item_description ?? "";
                set => __pbn__item_description = value;
            }
            public bool ShouldSerializeitem_description() => __pbn__item_description != null;
            public void Resetitem_description() => __pbn__item_description = null;
            private string __pbn__item_description;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ItemDescriptionsLanguageBlock : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue("")]
            public string language
            {
                get => __pbn__language ?? "";
                set => __pbn__language = value;
            }
            public bool ShouldSerializelanguage() => __pbn__language != null;
            public void Resetlanguage() => __pbn__language = null;
            private string __pbn__language;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription> descriptions { get; } = new global::System.Collections.Generic.List<CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_GetContributors_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public uint gameitemid
        {
            get => __pbn__gameitemid.GetValueOrDefault();
            set => __pbn__gameitemid = value;
        }
        public bool ShouldSerializegameitemid() => __pbn__gameitemid != null;
        public void Resetgameitemid() => __pbn__gameitemid = null;
        private uint? __pbn__gameitemid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_GetContributors_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> contributors { get; } = new global::System.Collections.Generic.List<ulong>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_SetItemPaymentRules_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public uint gameitemid
        {
            get => __pbn__gameitemid.GetValueOrDefault();
            set => __pbn__gameitemid = value;
        }
        public bool ShouldSerializegameitemid() => __pbn__gameitemid != null;
        public void Resetgameitemid() => __pbn__gameitemid = null;
        private uint? __pbn__gameitemid;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<WorkshopItemPaymentRule> associated_workshop_files { get; } = new global::System.Collections.Generic.List<WorkshopItemPaymentRule>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<PartnerItemPaymentRule> partner_accounts { get; } = new global::System.Collections.Generic.List<PartnerItemPaymentRule>();

        [global::ProtoBuf.ProtoMember(5)]
        public bool validate_only
        {
            get => __pbn__validate_only.GetValueOrDefault();
            set => __pbn__validate_only = value;
        }
        public bool ShouldSerializevalidate_only() => __pbn__validate_only != null;
        public void Resetvalidate_only() => __pbn__validate_only = null;
        private bool? __pbn__validate_only;

        [global::ProtoBuf.ProtoMember(6)]
        public bool make_workshop_files_subscribable
        {
            get => __pbn__make_workshop_files_subscribable.GetValueOrDefault();
            set => __pbn__make_workshop_files_subscribable = value;
        }
        public bool ShouldSerializemake_workshop_files_subscribable() => __pbn__make_workshop_files_subscribable != null;
        public void Resetmake_workshop_files_subscribable() => __pbn__make_workshop_files_subscribable = null;
        private bool? __pbn__make_workshop_files_subscribable;

        [global::ProtoBuf.ProtoMember(7)]
        public WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class WorkshopItemPaymentRule : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public ulong workshop_file_id
            {
                get => __pbn__workshop_file_id.GetValueOrDefault();
                set => __pbn__workshop_file_id = value;
            }
            public bool ShouldSerializeworkshop_file_id() => __pbn__workshop_file_id != null;
            public void Resetworkshop_file_id() => __pbn__workshop_file_id = null;
            private ulong? __pbn__workshop_file_id;

            [global::ProtoBuf.ProtoMember(2)]
            public float revenue_percentage
            {
                get => __pbn__revenue_percentage.GetValueOrDefault();
                set => __pbn__revenue_percentage = value;
            }
            public bool ShouldSerializerevenue_percentage() => __pbn__revenue_percentage != null;
            public void Resetrevenue_percentage() => __pbn__revenue_percentage = null;
            private float? __pbn__revenue_percentage;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string rule_description
            {
                get => __pbn__rule_description ?? "";
                set => __pbn__rule_description = value;
            }
            public bool ShouldSerializerule_description() => __pbn__rule_description != null;
            public void Resetrule_description() => __pbn__rule_description = null;
            private string __pbn__rule_description;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(1u)]
            public uint rule_type
            {
                get => __pbn__rule_type ?? 1u;
                set => __pbn__rule_type = value;
            }
            public bool ShouldSerializerule_type() => __pbn__rule_type != null;
            public void Resetrule_type() => __pbn__rule_type = null;
            private uint? __pbn__rule_type;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class WorkshopDirectPaymentRule : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public ulong workshop_file_id
            {
                get => __pbn__workshop_file_id.GetValueOrDefault();
                set => __pbn__workshop_file_id = value;
            }
            public bool ShouldSerializeworkshop_file_id() => __pbn__workshop_file_id != null;
            public void Resetworkshop_file_id() => __pbn__workshop_file_id = null;
            private ulong? __pbn__workshop_file_id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string rule_description
            {
                get => __pbn__rule_description ?? "";
                set => __pbn__rule_description = value;
            }
            public bool ShouldSerializerule_description() => __pbn__rule_description != null;
            public void Resetrule_description() => __pbn__rule_description = null;
            private string __pbn__rule_description;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PartnerItemPaymentRule : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public float revenue_percentage
            {
                get => __pbn__revenue_percentage.GetValueOrDefault();
                set => __pbn__revenue_percentage = value;
            }
            public bool ShouldSerializerevenue_percentage() => __pbn__revenue_percentage != null;
            public void Resetrevenue_percentage() => __pbn__revenue_percentage = null;
            private float? __pbn__revenue_percentage;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string rule_description
            {
                get => __pbn__rule_description ?? "";
                set => __pbn__rule_description = value;
            }
            public bool ShouldSerializerule_description() => __pbn__rule_description != null;
            public void Resetrule_description() => __pbn__rule_description = null;
            private string __pbn__rule_description;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_SetItemPaymentRules_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<string> validation_errors { get; } = new global::System.Collections.Generic.List<string>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CCommunity_ClanAnnouncementInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong gid
        {
            get => __pbn__gid.GetValueOrDefault();
            set => __pbn__gid = value;
        }
        public bool ShouldSerializegid() => __pbn__gid != null;
        public void Resetgid() => __pbn__gid = null;
        private ulong? __pbn__gid;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong clanid
        {
            get => __pbn__clanid.GetValueOrDefault();
            set => __pbn__clanid = value;
        }
        public bool ShouldSerializeclanid() => __pbn__clanid != null;
        public void Resetclanid() => __pbn__clanid = null;
        private ulong? __pbn__clanid;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong posterid
        {
            get => __pbn__posterid.GetValueOrDefault();
            set => __pbn__posterid = value;
        }
        public bool ShouldSerializeposterid() => __pbn__posterid != null;
        public void Resetposterid() => __pbn__posterid = null;
        private ulong? __pbn__posterid;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string headline
        {
            get => __pbn__headline ?? "";
            set => __pbn__headline = value;
        }
        public bool ShouldSerializeheadline() => __pbn__headline != null;
        public void Resetheadline() => __pbn__headline = null;
        private string __pbn__headline;

        [global::ProtoBuf.ProtoMember(5)]
        public uint posttime
        {
            get => __pbn__posttime.GetValueOrDefault();
            set => __pbn__posttime = value;
        }
        public bool ShouldSerializeposttime() => __pbn__posttime != null;
        public void Resetposttime() => __pbn__posttime = null;
        private uint? __pbn__posttime;

        [global::ProtoBuf.ProtoMember(6)]
        public uint updatetime
        {
            get => __pbn__updatetime.GetValueOrDefault();
            set => __pbn__updatetime = value;
        }
        public bool ShouldSerializeupdatetime() => __pbn__updatetime != null;
        public void Resetupdatetime() => __pbn__updatetime = null;
        private uint? __pbn__updatetime;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string body
        {
            get => __pbn__body ?? "";
            set => __pbn__body = value;
        }
        public bool ShouldSerializebody() => __pbn__body != null;
        public void Resetbody() => __pbn__body = null;
        private string __pbn__body;

        [global::ProtoBuf.ProtoMember(8)]
        public int commentcount
        {
            get => __pbn__commentcount.GetValueOrDefault();
            set => __pbn__commentcount = value;
        }
        public bool ShouldSerializecommentcount() => __pbn__commentcount != null;
        public void Resetcommentcount() => __pbn__commentcount = null;
        private int? __pbn__commentcount;

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<string> tags { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoMember(10)]
        public int language
        {
            get => __pbn__language.GetValueOrDefault();
            set => __pbn__language = value;
        }
        public bool ShouldSerializelanguage() => __pbn__language != null;
        public void Resetlanguage() => __pbn__language = null;
        private int? __pbn__language;

        [global::ProtoBuf.ProtoMember(11)]
        public bool hidden
        {
            get => __pbn__hidden.GetValueOrDefault();
            set => __pbn__hidden = value;
        }
        public bool ShouldSerializehidden() => __pbn__hidden != null;
        public void Resethidden() => __pbn__hidden = null;
        private bool? __pbn__hidden;

        [global::ProtoBuf.ProtoMember(12, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong forum_topic_id
        {
            get => __pbn__forum_topic_id.GetValueOrDefault();
            set => __pbn__forum_topic_id = value;
        }
        public bool ShouldSerializeforum_topic_id() => __pbn__forum_topic_id != null;
        public void Resetforum_topic_id() => __pbn__forum_topic_id = null;
        private ulong? __pbn__forum_topic_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CCommunity_GetClanAnnouncements_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

        [global::ProtoBuf.ProtoMember(2)]
        public uint offset
        {
            get => __pbn__offset.GetValueOrDefault();
            set => __pbn__offset = value;
        }
        public bool ShouldSerializeoffset() => __pbn__offset != null;
        public void Resetoffset() => __pbn__offset = null;
        private uint? __pbn__offset;

        [global::ProtoBuf.ProtoMember(3)]
        public uint count
        {
            get => __pbn__count.GetValueOrDefault();
            set => __pbn__count = value;
        }
        public bool ShouldSerializecount() => __pbn__count != null;
        public void Resetcount() => __pbn__count = null;
        private uint? __pbn__count;

        [global::ProtoBuf.ProtoMember(4)]
        public uint maxchars
        {
            get => __pbn__maxchars.GetValueOrDefault();
            set => __pbn__maxchars = value;
        }
        public bool ShouldSerializemaxchars() => __pbn__maxchars != null;
        public void Resetmaxchars() => __pbn__maxchars = null;
        private uint? __pbn__maxchars;

        [global::ProtoBuf.ProtoMember(5)]
        public bool strip_html
        {
            get => __pbn__strip_html.GetValueOrDefault();
            set => __pbn__strip_html = value;
        }
        public bool ShouldSerializestrip_html() => __pbn__strip_html != null;
        public void Resetstrip_html() => __pbn__strip_html = null;
        private bool? __pbn__strip_html;

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<string> required_tags { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoMember(7)]
        public bool require_no_tags
        {
            get => __pbn__require_no_tags.GetValueOrDefault();
            set => __pbn__require_no_tags = value;
        }
        public bool ShouldSerializerequire_no_tags() => __pbn__require_no_tags != null;
        public void Resetrequire_no_tags() => __pbn__require_no_tags = null;
        private bool? __pbn__require_no_tags;

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<uint> language_preference { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(9)]
        public bool hidden_only
        {
            get => __pbn__hidden_only.GetValueOrDefault();
            set => __pbn__hidden_only = value;
        }
        public bool ShouldSerializehidden_only() => __pbn__hidden_only != null;
        public void Resethidden_only() => __pbn__hidden_only = null;
        private bool? __pbn__hidden_only;

        [global::ProtoBuf.ProtoMember(10)]
        public bool only_gid
        {
            get => __pbn__only_gid.GetValueOrDefault();
            set => __pbn__only_gid = value;
        }
        public bool ShouldSerializeonly_gid() => __pbn__only_gid != null;
        public void Resetonly_gid() => __pbn__only_gid = null;
        private bool? __pbn__only_gid;

        [global::ProtoBuf.ProtoMember(11)]
        public uint rtime_oldest_date
        {
            get => __pbn__rtime_oldest_date.GetValueOrDefault();
            set => __pbn__rtime_oldest_date = value;
        }
        public bool ShouldSerializertime_oldest_date() => __pbn__rtime_oldest_date != null;
        public void Resetrtime_oldest_date() => __pbn__rtime_oldest_date = null;
        private uint? __pbn__rtime_oldest_date;

        [global::ProtoBuf.ProtoMember(12)]
        public bool include_hidden
        {
            get => __pbn__include_hidden.GetValueOrDefault();
            set => __pbn__include_hidden = value;
        }
        public bool ShouldSerializeinclude_hidden() => __pbn__include_hidden != null;
        public void Resetinclude_hidden() => __pbn__include_hidden = null;
        private bool? __pbn__include_hidden;

        [global::ProtoBuf.ProtoMember(13)]
        public bool include_partner_events
        {
            get => __pbn__include_partner_events.GetValueOrDefault();
            set => __pbn__include_partner_events = value;
        }
        public bool ShouldSerializeinclude_partner_events() => __pbn__include_partner_events != null;
        public void Resetinclude_partner_events() => __pbn__include_partner_events = null;
        private bool? __pbn__include_partner_events;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CCommunity_GetClanAnnouncements_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint maxchars
        {
            get => __pbn__maxchars.GetValueOrDefault();
            set => __pbn__maxchars = value;
        }
        public bool ShouldSerializemaxchars() => __pbn__maxchars != null;
        public void Resetmaxchars() => __pbn__maxchars = null;
        private uint? __pbn__maxchars;

        [global::ProtoBuf.ProtoMember(2)]
        public bool strip_html
        {
            get => __pbn__strip_html.GetValueOrDefault();
            set => __pbn__strip_html = value;
        }
        public bool ShouldSerializestrip_html() => __pbn__strip_html != null;
        public void Resetstrip_html() => __pbn__strip_html = null;
        private bool? __pbn__strip_html;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<CCommunity_ClanAnnouncementInfo> announcements { get; } = new global::System.Collections.Generic.List<CCommunity_ClanAnnouncementInfo>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CBroadcast_PostGameDataFrame_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong broadcast_id
        {
            get => __pbn__broadcast_id.GetValueOrDefault();
            set => __pbn__broadcast_id = value;
        }
        public bool ShouldSerializebroadcast_id() => __pbn__broadcast_id != null;
        public void Resetbroadcast_id() => __pbn__broadcast_id = null;
        private ulong? __pbn__broadcast_id;

        [global::ProtoBuf.ProtoMember(4)]
        public byte[] frame_data
        {
            get => __pbn__frame_data;
            set => __pbn__frame_data = value;
        }
        public bool ShouldSerializeframe_data() => __pbn__frame_data != null;
        public void Resetframe_data() => __pbn__frame_data = null;
        private byte[] __pbn__frame_data;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSerializedSOCache : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint file_version
        {
            get => __pbn__file_version.GetValueOrDefault();
            set => __pbn__file_version = value;
        }
        public bool ShouldSerializefile_version() => __pbn__file_version != null;
        public void Resetfile_version() => __pbn__file_version = null;
        private uint? __pbn__file_version;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Cache> caches { get; } = new global::System.Collections.Generic.List<Cache>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint gc_socache_file_version
        {
            get => __pbn__gc_socache_file_version.GetValueOrDefault();
            set => __pbn__gc_socache_file_version = value;
        }
        public bool ShouldSerializegc_socache_file_version() => __pbn__gc_socache_file_version != null;
        public void Resetgc_socache_file_version() => __pbn__gc_socache_file_version = null;
        private uint? __pbn__gc_socache_file_version;

        [global::ProtoBuf.ProtoContract()]
        public partial class TypeCache : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint type
            {
                get => __pbn__type.GetValueOrDefault();
                set => __pbn__type = value;
            }
            public bool ShouldSerializetype() => __pbn__type != null;
            public void Resettype() => __pbn__type = null;
            private uint? __pbn__type;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<byte[]> objects { get; } = new global::System.Collections.Generic.List<byte[]>();

            [global::ProtoBuf.ProtoMember(3)]
            public uint service_id
            {
                get => __pbn__service_id.GetValueOrDefault();
                set => __pbn__service_id = value;
            }
            public bool ShouldSerializeservice_id() => __pbn__service_id != null;
            public void Resetservice_id() => __pbn__service_id = null;
            private uint? __pbn__service_id;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Cache : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint type
            {
                get => __pbn__type.GetValueOrDefault();
                set => __pbn__type = value;
            }
            public bool ShouldSerializetype() => __pbn__type != null;
            public void Resettype() => __pbn__type = null;
            private uint? __pbn__type;

            [global::ProtoBuf.ProtoMember(2)]
            public ulong id
            {
                get => __pbn__id.GetValueOrDefault();
                set => __pbn__id = value;
            }
            public bool ShouldSerializeid() => __pbn__id != null;
            public void Resetid() => __pbn__id = null;
            private ulong? __pbn__id;

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<Version> versions { get; } = new global::System.Collections.Generic.List<Version>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMsgSerializedSOCache.TypeCache> type_caches { get; } = new global::System.Collections.Generic.List<CMsgSerializedSOCache.TypeCache>();

            [global::ProtoBuf.ProtoContract()]
            public partial class Version : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1)]
                public uint service
                {
                    get => __pbn__service.GetValueOrDefault();
                    set => __pbn__service = value;
                }
                public bool ShouldSerializeservice() => __pbn__service != null;
                public void Resetservice() => __pbn__service = null;
                private uint? __pbn__service;

                [global::ProtoBuf.ProtoMember(2)]
                public ulong version
                {
                    get => __pbn__version.GetValueOrDefault();
                    set => __pbn__version = value;
                }
                public bool ShouldSerializeversion() => __pbn__version != null;
                public void Resetversion() => __pbn__version = null;
                private ulong? __pbn__version;

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToClientPollConvarRequest : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string convar_name
        {
            get => __pbn__convar_name ?? "";
            set => __pbn__convar_name = value;
        }
        public bool ShouldSerializeconvar_name() => __pbn__convar_name != null;
        public void Resetconvar_name() => __pbn__convar_name = null;
        private string __pbn__convar_name;

        [global::ProtoBuf.ProtoMember(2)]
        public uint poll_id
        {
            get => __pbn__poll_id.GetValueOrDefault();
            set => __pbn__poll_id = value;
        }
        public bool ShouldSerializepoll_id() => __pbn__poll_id != null;
        public void Resetpoll_id() => __pbn__poll_id = null;
        private uint? __pbn__poll_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToClientPollConvarResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint poll_id
        {
            get => __pbn__poll_id.GetValueOrDefault();
            set => __pbn__poll_id = value;
        }
        public bool ShouldSerializepoll_id() => __pbn__poll_id != null;
        public void Resetpoll_id() => __pbn__poll_id = null;
        private uint? __pbn__poll_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string convar_value
        {
            get => __pbn__convar_value ?? "";
            set => __pbn__convar_value = value;
        }
        public bool ShouldSerializeconvar_value() => __pbn__convar_value != null;
        public void Resetconvar_value() => __pbn__convar_value = null;
        private string __pbn__convar_value;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCMsgCompressedMsgToClient : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint msg_id
        {
            get => __pbn__msg_id.GetValueOrDefault();
            set => __pbn__msg_id = value;
        }
        public bool ShouldSerializemsg_id() => __pbn__msg_id != null;
        public void Resetmsg_id() => __pbn__msg_id = null;
        private uint? __pbn__msg_id;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] compressed_msg
        {
            get => __pbn__compressed_msg;
            set => __pbn__compressed_msg = value;
        }
        public bool ShouldSerializecompressed_msg() => __pbn__compressed_msg != null;
        public void Resetcompressed_msg() => __pbn__compressed_msg = null;
        private byte[] __pbn__compressed_msg;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCMasterBroadcastMessage : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint users_per_second
        {
            get => __pbn__users_per_second.GetValueOrDefault();
            set => __pbn__users_per_second = value;
        }
        public bool ShouldSerializeusers_per_second() => __pbn__users_per_second != null;
        public void Resetusers_per_second() => __pbn__users_per_second = null;
        private uint? __pbn__users_per_second;

        [global::ProtoBuf.ProtoMember(2)]
        public bool send_to_users
        {
            get => __pbn__send_to_users.GetValueOrDefault();
            set => __pbn__send_to_users = value;
        }
        public bool ShouldSerializesend_to_users() => __pbn__send_to_users != null;
        public void Resetsend_to_users() => __pbn__send_to_users = null;
        private bool? __pbn__send_to_users;

        [global::ProtoBuf.ProtoMember(3)]
        public bool send_to_servers
        {
            get => __pbn__send_to_servers.GetValueOrDefault();
            set => __pbn__send_to_servers = value;
        }
        public bool ShouldSerializesend_to_servers() => __pbn__send_to_servers != null;
        public void Resetsend_to_servers() => __pbn__send_to_servers = null;
        private bool? __pbn__send_to_servers;

        [global::ProtoBuf.ProtoMember(4)]
        public uint msg_id
        {
            get => __pbn__msg_id.GetValueOrDefault();
            set => __pbn__msg_id = value;
        }
        public bool ShouldSerializemsg_id() => __pbn__msg_id != null;
        public void Resetmsg_id() => __pbn__msg_id = null;
        private uint? __pbn__msg_id;

        [global::ProtoBuf.ProtoMember(5)]
        public byte[] msg_data
        {
            get => __pbn__msg_data;
            set => __pbn__msg_data = value;
        }
        public bool ShouldSerializemsg_data() => __pbn__msg_data != null;
        public void Resetmsg_data() => __pbn__msg_data = null;
        private byte[] __pbn__msg_data;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCMasterSubscribeToCache : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint soid_type
        {
            get => __pbn__soid_type.GetValueOrDefault();
            set => __pbn__soid_type = value;
        }
        public bool ShouldSerializesoid_type() => __pbn__soid_type != null;
        public void Resetsoid_type() => __pbn__soid_type = null;
        private uint? __pbn__soid_type;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong soid_id
        {
            get => __pbn__soid_id.GetValueOrDefault();
            set => __pbn__soid_id = value;
        }
        public bool ShouldSerializesoid_id() => __pbn__soid_id != null;
        public void Resetsoid_id() => __pbn__soid_id = null;
        private ulong? __pbn__soid_id;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> steam_ids { get; } = new global::System.Collections.Generic.List<ulong>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCMasterSubscribeToCacheResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCMasterSubscribeToCacheAsync : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgGCToGCMasterSubscribeToCache subscribe_msg { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCMasterUnsubscribeFromCache : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint soid_type
        {
            get => __pbn__soid_type.GetValueOrDefault();
            set => __pbn__soid_type = value;
        }
        public bool ShouldSerializesoid_type() => __pbn__soid_type != null;
        public void Resetsoid_type() => __pbn__soid_type = null;
        private uint? __pbn__soid_type;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong soid_id
        {
            get => __pbn__soid_id.GetValueOrDefault();
            set => __pbn__soid_id = value;
        }
        public bool ShouldSerializesoid_id() => __pbn__soid_id != null;
        public void Resetsoid_id() => __pbn__soid_id = null;
        private ulong? __pbn__soid_id;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> steam_ids { get; } = new global::System.Collections.Generic.List<ulong>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCMasterDestroyCache : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint soid_type
        {
            get => __pbn__soid_type.GetValueOrDefault();
            set => __pbn__soid_type = value;
        }
        public bool ShouldSerializesoid_type() => __pbn__soid_type != null;
        public void Resetsoid_type() => __pbn__soid_type = null;
        private uint? __pbn__soid_type;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong soid_id
        {
            get => __pbn__soid_id.GetValueOrDefault();
            set => __pbn__soid_id = value;
        }
        public bool ShouldSerializesoid_id() => __pbn__soid_id != null;
        public void Resetsoid_id() => __pbn__soid_id = null;
        private ulong? __pbn__soid_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESourceEngine
    {
        k_ESE_Source1 = 0,
        k_ESE_Source2 = 1,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum PartnerAccountType
    {
        PARTNER_NONE = 0,
        PARTNER_PERFECT_WORLD = 1,
        PARTNER_INVALID = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum GCConnectionStatus
    {
        GCConnectionStatus_HAVE_SESSION = 0,
        GCConnectionStatus_GC_GOING_DOWN = 1,
        GCConnectionStatus_NO_SESSION = 2,
        GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3,
        GCConnectionStatus_NO_STEAM = 4,
        GCConnectionStatus_SUSPENDED = 5,
        GCConnectionStatus_STEAM_GOING_DOWN = 6,
    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
