text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  #include "extern/beatsaber-hook/shared/utils/byref.hpp"
  // Including type: System.ValueType
  #include "System/ValueType.hpp"
  // Including type: IEquatableByReference`1
  #include "GlobalNamespace/IEquatableByReference_1.hpp"
  // Including type: System.IEquatable`1
  #include "System/IEquatable_1.hpp"
  // Including type: LiteNetLib.Utils.INetImmutableSerializable`1
  #include "LiteNetLib/Utils/INetImmutableSerializable_1.hpp"
  // Including type: BeatmapDifficultyMask
  #include "GlobalNamespace/BeatmapDifficultyMask.hpp"
  // Including type: GameplayModifierMask
  #include "GlobalNamespace/GameplayModifierMask.hpp"
  // Including type: SongPackMask
  #include "GlobalNamespace/SongPackMask.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-properties.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-fields.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: LiteNetLib::Utils
  namespace LiteNetLib::Utils {
    // Forward declaring type: NetDataWriter
    class NetDataWriter;
    // Forward declaring type: NetDataReader
    class NetDataReader;
  }
  // Forward declaring namespace: GlobalNamespace
  namespace GlobalNamespace {
    // Forward declaring type: BeatmapLevelSelectionMask
    struct BeatmapLevelSelectionMask;
  }
  // Completed forward declares
  // Type namespace: 
  namespace GlobalNamespace {
    // Size: 0x28
    #pragma pack(push, 1)
    // WARNING Layout: Sequential may not be correctly taken into account!
    // Autogenerated type: UserServerFilter
    // [TokenAttribute] Offset: FFFFFFFF
    struct UserServerFilter/*, public System::ValueType, public GlobalNamespace::IEquatableByReference_1<GlobalNamespace::UserServerFilter>, public System::IEquatable_1<GlobalNamespace::UserServerFilter>, public LiteNetLib::Utils::INetImmutableSerializable_1<GlobalNamespace::UserServerFilter>*/ {
      public:
      // public readonly System.Boolean includePasswordProtected
      // Size: 0x1
      // Offset: 0x0
      bool includePasswordProtected;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // public readonly System.Boolean includeEmpty
      // Size: 0x1
      // Offset: 0x1
      bool includeEmpty;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // public readonly System.Boolean includeFull
      // Size: 0x1
      // Offset: 0x2
      bool includeFull;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // public readonly System.Boolean filterNames
      // Size: 0x1
      // Offset: 0x3
      bool filterNames;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // Padding between fields: filterNames and: nameFilter
      char __padding3[0x4] = {};
      // public readonly System.String nameFilter
      // Size: 0x8
      // Offset: 0x8
      ::Il2CppString* nameFilter;
      // Field size check
      static_assert(sizeof(::Il2CppString*) == 0x8);
      // public readonly System.Boolean filterDifficulties
      // Size: 0x1
      // Offset: 0x10
      bool filterDifficulties;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // public readonly BeatmapDifficultyMask difficultyFilter
      // Size: 0x1
      // Offset: 0x11
      GlobalNamespace::BeatmapDifficultyMask difficultyFilter;
      // Field size check
      static_assert(sizeof(GlobalNamespace::BeatmapDifficultyMask) == 0x1);
      // public readonly System.Boolean filterModifiers
      // Size: 0x1
      // Offset: 0x12
      bool filterModifiers;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // Padding between fields: filterModifiers and: modifierFilter
      char __padding7[0x1] = {};
      // public readonly GameplayModifierMask modifierFilter
      // Size: 0x2
      // Offset: 0x14
      GlobalNamespace::GameplayModifierMask modifierFilter;
      // Field size check
      static_assert(sizeof(GlobalNamespace::GameplayModifierMask) == 0x2);
      // public readonly System.Boolean filterSongPacks
      // Size: 0x1
      // Offset: 0x16
      bool filterSongPacks;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // Padding between fields: filterSongPacks and: songPackFilter
      char __padding9[0x1] = {};
      // public readonly SongPackMask songPackFilter
      // Size: 0x10
      // Offset: 0x18
      GlobalNamespace::SongPackMask songPackFilter;
      // Field size check
      static_assert(sizeof(GlobalNamespace::SongPackMask) == 0x10);
      // Creating value type constructor for type: UserServerFilter
      constexpr UserServerFilter(bool includePasswordProtected_ = {}, bool includeEmpty_ = {}, bool includeFull_ = {}, bool filterNames_ = {}, ::Il2CppString* nameFilter_ = {}, bool filterDifficulties_ = {}, GlobalNamespace::BeatmapDifficultyMask difficultyFilter_ = {}, bool filterModifiers_ = {}, GlobalNamespace::GameplayModifierMask modifierFilter_ = {}, bool filterSongPacks_ = {}, GlobalNamespace::SongPackMask songPackFilter_ = {}) noexcept : includePasswordProtected{includePasswordProtected_}, includeEmpty{includeEmpty_}, includeFull{includeFull_}, filterNames{filterNames_}, nameFilter{nameFilter_}, filterDifficulties{filterDifficulties_}, difficultyFilter{difficultyFilter_}, filterModifiers{filterModifiers_}, modifierFilter{modifierFilter_}, filterSongPacks{filterSongPacks_}, songPackFilter{songPackFilter_} {}
      // Creating interface conversion operator: operator System::ValueType
      operator System::ValueType() noexcept {
        return *reinterpret_cast<System::ValueType*>(this);
      }
      // Creating interface conversion operator: operator GlobalNamespace::IEquatableByReference_1<GlobalNamespace::UserServerFilter>
      operator GlobalNamespace::IEquatableByReference_1<GlobalNamespace::UserServerFilter>() noexcept {
        return *reinterpret_cast<GlobalNamespace::IEquatableByReference_1<GlobalNamespace::UserServerFilter>*>(this);
      }
      // Creating interface conversion operator: operator System::IEquatable_1<GlobalNamespace::UserServerFilter>
      operator System::IEquatable_1<GlobalNamespace::UserServerFilter>() noexcept {
        return *reinterpret_cast<System::IEquatable_1<GlobalNamespace::UserServerFilter>*>(this);
      }
      // Creating interface conversion operator: operator LiteNetLib::Utils::INetImmutableSerializable_1<GlobalNamespace::UserServerFilter>
      operator LiteNetLib::Utils::INetImmutableSerializable_1<GlobalNamespace::UserServerFilter>() noexcept {
        return *reinterpret_cast<LiteNetLib::Utils::INetImmutableSerializable_1<GlobalNamespace::UserServerFilter>*>(this);
      }
      // Get instance field: public readonly System.Boolean includePasswordProtected
      bool _get_includePasswordProtected();
      // Set instance field: public readonly System.Boolean includePasswordProtected
      void _set_includePasswordProtected(bool value);
      // Get instance field: public readonly System.Boolean includeEmpty
      bool _get_includeEmpty();
      // Set instance field: public readonly System.Boolean includeEmpty
      void _set_includeEmpty(bool value);
      // Get instance field: public readonly System.Boolean includeFull
      bool _get_includeFull();
      // Set instance field: public readonly System.Boolean includeFull
      void _set_includeFull(bool value);
      // Get instance field: public readonly System.Boolean filterNames
      bool _get_filterNames();
      // Set instance field: public readonly System.Boolean filterNames
      void _set_filterNames(bool value);
      // Get instance field: public readonly System.String nameFilter
      ::Il2CppString* _get_nameFilter();
      // Set instance field: public readonly System.String nameFilter
      void _set_nameFilter(::Il2CppString* value);
      // Get instance field: public readonly System.Boolean filterDifficulties
      bool _get_filterDifficulties();
      // Set instance field: public readonly System.Boolean filterDifficulties
      void _set_filterDifficulties(bool value);
      // Get instance field: public readonly BeatmapDifficultyMask difficultyFilter
      GlobalNamespace::BeatmapDifficultyMask _get_difficultyFilter();
      // Set instance field: public readonly BeatmapDifficultyMask difficultyFilter
      void _set_difficultyFilter(GlobalNamespace::BeatmapDifficultyMask value);
      // Get instance field: public readonly System.Boolean filterModifiers
      bool _get_filterModifiers();
      // Set instance field: public readonly System.Boolean filterModifiers
      void _set_filterModifiers(bool value);
      // Get instance field: public readonly GameplayModifierMask modifierFilter
      GlobalNamespace::GameplayModifierMask _get_modifierFilter();
      // Set instance field: public readonly GameplayModifierMask modifierFilter
      void _set_modifierFilter(GlobalNamespace::GameplayModifierMask value);
      // Get instance field: public readonly System.Boolean filterSongPacks
      bool _get_filterSongPacks();
      // Set instance field: public readonly System.Boolean filterSongPacks
      void _set_filterSongPacks(bool value);
      // Get instance field: public readonly SongPackMask songPackFilter
      GlobalNamespace::SongPackMask _get_songPackFilter();
      // Set instance field: public readonly SongPackMask songPackFilter
      void _set_songPackFilter(GlobalNamespace::SongPackMask value);
      // static public UserServerFilter get_defaultFilter()
      // Offset: 0x23D4648
      static GlobalNamespace::UserServerFilter get_defaultFilter();
      // public System.Void .ctor(System.Boolean includePasswordProtected, System.Boolean includeEmpty, System.Boolean includeFull, System.Boolean filterNames, System.String nameFilter, System.Boolean filterDifficulties, BeatmapDifficultyMask difficultyFilter, System.Boolean filterModifiers, GameplayModifierMask modifierFilter, System.Boolean filterSongPacks, SongPackMask songPackFilter)
      // Offset: 0xF8C98C
      // template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      // ABORTED: conflicts with another method.  UserServerFilter(bool includePasswordProtected, bool includeEmpty, bool includeFull, bool filterNames, ::Il2CppString* nameFilter, bool filterDifficulties, GlobalNamespace::BeatmapDifficultyMask difficultyFilter, bool filterModifiers, GlobalNamespace::GameplayModifierMask modifierFilter, bool filterSongPacks, GlobalNamespace::SongPackMask songPackFilter)
      // public System.Boolean Equals(in UserServerFilter other)
      // Offset: 0xF8C9D0
      bool Equals(ByRef<GlobalNamespace::UserServerFilter> other);
      // public System.Boolean Equals(UserServerFilter other)
      // Offset: 0xF8C9D8
      bool Equals_(GlobalNamespace::UserServerFilter other);
      // public System.Void Serialize(LiteNetLib.Utils.NetDataWriter writer)
      // Offset: 0xF8CA20
      void Serialize(LiteNetLib::Utils::NetDataWriter* writer);
      // static public UserServerFilter Deserialize(LiteNetLib.Utils.NetDataReader reader)
      // Offset: 0x23D49DC
      static GlobalNamespace::UserServerFilter Deserialize(LiteNetLib::Utils::NetDataReader* reader);
      // public UserServerFilter CreateFromSerializedData(LiteNetLib.Utils.NetDataReader reader)
      // Offset: 0xF8CA28
      GlobalNamespace::UserServerFilter CreateFromSerializedData(LiteNetLib::Utils::NetDataReader* reader);
      // public System.Boolean IncludesServerName(System.String lowerInvariantName)
      // Offset: 0xF8CA30
      bool IncludesServerName(::Il2CppString* lowerInvariantName);
      // public System.Boolean IncludesPassword(System.String password)
      // Offset: 0xF8CA60
      bool IncludesPassword(::Il2CppString* password);
      // public System.Boolean IncludesPlayerCount(System.Int32 currentPlayerCount, System.Int32 maxPlayerCount)
      // Offset: 0xF8CA7C
      bool IncludesPlayerCount(int currentPlayerCount, int maxPlayerCount);
      // public System.Boolean IncludesSelectionMask(BeatmapLevelSelectionMask configuration)
      // Offset: 0xF8CAB0
      bool IncludesSelectionMask(GlobalNamespace::BeatmapLevelSelectionMask configuration);
      // public UserServerFilter WithIncludePasswordProtected(System.Boolean includePasswordProtected)
      // Offset: 0xF8CAE8
      GlobalNamespace::UserServerFilter WithIncludePasswordProtected(bool includePasswordProtected);
      // public UserServerFilter WithIncludeEmpty(System.Boolean includeEmpty)
      // Offset: 0xF8CAF4
      GlobalNamespace::UserServerFilter WithIncludeEmpty(bool includeEmpty);
      // public UserServerFilter WithIncludeFull(System.Boolean includeFull)
      // Offset: 0xF8CB00
      GlobalNamespace::UserServerFilter WithIncludeFull(bool includeFull);
      // public UserServerFilter WithFilterNames(System.Boolean filterNames, System.String nameFilter)
      // Offset: 0xF8CB0C
      GlobalNamespace::UserServerFilter WithFilterNames(bool filterNames, ::Il2CppString* nameFilter);
      // public UserServerFilter WithFilterDifficulties(System.Boolean filterDifficulties, BeatmapDifficultyMask difficultyFilter)
      // Offset: 0xF8CB18
      GlobalNamespace::UserServerFilter WithFilterDifficulties(bool filterDifficulties, GlobalNamespace::BeatmapDifficultyMask difficultyFilter);
      // public UserServerFilter WithFilterModifiers(System.Boolean filterModifiers, GameplayModifierMask modifierFilter)
      // Offset: 0xF8CB24
      GlobalNamespace::UserServerFilter WithFilterModifiers(bool filterModifiers, GlobalNamespace::GameplayModifierMask modifierFilter);
      // public UserServerFilter WithFilterSongPacks(System.Boolean filterSongPacks, SongPackMask songPackFilter)
      // Offset: 0xF8CB30
      GlobalNamespace::UserServerFilter WithFilterSongPacks(bool filterSongPacks, GlobalNamespace::SongPackMask songPackFilter);
      // private System.Boolean IEquatableByReference<UserServerFilter>.Equals(in UserServerFilter other)
      // Offset: 0xF8CB3C
      bool IEquatableByReference$UserServerFilter$_Equals(ByRef<GlobalNamespace::UserServerFilter> other);
      // public override System.Boolean Equals(System.Object obj)
      // Offset: 0xF8CA10
      // Implemented from: System.ValueType
      // Base method: System.Boolean ValueType::Equals(System.Object obj)
      bool Equals(::Il2CppObject* obj);
      // public override System.Int32 GetHashCode()
      // Offset: 0xF8CA18
      // Implemented from: System.ValueType
      // Base method: System.Int32 ValueType::GetHashCode()
      int GetHashCode();
    }; // UserServerFilter
    #pragma pack(pop)
    static check_size<sizeof(UserServerFilter), 24 + sizeof(GlobalNamespace::SongPackMask)> __GlobalNamespace_UserServerFilterSizeCheck;
    static_assert(sizeof(UserServerFilter) == 0x28);
  }
  DEFINE_IL2CPP_ARG_TYPE(GlobalNamespace::UserServerFilter, "", "UserServerFilter");
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::get_defaultFilter
  // Il2CppName: get_defaultFilter
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (*)()>(&GlobalNamespace::UserServerFilter::get_defaultFilter)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "get_defaultFilter", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::UserServerFilter
  // Il2CppName: .ctor
  // Cannot get method pointer of value based method overload from template for constructor!
  // Try using FindMethod instead!
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::Equals
  // Il2CppName: Equals
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::UserServerFilter::*)(ByRef<GlobalNamespace::UserServerFilter>)>(&GlobalNamespace::UserServerFilter::Equals)> {
    static const MethodInfo* get() {
      static auto* other = &::il2cpp_utils::GetClassFromName("", "UserServerFilter")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "Equals", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{other});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::Equals_
  // Il2CppName: Equals
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::UserServerFilter::*)(GlobalNamespace::UserServerFilter)>(&GlobalNamespace::UserServerFilter::Equals_)> {
    static const MethodInfo* get() {
      static auto* other = &::il2cpp_utils::GetClassFromName("", "UserServerFilter")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "Equals", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{other});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::Serialize
  // Il2CppName: Serialize
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::UserServerFilter::*)(LiteNetLib::Utils::NetDataWriter*)>(&GlobalNamespace::UserServerFilter::Serialize)> {
    static const MethodInfo* get() {
      static auto* writer = &::il2cpp_utils::GetClassFromName("LiteNetLib.Utils", "NetDataWriter")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "Serialize", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{writer});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::Deserialize
  // Il2CppName: Deserialize
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (*)(LiteNetLib::Utils::NetDataReader*)>(&GlobalNamespace::UserServerFilter::Deserialize)> {
    static const MethodInfo* get() {
      static auto* reader = &::il2cpp_utils::GetClassFromName("LiteNetLib.Utils", "NetDataReader")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "Deserialize", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{reader});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::CreateFromSerializedData
  // Il2CppName: CreateFromSerializedData
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (GlobalNamespace::UserServerFilter::*)(LiteNetLib::Utils::NetDataReader*)>(&GlobalNamespace::UserServerFilter::CreateFromSerializedData)> {
    static const MethodInfo* get() {
      static auto* reader = &::il2cpp_utils::GetClassFromName("LiteNetLib.Utils", "NetDataReader")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "CreateFromSerializedData", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{reader});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::IncludesServerName
  // Il2CppName: IncludesServerName
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::UserServerFilter::*)(::Il2CppString*)>(&GlobalNamespace::UserServerFilter::IncludesServerName)> {
    static const MethodInfo* get() {
      static auto* lowerInvariantName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "IncludesServerName", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{lowerInvariantName});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::IncludesPassword
  // Il2CppName: IncludesPassword
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::UserServerFilter::*)(::Il2CppString*)>(&GlobalNamespace::UserServerFilter::IncludesPassword)> {
    static const MethodInfo* get() {
      static auto* password = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "IncludesPassword", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{password});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::IncludesPlayerCount
  // Il2CppName: IncludesPlayerCount
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::UserServerFilter::*)(int, int)>(&GlobalNamespace::UserServerFilter::IncludesPlayerCount)> {
    static const MethodInfo* get() {
      static auto* currentPlayerCount = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* maxPlayerCount = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "IncludesPlayerCount", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{currentPlayerCount, maxPlayerCount});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::IncludesSelectionMask
  // Il2CppName: IncludesSelectionMask
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::UserServerFilter::*)(GlobalNamespace::BeatmapLevelSelectionMask)>(&GlobalNamespace::UserServerFilter::IncludesSelectionMask)> {
    static const MethodInfo* get() {
      static auto* configuration = &::il2cpp_utils::GetClassFromName("", "BeatmapLevelSelectionMask")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "IncludesSelectionMask", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{configuration});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::WithIncludePasswordProtected
  // Il2CppName: WithIncludePasswordProtected
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (GlobalNamespace::UserServerFilter::*)(bool)>(&GlobalNamespace::UserServerFilter::WithIncludePasswordProtected)> {
    static const MethodInfo* get() {
      static auto* includePasswordProtected = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "WithIncludePasswordProtected", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{includePasswordProtected});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::WithIncludeEmpty
  // Il2CppName: WithIncludeEmpty
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (GlobalNamespace::UserServerFilter::*)(bool)>(&GlobalNamespace::UserServerFilter::WithIncludeEmpty)> {
    static const MethodInfo* get() {
      static auto* includeEmpty = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "WithIncludeEmpty", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{includeEmpty});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::WithIncludeFull
  // Il2CppName: WithIncludeFull
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (GlobalNamespace::UserServerFilter::*)(bool)>(&GlobalNamespace::UserServerFilter::WithIncludeFull)> {
    static const MethodInfo* get() {
      static auto* includeFull = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "WithIncludeFull", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{includeFull});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::WithFilterNames
  // Il2CppName: WithFilterNames
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (GlobalNamespace::UserServerFilter::*)(bool, ::Il2CppString*)>(&GlobalNamespace::UserServerFilter::WithFilterNames)> {
    static const MethodInfo* get() {
      static auto* filterNames = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* nameFilter = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "WithFilterNames", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{filterNames, nameFilter});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::WithFilterDifficulties
  // Il2CppName: WithFilterDifficulties
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (GlobalNamespace::UserServerFilter::*)(bool, GlobalNamespace::BeatmapDifficultyMask)>(&GlobalNamespace::UserServerFilter::WithFilterDifficulties)> {
    static const MethodInfo* get() {
      static auto* filterDifficulties = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* difficultyFilter = &::il2cpp_utils::GetClassFromName("", "BeatmapDifficultyMask")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "WithFilterDifficulties", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{filterDifficulties, difficultyFilter});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::WithFilterModifiers
  // Il2CppName: WithFilterModifiers
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (GlobalNamespace::UserServerFilter::*)(bool, GlobalNamespace::GameplayModifierMask)>(&GlobalNamespace::UserServerFilter::WithFilterModifiers)> {
    static const MethodInfo* get() {
      static auto* filterModifiers = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* modifierFilter = &::il2cpp_utils::GetClassFromName("", "GameplayModifierMask")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "WithFilterModifiers", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{filterModifiers, modifierFilter});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::WithFilterSongPacks
  // Il2CppName: WithFilterSongPacks
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<GlobalNamespace::UserServerFilter (GlobalNamespace::UserServerFilter::*)(bool, GlobalNamespace::SongPackMask)>(&GlobalNamespace::UserServerFilter::WithFilterSongPacks)> {
    static const MethodInfo* get() {
      static auto* filterSongPacks = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* songPackFilter = &::il2cpp_utils::GetClassFromName("", "SongPackMask")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "WithFilterSongPacks", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{filterSongPacks, songPackFilter});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::IEquatableByReference$UserServerFilter$_Equals
  // Il2CppName: IEquatableByReference<UserServerFilter>.Equals
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::UserServerFilter::*)(ByRef<GlobalNamespace::UserServerFilter>)>(&GlobalNamespace::UserServerFilter::IEquatableByReference$UserServerFilter$_Equals)> {
    static const MethodInfo* get() {
      static auto* other = &::il2cpp_utils::GetClassFromName("", "UserServerFilter")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "IEquatableByReference<UserServerFilter>.Equals", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{other});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::Equals
  // Il2CppName: Equals
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::UserServerFilter::*)(::Il2CppObject*)>(&GlobalNamespace::UserServerFilter::Equals)> {
    static const MethodInfo* get() {
      static auto* obj = &::il2cpp_utils::GetClassFromName("System", "Object")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "Equals", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{obj});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::UserServerFilter::GetHashCode
  // Il2CppName: GetHashCode
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<int (GlobalNamespace::UserServerFilter::*)()>(&GlobalNamespace::UserServerFilter::GetHashCode)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::UserServerFilter), "GetHashCode", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  