From 5f4ca5b1f653eda83796028f093bd16127d19184 Mon Sep 17 00:00:00 2001
From: poppingmoon <63451158+poppingmoon@users.noreply.github.com>
Date: Sat, 14 Oct 2023 16:50:54 +0900
Subject: [PATCH] =?UTF-8?q?User=E9=96=A2=E4=BF=82=E3=81=AE=E5=9E=8B?=
 =?UTF-8?q?=E3=82=92UserLite=E3=81=A8UserDetailed=E3=81=AB=E6=95=B4?=
 =?UTF-8?q?=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/misskey_dart.dart                         |    2 -
 lib/src/data/base/clip.dart                   |    2 +-
 lib/src/data/base/clip.freezed.dart           |   24 +-
 lib/src/data/base/clip.g.dart                 |    2 +-
 lib/src/data/base/drive_file.dart             |    2 +-
 lib/src/data/base/drive_file.freezed.dart     |   24 +-
 lib/src/data/base/drive_file.g.dart           |    2 +-
 lib/src/data/base/flash.dart                  |    2 +-
 lib/src/data/base/flash.freezed.dart          |   24 +-
 lib/src/data/base/flash.g.dart                |    2 +-
 lib/src/data/base/follow_request.dart         |    4 +-
 lib/src/data/base/follow_request.freezed.dart |   44 +-
 lib/src/data/base/follow_request.g.dart       |    4 +-
 lib/src/data/base/following.dart              |   14 +-
 lib/src/data/base/following.freezed.dart      |   94 +-
 lib/src/data/base/following.g.dart            |    4 +-
 lib/src/data/base/note.dart                   |    2 +-
 lib/src/data/base/note.freezed.dart           |   24 +-
 lib/src/data/base/note.g.dart                 |    2 +-
 lib/src/data/base/page.dart                   |    2 +-
 lib/src/data/base/page.freezed.dart           |   24 +-
 lib/src/data/base/page.g.dart                 |    2 +-
 lib/src/data/base/user.dart                   |  292 +-
 lib/src/data/base/user.freezed.dart           | 4714 ++++++++++++++++-
 lib/src/data/base/user.g.dart                 |  499 +-
 lib/src/data/i/i_notifications_response.dart  |    2 +-
 .../i/i_notifications_response.freezed.dart   |   24 +-
 .../data/i/i_notifications_response.g.dart    |    2 +-
 lib/src/data/i_response.dart                  |   95 -
 lib/src/data/i_response.freezed.dart          | 1763 ------
 lib/src/data/i_response.g.dart                |  201 -
 .../data/notes/notes_reactions_response.dart  |    2 +-
 .../notes_reactions_response.freezed.dart     |   24 +-
 .../notes/notes_reactions_response.g.dart     |    2 +-
 lib/src/data/roles/roles_users_response.dart  |    6 +-
 .../roles/roles_users_response.freezed.dart   |   29 +-
 .../data/roles/roles_users_response.g.dart    |    2 +-
 .../data/users/users_reactions_response.dart  |    2 +-
 .../users_reactions_response.freezed.dart     |   24 +-
 .../users/users_reactions_response.g.dart     |    2 +-
 lib/src/data/users/users_show_response.dart   |  119 -
 .../users/users_show_response.freezed.dart    | 1986 -------
 lib/src/data/users/users_show_response.g.dart |  225 -
 lib/src/misskey_dart_base.dart                |   37 +-
 lib/src/misskey_federation.dart               |    4 +-
 lib/src/misskey_following.dart                |   12 +-
 lib/src/misskey_hashtags.dart                 |    4 +-
 lib/src/misskey_i.dart                        |    9 +-
 lib/src/misskey_users.dart                    |   20 +-
 pubspec.yaml                                  |    2 +-
 test/misskey_ap_test.dart                     |    2 +-
 test/misskey_blocking_test.dart               |    4 +-
 test/misskey_dart_base_test.dart              |   26 +-
 test/misskey_following_test.dart              |    8 +-
 test/misskey_mute_test.dart                   |    4 +-
 test/misskey_renote_mute_test.dart            |    4 +-
 test/misskey_users_test.dart                  |    8 +-
 57 files changed, 5606 insertions(+), 4859 deletions(-)
 delete mode 100644 lib/src/data/i_response.dart
 delete mode 100644 lib/src/data/i_response.freezed.dart
 delete mode 100644 lib/src/data/i_response.g.dart
 delete mode 100644 lib/src/data/users/users_show_response.dart
 delete mode 100644 lib/src/data/users/users_show_response.freezed.dart
 delete mode 100644 lib/src/data/users/users_show_response.g.dart

diff --git a/lib/misskey_dart.dart b/lib/misskey_dart.dart
index 2e60f63f..95efe982 100644
--- a/lib/misskey_dart.dart
+++ b/lib/misskey_dart.dart
@@ -88,7 +88,6 @@ export 'src/data/following/requests/following_requests_reject_request.dart';
 export 'src/data/federation/federation_show_instance_request.dart';
 export 'src/data/federation/federation_show_instance_response.dart';
 export 'src/data/federation/federation_users_request.dart';
-export 'src/data/i_response.dart';
 export 'src/data/i/i_notifications_request.dart';
 export 'src/data/i/i_notifications_response.dart';
 export 'src/data/i/i_favorites_request.dart';
@@ -131,7 +130,6 @@ export 'src/data/pages/pages_like_request.dart';
 export 'src/data/pages/pages_unlike_request.dart';
 export 'src/data/pages/pages_show_request.dart';
 export 'src/data/users/users_show_request.dart';
-export 'src/data/users/users_show_response.dart';
 export 'src/data/users/users_notes_request.dart';
 export 'src/data/users/users_clips_request.dart';
 export 'src/data/users/users_following_request.dart';
diff --git a/lib/src/data/base/clip.dart b/lib/src/data/base/clip.dart
index 99633871..03a5584a 100644
--- a/lib/src/data/base/clip.dart
+++ b/lib/src/data/base/clip.dart
@@ -12,7 +12,7 @@ class Clip with _$Clip {
     @DateTimeConverter() required DateTime createdAt,
     @NullableDateTimeConverter() DateTime? lastClippedAt,
     required String userId,
-    required User user,
+    required UserLite user,
     String? name,
     String? description,
     required bool isPublic,
diff --git a/lib/src/data/base/clip.freezed.dart b/lib/src/data/base/clip.freezed.dart
index 77593deb..f455d103 100644
--- a/lib/src/data/base/clip.freezed.dart
+++ b/lib/src/data/base/clip.freezed.dart
@@ -26,7 +26,7 @@ mixin _$Clip {
   @NullableDateTimeConverter()
   DateTime? get lastClippedAt => throw _privateConstructorUsedError;
   String get userId => throw _privateConstructorUsedError;
-  User get user => throw _privateConstructorUsedError;
+  UserLite get user => throw _privateConstructorUsedError;
   String? get name => throw _privateConstructorUsedError;
   String? get description => throw _privateConstructorUsedError;
   bool get isPublic => throw _privateConstructorUsedError;
@@ -48,14 +48,14 @@ abstract class $ClipCopyWith<$Res> {
       @DateTimeConverter() DateTime createdAt,
       @NullableDateTimeConverter() DateTime? lastClippedAt,
       String userId,
-      User user,
+      UserLite user,
       String? name,
       String? description,
       bool isPublic,
       int favoritedCount,
       bool isFavorited});
 
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
 }
 
 /// @nodoc
@@ -102,7 +102,7 @@ class _$ClipCopyWithImpl<$Res, $Val extends Clip>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       name: freezed == name
           ? _value.name
           : name // ignore: cast_nullable_to_non_nullable
@@ -128,8 +128,8 @@ class _$ClipCopyWithImpl<$Res, $Val extends Clip>
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get user {
-    return $UserCopyWith<$Res>(_value.user, (value) {
+  $UserLiteCopyWith<$Res> get user {
+    return $UserLiteCopyWith<$Res>(_value.user, (value) {
       return _then(_value.copyWith(user: value) as $Val);
     });
   }
@@ -146,7 +146,7 @@ abstract class _$$_ClipCopyWith<$Res> implements $ClipCopyWith<$Res> {
       @DateTimeConverter() DateTime createdAt,
       @NullableDateTimeConverter() DateTime? lastClippedAt,
       String userId,
-      User user,
+      UserLite user,
       String? name,
       String? description,
       bool isPublic,
@@ -154,7 +154,7 @@ abstract class _$$_ClipCopyWith<$Res> implements $ClipCopyWith<$Res> {
       bool isFavorited});
 
   @override
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
 }
 
 /// @nodoc
@@ -197,7 +197,7 @@ class __$$_ClipCopyWithImpl<$Res> extends _$ClipCopyWithImpl<$Res, _$_Clip>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       name: freezed == name
           ? _value.name
           : name // ignore: cast_nullable_to_non_nullable
@@ -250,7 +250,7 @@ class _$_Clip implements _Clip {
   @override
   final String userId;
   @override
-  final User user;
+  final UserLite user;
   @override
   final String? name;
   @override
@@ -315,7 +315,7 @@ abstract class _Clip implements Clip {
       @DateTimeConverter() required final DateTime createdAt,
       @NullableDateTimeConverter() final DateTime? lastClippedAt,
       required final String userId,
-      required final User user,
+      required final UserLite user,
       final String? name,
       final String? description,
       required final bool isPublic,
@@ -335,7 +335,7 @@ abstract class _Clip implements Clip {
   @override
   String get userId;
   @override
-  User get user;
+  UserLite get user;
   @override
   String? get name;
   @override
diff --git a/lib/src/data/base/clip.g.dart b/lib/src/data/base/clip.g.dart
index 5d6090b5..a9a59a41 100644
--- a/lib/src/data/base/clip.g.dart
+++ b/lib/src/data/base/clip.g.dart
@@ -13,7 +13,7 @@ _$_Clip _$$_ClipFromJson(Map<String, dynamic> json) => _$_Clip(
       lastClippedAt: _$JsonConverterFromJson<String, DateTime?>(
           json['lastClippedAt'], const NullableDateTimeConverter().fromJson),
       userId: json['userId'] as String,
-      user: User.fromJson(json['user'] as Map<String, dynamic>),
+      user: UserLite.fromJson(json['user'] as Map<String, dynamic>),
       name: json['name'] as String?,
       description: json['description'] as String?,
       isPublic: json['isPublic'] as bool,
diff --git a/lib/src/data/base/drive_file.dart b/lib/src/data/base/drive_file.dart
index 98d5b056..627e2e67 100644
--- a/lib/src/data/base/drive_file.dart
+++ b/lib/src/data/base/drive_file.dart
@@ -21,7 +21,7 @@ class DriveFile with _$DriveFile {
     String? comment,
     String? folderId,
     String? userId,
-    User? user,
+    UserLite? user,
   }) = _DriveFile;
 
   factory DriveFile.fromJson(Map<String, dynamic> json) =>
diff --git a/lib/src/data/base/drive_file.freezed.dart b/lib/src/data/base/drive_file.freezed.dart
index 35f93f5f..bf10fa75 100644
--- a/lib/src/data/base/drive_file.freezed.dart
+++ b/lib/src/data/base/drive_file.freezed.dart
@@ -34,7 +34,7 @@ mixin _$DriveFile {
   String? get comment => throw _privateConstructorUsedError;
   String? get folderId => throw _privateConstructorUsedError;
   String? get userId => throw _privateConstructorUsedError;
-  User? get user => throw _privateConstructorUsedError;
+  UserLite? get user => throw _privateConstructorUsedError;
 
   Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
   @JsonKey(ignore: true)
@@ -61,9 +61,9 @@ abstract class $DriveFileCopyWith<$Res> {
       String? comment,
       String? folderId,
       String? userId,
-      User? user});
+      UserLite? user});
 
-  $UserCopyWith<$Res>? get user;
+  $UserLiteCopyWith<$Res>? get user;
 }
 
 /// @nodoc
@@ -150,18 +150,18 @@ class _$DriveFileCopyWithImpl<$Res, $Val extends DriveFile>
       user: freezed == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User?,
+              as UserLite?,
     ) as $Val);
   }
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res>? get user {
+  $UserLiteCopyWith<$Res>? get user {
     if (_value.user == null) {
       return null;
     }
 
-    return $UserCopyWith<$Res>(_value.user!, (value) {
+    return $UserLiteCopyWith<$Res>(_value.user!, (value) {
       return _then(_value.copyWith(user: value) as $Val);
     });
   }
@@ -188,10 +188,10 @@ abstract class _$$_DriveFileCopyWith<$Res> implements $DriveFileCopyWith<$Res> {
       String? comment,
       String? folderId,
       String? userId,
-      User? user});
+      UserLite? user});
 
   @override
-  $UserCopyWith<$Res>? get user;
+  $UserLiteCopyWith<$Res>? get user;
 }
 
 /// @nodoc
@@ -276,7 +276,7 @@ class __$$_DriveFileCopyWithImpl<$Res>
       user: freezed == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User?,
+              as UserLite?,
     ));
   }
 }
@@ -331,7 +331,7 @@ class _$_DriveFile implements _DriveFile {
   @override
   final String? userId;
   @override
-  final User? user;
+  final UserLite? user;
 
   @override
   String toString() {
@@ -412,7 +412,7 @@ abstract class _DriveFile implements DriveFile {
       final String? comment,
       final String? folderId,
       final String? userId,
-      final User? user}) = _$_DriveFile;
+      final UserLite? user}) = _$_DriveFile;
 
   factory _DriveFile.fromJson(Map<String, dynamic> json) =
       _$_DriveFile.fromJson;
@@ -445,7 +445,7 @@ abstract class _DriveFile implements DriveFile {
   @override
   String? get userId;
   @override
-  User? get user;
+  UserLite? get user;
   @override
   @JsonKey(ignore: true)
   _$$_DriveFileCopyWith<_$_DriveFile> get copyWith =>
diff --git a/lib/src/data/base/drive_file.g.dart b/lib/src/data/base/drive_file.g.dart
index 1de5662d..825db699 100644
--- a/lib/src/data/base/drive_file.g.dart
+++ b/lib/src/data/base/drive_file.g.dart
@@ -23,7 +23,7 @@ _$_DriveFile _$$_DriveFileFromJson(Map<String, dynamic> json) => _$_DriveFile(
       userId: json['userId'] as String?,
       user: json['user'] == null
           ? null
-          : User.fromJson(json['user'] as Map<String, dynamic>),
+          : UserLite.fromJson(json['user'] as Map<String, dynamic>),
     );
 
 Map<String, dynamic> _$$_DriveFileToJson(_$_DriveFile instance) =>
diff --git a/lib/src/data/base/flash.dart b/lib/src/data/base/flash.dart
index a78d8544..9a5dcf1c 100644
--- a/lib/src/data/base/flash.dart
+++ b/lib/src/data/base/flash.dart
@@ -17,7 +17,7 @@ class Flash with _$Flash {
     required String summary,
     required String script,
     required String userId,
-    required User user,
+    required UserLite user,
     int? likedCount,
     @Default(false) bool isLiked,
   }) = _Flash;
diff --git a/lib/src/data/base/flash.freezed.dart b/lib/src/data/base/flash.freezed.dart
index 2300ca25..da1b94bd 100644
--- a/lib/src/data/base/flash.freezed.dart
+++ b/lib/src/data/base/flash.freezed.dart
@@ -29,7 +29,7 @@ mixin _$Flash {
   String get summary => throw _privateConstructorUsedError;
   String get script => throw _privateConstructorUsedError;
   String get userId => throw _privateConstructorUsedError;
-  User get user => throw _privateConstructorUsedError;
+  UserLite get user => throw _privateConstructorUsedError;
   int? get likedCount => throw _privateConstructorUsedError;
   bool get isLiked => throw _privateConstructorUsedError;
 
@@ -51,11 +51,11 @@ abstract class $FlashCopyWith<$Res> {
       String summary,
       String script,
       String userId,
-      User user,
+      UserLite user,
       int? likedCount,
       bool isLiked});
 
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
 }
 
 /// @nodoc
@@ -114,7 +114,7 @@ class _$FlashCopyWithImpl<$Res, $Val extends Flash>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       likedCount: freezed == likedCount
           ? _value.likedCount
           : likedCount // ignore: cast_nullable_to_non_nullable
@@ -128,8 +128,8 @@ class _$FlashCopyWithImpl<$Res, $Val extends Flash>
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get user {
-    return $UserCopyWith<$Res>(_value.user, (value) {
+  $UserLiteCopyWith<$Res> get user {
+    return $UserLiteCopyWith<$Res>(_value.user, (value) {
       return _then(_value.copyWith(user: value) as $Val);
     });
   }
@@ -149,12 +149,12 @@ abstract class _$$_FlashCopyWith<$Res> implements $FlashCopyWith<$Res> {
       String summary,
       String script,
       String userId,
-      User user,
+      UserLite user,
       int? likedCount,
       bool isLiked});
 
   @override
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
 }
 
 /// @nodoc
@@ -209,7 +209,7 @@ class __$$_FlashCopyWithImpl<$Res> extends _$FlashCopyWithImpl<$Res, _$_Flash>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       likedCount: freezed == likedCount
           ? _value.likedCount
           : likedCount // ignore: cast_nullable_to_non_nullable
@@ -257,7 +257,7 @@ class _$_Flash implements _Flash {
   @override
   final String userId;
   @override
-  final User user;
+  final UserLite user;
   @override
   final int? likedCount;
   @override
@@ -317,7 +317,7 @@ abstract class _Flash implements Flash {
       required final String summary,
       required final String script,
       required final String userId,
-      required final User user,
+      required final UserLite user,
       final int? likedCount,
       final bool isLiked}) = _$_Flash;
 
@@ -340,7 +340,7 @@ abstract class _Flash implements Flash {
   @override
   String get userId;
   @override
-  User get user;
+  UserLite get user;
   @override
   int? get likedCount;
   @override
diff --git a/lib/src/data/base/flash.g.dart b/lib/src/data/base/flash.g.dart
index f08e54be..f8d22200 100644
--- a/lib/src/data/base/flash.g.dart
+++ b/lib/src/data/base/flash.g.dart
@@ -16,7 +16,7 @@ _$_Flash _$$_FlashFromJson(Map<String, dynamic> json) => _$_Flash(
       summary: json['summary'] as String,
       script: json['script'] as String,
       userId: json['userId'] as String,
-      user: User.fromJson(json['user'] as Map<String, dynamic>),
+      user: UserLite.fromJson(json['user'] as Map<String, dynamic>),
       likedCount: json['likedCount'] as int?,
       isLiked: json['isLiked'] as bool? ?? false,
     );
diff --git a/lib/src/data/base/follow_request.dart b/lib/src/data/base/follow_request.dart
index d4f68700..93120a8c 100644
--- a/lib/src/data/base/follow_request.dart
+++ b/lib/src/data/base/follow_request.dart
@@ -8,8 +8,8 @@ part 'follow_request.g.dart';
 class FollowRequest with _$FollowRequest {
   const factory FollowRequest({
     required String id,
-    required User followee,
-    required User follower,
+    required UserLite followee,
+    required UserLite follower,
   }) = _FollowRequest;
 
   factory FollowRequest.fromJson(Map<String, dynamic> json) =>
diff --git a/lib/src/data/base/follow_request.freezed.dart b/lib/src/data/base/follow_request.freezed.dart
index e27e3f4f..423408f1 100644
--- a/lib/src/data/base/follow_request.freezed.dart
+++ b/lib/src/data/base/follow_request.freezed.dart
@@ -21,8 +21,8 @@ FollowRequest _$FollowRequestFromJson(Map<String, dynamic> json) {
 /// @nodoc
 mixin _$FollowRequest {
   String get id => throw _privateConstructorUsedError;
-  User get followee => throw _privateConstructorUsedError;
-  User get follower => throw _privateConstructorUsedError;
+  UserLite get followee => throw _privateConstructorUsedError;
+  UserLite get follower => throw _privateConstructorUsedError;
 
   Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
   @JsonKey(ignore: true)
@@ -36,10 +36,10 @@ abstract class $FollowRequestCopyWith<$Res> {
           FollowRequest value, $Res Function(FollowRequest) then) =
       _$FollowRequestCopyWithImpl<$Res, FollowRequest>;
   @useResult
-  $Res call({String id, User followee, User follower});
+  $Res call({String id, UserLite followee, UserLite follower});
 
-  $UserCopyWith<$Res> get followee;
-  $UserCopyWith<$Res> get follower;
+  $UserLiteCopyWith<$Res> get followee;
+  $UserLiteCopyWith<$Res> get follower;
 }
 
 /// @nodoc
@@ -67,26 +67,26 @@ class _$FollowRequestCopyWithImpl<$Res, $Val extends FollowRequest>
       followee: null == followee
           ? _value.followee
           : followee // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       follower: null == follower
           ? _value.follower
           : follower // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
     ) as $Val);
   }
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get followee {
-    return $UserCopyWith<$Res>(_value.followee, (value) {
+  $UserLiteCopyWith<$Res> get followee {
+    return $UserLiteCopyWith<$Res>(_value.followee, (value) {
       return _then(_value.copyWith(followee: value) as $Val);
     });
   }
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get follower {
-    return $UserCopyWith<$Res>(_value.follower, (value) {
+  $UserLiteCopyWith<$Res> get follower {
+    return $UserLiteCopyWith<$Res>(_value.follower, (value) {
       return _then(_value.copyWith(follower: value) as $Val);
     });
   }
@@ -100,12 +100,12 @@ abstract class _$$_FollowRequestCopyWith<$Res>
       __$$_FollowRequestCopyWithImpl<$Res>;
   @override
   @useResult
-  $Res call({String id, User followee, User follower});
+  $Res call({String id, UserLite followee, UserLite follower});
 
   @override
-  $UserCopyWith<$Res> get followee;
+  $UserLiteCopyWith<$Res> get followee;
   @override
-  $UserCopyWith<$Res> get follower;
+  $UserLiteCopyWith<$Res> get follower;
 }
 
 /// @nodoc
@@ -131,11 +131,11 @@ class __$$_FollowRequestCopyWithImpl<$Res>
       followee: null == followee
           ? _value.followee
           : followee // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       follower: null == follower
           ? _value.follower
           : follower // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
     ));
   }
 }
@@ -152,9 +152,9 @@ class _$_FollowRequest implements _FollowRequest {
   @override
   final String id;
   @override
-  final User followee;
+  final UserLite followee;
   @override
-  final User follower;
+  final UserLite follower;
 
   @override
   String toString() {
@@ -194,8 +194,8 @@ class _$_FollowRequest implements _FollowRequest {
 abstract class _FollowRequest implements FollowRequest {
   const factory _FollowRequest(
       {required final String id,
-      required final User followee,
-      required final User follower}) = _$_FollowRequest;
+      required final UserLite followee,
+      required final UserLite follower}) = _$_FollowRequest;
 
   factory _FollowRequest.fromJson(Map<String, dynamic> json) =
       _$_FollowRequest.fromJson;
@@ -203,9 +203,9 @@ abstract class _FollowRequest implements FollowRequest {
   @override
   String get id;
   @override
-  User get followee;
+  UserLite get followee;
   @override
-  User get follower;
+  UserLite get follower;
   @override
   @JsonKey(ignore: true)
   _$$_FollowRequestCopyWith<_$_FollowRequest> get copyWith =>
diff --git a/lib/src/data/base/follow_request.g.dart b/lib/src/data/base/follow_request.g.dart
index ddd31213..1d3842dd 100644
--- a/lib/src/data/base/follow_request.g.dart
+++ b/lib/src/data/base/follow_request.g.dart
@@ -9,8 +9,8 @@ part of 'follow_request.dart';
 _$_FollowRequest _$$_FollowRequestFromJson(Map<String, dynamic> json) =>
     _$_FollowRequest(
       id: json['id'] as String,
-      followee: User.fromJson(json['followee'] as Map<String, dynamic>),
-      follower: User.fromJson(json['follower'] as Map<String, dynamic>),
+      followee: UserLite.fromJson(json['followee'] as Map<String, dynamic>),
+      follower: UserLite.fromJson(json['follower'] as Map<String, dynamic>),
     );
 
 Map<String, dynamic> _$$_FollowRequestToJson(_$_FollowRequest instance) =>
diff --git a/lib/src/data/base/following.dart b/lib/src/data/base/following.dart
index 48638652..bb30ecf5 100644
--- a/lib/src/data/base/following.dart
+++ b/lib/src/data/base/following.dart
@@ -12,8 +12,18 @@ class Following with _$Following {
     @DateTimeConverter() required DateTime createdAt,
     required String followeeId,
     required String followerId,
-    User? followee,
-    User? follower,
+
+    /// 以下のエンドポイントでnon-null
+    ///
+    // - [MisskeyFederation.followers]
+    // - [MisskeyFederation.following]
+    /// - [MisskeyUsers.following]
+    UserDetailed? followee,
+
+    /// 以下のエンドポイントでnon-null
+    ///
+    /// - [MisskeyUsers.followers]
+    UserDetailed? follower,
   }) = _Following;
 
   factory Following.fromJson(Map<String, dynamic> json) =>
diff --git a/lib/src/data/base/following.freezed.dart b/lib/src/data/base/following.freezed.dart
index 0483a6c9..82464ff7 100644
--- a/lib/src/data/base/following.freezed.dart
+++ b/lib/src/data/base/following.freezed.dart
@@ -25,8 +25,18 @@ mixin _$Following {
   DateTime get createdAt => throw _privateConstructorUsedError;
   String get followeeId => throw _privateConstructorUsedError;
   String get followerId => throw _privateConstructorUsedError;
-  User? get followee => throw _privateConstructorUsedError;
-  User? get follower => throw _privateConstructorUsedError;
+
+  /// 以下のエンドポイントでnon-null
+  ///
+// - [MisskeyFederation.followers]
+// - [MisskeyFederation.following]
+  /// - [MisskeyUsers.following]
+  UserDetailed? get followee => throw _privateConstructorUsedError;
+
+  /// 以下のエンドポイントでnon-null
+  ///
+  /// - [MisskeyUsers.followers]
+  UserDetailed? get follower => throw _privateConstructorUsedError;
 
   Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
   @JsonKey(ignore: true)
@@ -44,11 +54,8 @@ abstract class $FollowingCopyWith<$Res> {
       @DateTimeConverter() DateTime createdAt,
       String followeeId,
       String followerId,
-      User? followee,
-      User? follower});
-
-  $UserCopyWith<$Res>? get followee;
-  $UserCopyWith<$Res>? get follower;
+      UserDetailed? followee,
+      UserDetailed? follower});
 }
 
 /// @nodoc
@@ -91,37 +98,13 @@ class _$FollowingCopyWithImpl<$Res, $Val extends Following>
       followee: freezed == followee
           ? _value.followee
           : followee // ignore: cast_nullable_to_non_nullable
-              as User?,
+              as UserDetailed?,
       follower: freezed == follower
           ? _value.follower
           : follower // ignore: cast_nullable_to_non_nullable
-              as User?,
+              as UserDetailed?,
     ) as $Val);
   }
-
-  @override
-  @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res>? get followee {
-    if (_value.followee == null) {
-      return null;
-    }
-
-    return $UserCopyWith<$Res>(_value.followee!, (value) {
-      return _then(_value.copyWith(followee: value) as $Val);
-    });
-  }
-
-  @override
-  @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res>? get follower {
-    if (_value.follower == null) {
-      return null;
-    }
-
-    return $UserCopyWith<$Res>(_value.follower!, (value) {
-      return _then(_value.copyWith(follower: value) as $Val);
-    });
-  }
 }
 
 /// @nodoc
@@ -136,13 +119,8 @@ abstract class _$$_FollowingCopyWith<$Res> implements $FollowingCopyWith<$Res> {
       @DateTimeConverter() DateTime createdAt,
       String followeeId,
       String followerId,
-      User? followee,
-      User? follower});
-
-  @override
-  $UserCopyWith<$Res>? get followee;
-  @override
-  $UserCopyWith<$Res>? get follower;
+      UserDetailed? followee,
+      UserDetailed? follower});
 }
 
 /// @nodoc
@@ -183,11 +161,11 @@ class __$$_FollowingCopyWithImpl<$Res>
       followee: freezed == followee
           ? _value.followee
           : followee // ignore: cast_nullable_to_non_nullable
-              as User?,
+              as UserDetailed?,
       follower: freezed == follower
           ? _value.follower
           : follower // ignore: cast_nullable_to_non_nullable
-              as User?,
+              as UserDetailed?,
     ));
   }
 }
@@ -215,10 +193,20 @@ class _$_Following implements _Following {
   final String followeeId;
   @override
   final String followerId;
+
+  /// 以下のエンドポイントでnon-null
+  ///
+// - [MisskeyFederation.followers]
+// - [MisskeyFederation.following]
+  /// - [MisskeyUsers.following]
   @override
-  final User? followee;
+  final UserDetailed? followee;
+
+  /// 以下のエンドポイントでnon-null
+  ///
+  /// - [MisskeyUsers.followers]
   @override
-  final User? follower;
+  final UserDetailed? follower;
 
   @override
   String toString() {
@@ -268,8 +256,8 @@ abstract class _Following implements Following {
       @DateTimeConverter() required final DateTime createdAt,
       required final String followeeId,
       required final String followerId,
-      final User? followee,
-      final User? follower}) = _$_Following;
+      final UserDetailed? followee,
+      final UserDetailed? follower}) = _$_Following;
 
   factory _Following.fromJson(Map<String, dynamic> json) =
       _$_Following.fromJson;
@@ -284,9 +272,19 @@ abstract class _Following implements Following {
   @override
   String get followerId;
   @override
-  User? get followee;
+
+  /// 以下のエンドポイントでnon-null
+  ///
+// - [MisskeyFederation.followers]
+// - [MisskeyFederation.following]
+  /// - [MisskeyUsers.following]
+  UserDetailed? get followee;
   @override
-  User? get follower;
+
+  /// 以下のエンドポイントでnon-null
+  ///
+  /// - [MisskeyUsers.followers]
+  UserDetailed? get follower;
   @override
   @JsonKey(ignore: true)
   _$$_FollowingCopyWith<_$_Following> get copyWith =>
diff --git a/lib/src/data/base/following.g.dart b/lib/src/data/base/following.g.dart
index 720938c7..24c58c5e 100644
--- a/lib/src/data/base/following.g.dart
+++ b/lib/src/data/base/following.g.dart
@@ -14,10 +14,10 @@ _$_Following _$$_FollowingFromJson(Map<String, dynamic> json) => _$_Following(
       followerId: json['followerId'] as String,
       followee: json['followee'] == null
           ? null
-          : User.fromJson(json['followee'] as Map<String, dynamic>),
+          : UserDetailed.fromJson(json['followee'] as Map<String, dynamic>),
       follower: json['follower'] == null
           ? null
-          : User.fromJson(json['follower'] as Map<String, dynamic>),
+          : UserDetailed.fromJson(json['follower'] as Map<String, dynamic>),
     );
 
 Map<String, dynamic> _$$_FollowingToJson(_$_Following instance) =>
diff --git a/lib/src/data/base/note.dart b/lib/src/data/base/note.dart
index 9f4ccd8e..458c0ae8 100644
--- a/lib/src/data/base/note.dart
+++ b/lib/src/data/base/note.dart
@@ -16,7 +16,7 @@ class Note with _$Note {
     @NullableDateTimeConverter() DateTime? updatedAt,
     String? text,
     String? cw,
-    required User user,
+    required UserLite user,
     required String userId,
     @NoteVisibilityJsonConverter() required NoteVisibility visibility,
     required bool localOnly,
diff --git a/lib/src/data/base/note.freezed.dart b/lib/src/data/base/note.freezed.dart
index aec8ac1c..b391e54d 100644
--- a/lib/src/data/base/note.freezed.dart
+++ b/lib/src/data/base/note.freezed.dart
@@ -27,7 +27,7 @@ mixin _$Note {
   DateTime? get updatedAt => throw _privateConstructorUsedError;
   String? get text => throw _privateConstructorUsedError;
   String? get cw => throw _privateConstructorUsedError;
-  User get user => throw _privateConstructorUsedError;
+  UserLite get user => throw _privateConstructorUsedError;
   String get userId => throw _privateConstructorUsedError;
   @NoteVisibilityJsonConverter()
   NoteVisibility get visibility => throw _privateConstructorUsedError;
@@ -77,7 +77,7 @@ abstract class $NoteCopyWith<$Res> {
       @NullableDateTimeConverter() DateTime? updatedAt,
       String? text,
       String? cw,
-      User user,
+      UserLite user,
       String userId,
       @NoteVisibilityJsonConverter() NoteVisibility visibility,
       bool localOnly,
@@ -104,7 +104,7 @@ abstract class $NoteCopyWith<$Res> {
       NotePoll? poll,
       int? clippedCount});
 
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
   $NoteCopyWith<$Res>? get renote;
   $NoteCopyWith<$Res>? get reply;
   $NoteChannelInfoCopyWith<$Res>? get channel;
@@ -180,7 +180,7 @@ class _$NoteCopyWithImpl<$Res, $Val extends Note>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       userId: null == userId
           ? _value.userId
           : userId // ignore: cast_nullable_to_non_nullable
@@ -286,8 +286,8 @@ class _$NoteCopyWithImpl<$Res, $Val extends Note>
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get user {
-    return $UserCopyWith<$Res>(_value.user, (value) {
+  $UserLiteCopyWith<$Res> get user {
+    return $UserLiteCopyWith<$Res>(_value.user, (value) {
       return _then(_value.copyWith(user: value) as $Val);
     });
   }
@@ -353,7 +353,7 @@ abstract class _$$_NoteCopyWith<$Res> implements $NoteCopyWith<$Res> {
       @NullableDateTimeConverter() DateTime? updatedAt,
       String? text,
       String? cw,
-      User user,
+      UserLite user,
       String userId,
       @NoteVisibilityJsonConverter() NoteVisibility visibility,
       bool localOnly,
@@ -381,7 +381,7 @@ abstract class _$$_NoteCopyWith<$Res> implements $NoteCopyWith<$Res> {
       int? clippedCount});
 
   @override
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
   @override
   $NoteCopyWith<$Res>? get renote;
   @override
@@ -457,7 +457,7 @@ class __$$_NoteCopyWithImpl<$Res> extends _$NoteCopyWithImpl<$Res, _$_Note>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       userId: null == userId
           ? _value.userId
           : userId // ignore: cast_nullable_to_non_nullable
@@ -621,7 +621,7 @@ class _$_Note implements _Note {
   @override
   final String? cw;
   @override
-  final User user;
+  final UserLite user;
   @override
   final String userId;
   @override
@@ -847,7 +847,7 @@ abstract class _Note implements Note {
       @NullableDateTimeConverter() final DateTime? updatedAt,
       final String? text,
       final String? cw,
-      required final User user,
+      required final UserLite user,
       required final String userId,
       @NoteVisibilityJsonConverter() required final NoteVisibility visibility,
       required final bool localOnly,
@@ -889,7 +889,7 @@ abstract class _Note implements Note {
   @override
   String? get cw;
   @override
-  User get user;
+  UserLite get user;
   @override
   String get userId;
   @override
diff --git a/lib/src/data/base/note.g.dart b/lib/src/data/base/note.g.dart
index 59b6d79e..31ddd06c 100644
--- a/lib/src/data/base/note.g.dart
+++ b/lib/src/data/base/note.g.dart
@@ -14,7 +14,7 @@ _$_Note _$$_NoteFromJson(Map<String, dynamic> json) => _$_Note(
           json['updatedAt'], const NullableDateTimeConverter().fromJson),
       text: json['text'] as String?,
       cw: json['cw'] as String?,
-      user: User.fromJson(json['user'] as Map<String, dynamic>),
+      user: UserLite.fromJson(json['user'] as Map<String, dynamic>),
       userId: json['userId'] as String,
       visibility: const NoteVisibilityJsonConverter()
           .fromJson(json['visibility'] as String),
diff --git a/lib/src/data/base/page.dart b/lib/src/data/base/page.dart
index 8181f6e1..f52f9d7d 100644
--- a/lib/src/data/base/page.dart
+++ b/lib/src/data/base/page.dart
@@ -13,7 +13,7 @@ class Page with _$Page {
     @DateTimeConverter() required DateTime createdAt,
     @DateTimeConverter() required DateTime updatedAt,
     required String userId,
-    required User user,
+    required UserLite user,
     @ListPageContentConverter() required List<AbstractPageContent> content,
     required List<Map<String, dynamic>> variables,
     required String title,
diff --git a/lib/src/data/base/page.freezed.dart b/lib/src/data/base/page.freezed.dart
index 7a1cf015..a02f04ec 100644
--- a/lib/src/data/base/page.freezed.dart
+++ b/lib/src/data/base/page.freezed.dart
@@ -26,7 +26,7 @@ mixin _$Page {
   @DateTimeConverter()
   DateTime get updatedAt => throw _privateConstructorUsedError;
   String get userId => throw _privateConstructorUsedError;
-  User get user => throw _privateConstructorUsedError;
+  UserLite get user => throw _privateConstructorUsedError;
   @ListPageContentConverter()
   List<AbstractPageContent> get content => throw _privateConstructorUsedError;
   List<Map<String, dynamic>> get variables =>
@@ -59,7 +59,7 @@ abstract class $PageCopyWith<$Res> {
       @DateTimeConverter() DateTime createdAt,
       @DateTimeConverter() DateTime updatedAt,
       String userId,
-      User user,
+      UserLite user,
       @ListPageContentConverter() List<AbstractPageContent> content,
       List<Map<String, dynamic>> variables,
       String title,
@@ -75,7 +75,7 @@ abstract class $PageCopyWith<$Res> {
       int likedCount,
       bool? isLiked});
 
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
   $DriveFileCopyWith<$Res>? get eyeCatchingImage;
 }
 
@@ -132,7 +132,7 @@ class _$PageCopyWithImpl<$Res, $Val extends Page>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       content: null == content
           ? _value.content
           : content // ignore: cast_nullable_to_non_nullable
@@ -194,8 +194,8 @@ class _$PageCopyWithImpl<$Res, $Val extends Page>
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get user {
-    return $UserCopyWith<$Res>(_value.user, (value) {
+  $UserLiteCopyWith<$Res> get user {
+    return $UserLiteCopyWith<$Res>(_value.user, (value) {
       return _then(_value.copyWith(user: value) as $Val);
     });
   }
@@ -224,7 +224,7 @@ abstract class _$$_PageCopyWith<$Res> implements $PageCopyWith<$Res> {
       @DateTimeConverter() DateTime createdAt,
       @DateTimeConverter() DateTime updatedAt,
       String userId,
-      User user,
+      UserLite user,
       @ListPageContentConverter() List<AbstractPageContent> content,
       List<Map<String, dynamic>> variables,
       String title,
@@ -241,7 +241,7 @@ abstract class _$$_PageCopyWith<$Res> implements $PageCopyWith<$Res> {
       bool? isLiked});
 
   @override
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
   @override
   $DriveFileCopyWith<$Res>? get eyeCatchingImage;
 }
@@ -295,7 +295,7 @@ class __$$_PageCopyWithImpl<$Res> extends _$PageCopyWithImpl<$Res, _$_Page>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       content: null == content
           ? _value._content
           : content // ignore: cast_nullable_to_non_nullable
@@ -397,7 +397,7 @@ class _$_Page implements _Page {
   @override
   final String userId;
   @override
-  final User user;
+  final UserLite user;
   final List<AbstractPageContent> _content;
   @override
   @ListPageContentConverter()
@@ -531,7 +531,7 @@ abstract class _Page implements Page {
       @DateTimeConverter() required final DateTime createdAt,
       @DateTimeConverter() required final DateTime updatedAt,
       required final String userId,
-      required final User user,
+      required final UserLite user,
       @ListPageContentConverter()
       required final List<AbstractPageContent> content,
       required final List<Map<String, dynamic>> variables,
@@ -561,7 +561,7 @@ abstract class _Page implements Page {
   @override
   String get userId;
   @override
-  User get user;
+  UserLite get user;
   @override
   @ListPageContentConverter()
   List<AbstractPageContent> get content;
diff --git a/lib/src/data/base/page.g.dart b/lib/src/data/base/page.g.dart
index 22064681..d5da29a2 100644
--- a/lib/src/data/base/page.g.dart
+++ b/lib/src/data/base/page.g.dart
@@ -13,7 +13,7 @@ _$_Page _$$_PageFromJson(Map<String, dynamic> json) => _$_Page(
       updatedAt:
           const DateTimeConverter().fromJson(json['updatedAt'] as String),
       userId: json['userId'] as String,
-      user: User.fromJson(json['user'] as Map<String, dynamic>),
+      user: UserLite.fromJson(json['user'] as Map<String, dynamic>),
       content:
           const ListPageContentConverter().fromJson(json['content'] as List?),
       variables: (json['variables'] as List<dynamic>)
diff --git a/lib/src/data/base/user.dart b/lib/src/data/base/user.dart
index f3517ddd..1f146946 100644
--- a/lib/src/data/base/user.dart
+++ b/lib/src/data/base/user.dart
@@ -1,31 +1,302 @@
 import 'package:freezed_annotation/freezed_annotation.dart';
+import 'package:misskey_dart/misskey_dart.dart';
 import 'package:misskey_dart/src/converters/date_time_converter.dart';
 import 'package:misskey_dart/src/converters/emojis_converter.dart';
+import 'package:misskey_dart/src/converters/mute_words_converter.dart';
 import 'package:misskey_dart/src/converters/uri_converter.dart';
-import 'package:misskey_dart/src/enums/online_status.dart';
 
 part 'user.freezed.dart';
 part 'user.g.dart';
 
+abstract class User {
+  String get id;
+  String get username;
+  String? get host;
+  String? get name;
+  OnlineStatus? get onlineStatus;
+  List<UserBadgeRole> get badgeRoles;
+  Uri get avatarUrl;
+  String? get avatarBlurhash;
+  List<UserAvatarDecoration> get avatarDecorations;
+  UserInstanceInfo? get instance;
+  bool get isCat;
+  bool get isBot;
+  Map<String, String> get emojis;
+
+  factory User.fromJson(Map<String, Object?> json) {
+    if (json.containsKey("url")) {
+      return UserDetailed.fromJson(json);
+    } else {
+      return UserLite.fromJson(json);
+    }
+  }
+
+  Map<String, Object?> toJson() {
+    return (this as UserLite).toJson();
+  }
+}
+
+abstract class UserDetailed implements User {
+  Uri? get url;
+  Uri? get uri;
+  DateTime get createdAt;
+  DateTime? get updatedAt;
+  DateTime? get lastFetchedAt;
+  Uri? get bannerUrl;
+  String? get bannerBlurhash;
+  bool get isLocked;
+  bool get isSilenced;
+  bool get isSuspended;
+  String? get description;
+  String? get location;
+  DateTime? get birthday;
+  String? get lang;
+  List<UserField>? get fields;
+  int get followersCount;
+  int get followingCount;
+  int get notesCount;
+  List<String>? get pinnedNoteIds;
+  List<Note>? get pinnedNotes;
+  String? get pinnedPageId;
+  Map<String, dynamic>? get pinnedPage;
+  bool get publicReactions;
+  FFVisibility get ffVisibility;
+  bool get twoFactorEnabled;
+  bool get usePasswordLessLogin;
+  bool get securityKeys;
+  List<UserRole>? get roles;
+  String? get memo;
+
+  factory UserDetailed.fromJson(Map<String, Object?> json) {
+    if (json.containsKey("isFollowing")) {
+      return UserDetailedNotMeWithRelations.fromJson(json);
+    } else if (json.containsKey("avatarId")) {
+      return MeDetailed.fromJson(json);
+    } else {
+      return UserDetailedNotMe.fromJson(json);
+    }
+  }
+
+  @override
+  Map<String, Object?> toJson() {
+    return (this as UserDetailedNotMe).toJson();
+  }
+}
+
 @freezed
-class User with _$User {
-  const factory User({
+class UserLite with _$UserLite implements User {
+  const factory UserLite({
     required String id,
+    String? name,
     required String username,
     String? host,
+    @UriConverter() required Uri avatarUrl,
+    String? avatarBlurhash,
+    @Default([]) List<UserAvatarDecoration> avatarDecorations,
+    @Default(false) bool isBot,
+    @Default(false) bool isCat,
+    UserInstanceInfo? instance,
+    @EmojisConverter() @Default({}) Map<String, String> emojis,
+    @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+    @Default([]) List<UserBadgeRole> badgeRoles,
+  }) = _UserLite;
+
+  factory UserLite.fromJson(Map<String, Object?> json) =>
+      _$UserLiteFromJson(json);
+}
+
+@freezed
+class UserDetailedNotMe with _$UserDetailedNotMe implements UserDetailed {
+  const factory UserDetailedNotMe({
+    required String id,
     String? name,
+    required String username,
+    String? host,
+    @UriConverter() required Uri avatarUrl,
+    String? avatarBlurhash,
+    @Default([]) List<UserAvatarDecoration> avatarDecorations,
+    required bool isBot,
+    required bool isCat,
+    UserInstanceInfo? instance,
+    @EmojisConverter() @Default({}) Map<String, String> emojis,
     @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
     @Default([]) List<UserBadgeRole> badgeRoles,
+    @NullableUriConverter() Uri? url,
+    @NullableUriConverter() Uri? uri,
+    @DateTimeConverter() required DateTime createdAt,
+    @NullableDateTimeConverter() DateTime? updatedAt,
+    @NullableDateTimeConverter() DateTime? lastFetchedAt,
+    @NullableUriConverter() Uri? bannerUrl,
+    String? bannerBlurhash,
+    required bool isLocked,
+    required bool isSilenced,
+    required bool isSuspended,
+    String? description,
+    String? location,
+    @NullableDateTimeConverter() DateTime? birthday,
+    String? lang,
+    List<UserField>? fields,
+    required int followersCount,
+    required int followingCount,
+    required int notesCount,
+    List<String>? pinnedNoteIds,
+    List<Note>? pinnedNotes,
+    String? pinnedPageId,
+    Map<String, dynamic>? pinnedPage,
+    required bool publicReactions,
+    required FFVisibility ffVisibility,
+    required bool twoFactorEnabled,
+    required bool usePasswordLessLogin,
+    required bool securityKeys,
+    List<UserRole>? roles,
+    String? memo,
+  }) = _UserDetailedNotMe;
+
+  factory UserDetailedNotMe.fromJson(Map<String, Object?> json) =>
+      _$UserDetailedNotMeFromJson(json);
+}
+
+@freezed
+class UserDetailedNotMeWithRelations
+    with _$UserDetailedNotMeWithRelations
+    implements UserDetailed {
+  const factory UserDetailedNotMeWithRelations({
+    required String id,
+    String? name,
+    required String username,
+    String? host,
     @UriConverter() required Uri avatarUrl,
+    String? avatarBlurhash,
     @Default([]) List<UserAvatarDecoration> avatarDecorations,
+    required bool isBot,
+    required bool isCat,
+    UserInstanceInfo? instance,
+    @EmojisConverter() @Default({}) Map<String, String> emojis,
+    @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+    @Default([]) List<UserBadgeRole> badgeRoles,
+    @NullableUriConverter() Uri? url,
+    @NullableUriConverter() Uri? uri,
+    @DateTimeConverter() required DateTime createdAt,
+    @NullableDateTimeConverter() DateTime? updatedAt,
+    @NullableDateTimeConverter() DateTime? lastFetchedAt,
+    @NullableUriConverter() Uri? bannerUrl,
+    String? bannerBlurhash,
+    required bool isLocked,
+    required bool isSilenced,
+    required bool isSuspended,
+    String? description,
+    String? location,
+    @NullableDateTimeConverter() DateTime? birthday,
+    String? lang,
+    List<UserField>? fields,
+    required int followersCount,
+    required int followingCount,
+    required int notesCount,
+    List<String>? pinnedNoteIds,
+    List<Note>? pinnedNotes,
+    String? pinnedPageId,
+    Map<String, dynamic>? pinnedPage,
+    required bool publicReactions,
+    required FFVisibility ffVisibility,
+    required bool twoFactorEnabled,
+    required bool usePasswordLessLogin,
+    required bool securityKeys,
+    List<UserRole>? roles,
+    String? memo,
+    required bool isFollowing,
+    required bool isFollowed,
+    required bool hasPendingFollowRequestFromYou,
+    required bool hasPendingFollowRequestToYou,
+    required bool isBlocking,
+    required bool isBlocked,
+    required bool isMuted,
+    required bool isRenoteMuted,
+  }) = _UserDetailedNotMeWithRelations;
+
+  factory UserDetailedNotMeWithRelations.fromJson(Map<String, Object?> json) =>
+      _$UserDetailedNotMeWithRelationsFromJson(json);
+}
+
+@freezed
+class MeDetailed with _$MeDetailed implements UserDetailed {
+  const factory MeDetailed({
+    required String id,
+    String? name,
+    required String username,
+    String? host,
+    @UriConverter() required Uri avatarUrl,
     String? avatarBlurhash,
+    @Default([]) List<UserAvatarDecoration> avatarDecorations,
+    required bool isBot,
+    required bool isCat,
     UserInstanceInfo? instance,
-    @Default(false) bool isCat,
-    @Default(false) bool isBot,
     @EmojisConverter() @Default({}) Map<String, String> emojis,
-  }) = _User;
+    @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+    @Default([]) List<UserBadgeRole> badgeRoles,
+    @NullableUriConverter() Uri? url,
+    @NullableUriConverter() Uri? uri,
+    @DateTimeConverter() required DateTime createdAt,
+    @NullableDateTimeConverter() DateTime? updatedAt,
+    @NullableDateTimeConverter() DateTime? lastFetchedAt,
+    @NullableUriConverter() Uri? bannerUrl,
+    String? bannerBlurhash,
+    required bool isLocked,
+    required bool isSilenced,
+    required bool isSuspended,
+    String? description,
+    String? location,
+    @NullableDateTimeConverter() DateTime? birthday,
+    String? lang,
+    List<UserField>? fields,
+    required int followersCount,
+    required int followingCount,
+    required int notesCount,
+    List<String>? pinnedNoteIds,
+    List<Note>? pinnedNotes,
+    String? pinnedPageId,
+    Map<String, dynamic>? pinnedPage,
+    required bool publicReactions,
+    required FFVisibility ffVisibility,
+    required bool twoFactorEnabled,
+    required bool usePasswordLessLogin,
+    required bool securityKeys,
+    List<UserRole>? roles,
+    String? memo,
+    String? avatarId,
+    String? bannerId,
+    required bool isModerator,
+    required bool isAdmin,
+    required bool injectFeaturedNote,
+    required bool receiveAnnouncementEmail,
+    required bool alwaysMarkNsfw,
+    required bool autoSensitive,
+    required bool carefulBot,
+    required bool autoAcceptFollowed,
+    required bool noCrawle,
+    required bool isExplorable,
+    required bool isDeleted,
+    required bool hideOnlineStatus,
+    required bool hasUnreadSpecifiedNotes,
+    required bool hasUnreadMentions,
+    required bool hasUnreadAnnouncement,
+    required bool hasUnreadAntenna,
+    required bool hasUnreadChannel,
+    required bool hasUnreadNotification,
+    required bool hasPendingReceivedFollowRequest,
+    @Default([]) List<AnnouncementsResponse> unreadAnnouncements,
+    @MuteWordsConverter() required List<MuteWord> mutedWords,
+    required List<String> mutedInstances,
+    @Deprecated("Deprecated in Misskey 2023.9.2")
+    List<String>? mutingNotificationTypes,
+    dynamic notificationRecieveConfig,
+    required List<String> emailNotificationTypes,
+    required List<UserAchievement> achievements,
+    required int loggedInDays,
+    required UserPolicies policies,
+  }) = _MeDetailed;
 
-  factory User.fromJson(Map<String, Object?> json) => _$UserFromJson(json);
+  factory MeDetailed.fromJson(Map<String, Object?> json) =>
+      _$MeDetailedFromJson(json);
 }
 
 @freezed
@@ -130,3 +401,10 @@ class UserField with _$UserField {
   factory UserField.fromJson(Map<String, Object?> json) =>
       _$UserFieldFromJson(json);
 }
+
+class MuteWord {
+  final String? regExp;
+  final List<String>? content;
+
+  const MuteWord({this.regExp, this.content});
+}
diff --git a/lib/src/data/base/user.freezed.dart b/lib/src/data/base/user.freezed.dart
index 4367daee..4b6754e1 100644
--- a/lib/src/data/base/user.freezed.dart
+++ b/lib/src/data/base/user.freezed.dart
@@ -14,62 +14,63 @@ T _$identity<T>(T value) => value;
 final _privateConstructorUsedError = UnsupportedError(
     'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
 
-User _$UserFromJson(Map<String, dynamic> json) {
-  return _User.fromJson(json);
+UserLite _$UserLiteFromJson(Map<String, dynamic> json) {
+  return _UserLite.fromJson(json);
 }
 
 /// @nodoc
-mixin _$User {
+mixin _$UserLite {
   String get id => throw _privateConstructorUsedError;
+  String? get name => throw _privateConstructorUsedError;
   String get username => throw _privateConstructorUsedError;
   String? get host => throw _privateConstructorUsedError;
-  String? get name => throw _privateConstructorUsedError;
-  @OnlineStatusJsonConverter()
-  OnlineStatus? get onlineStatus => throw _privateConstructorUsedError;
-  List<UserBadgeRole> get badgeRoles => throw _privateConstructorUsedError;
   @UriConverter()
   Uri get avatarUrl => throw _privateConstructorUsedError;
+  String? get avatarBlurhash => throw _privateConstructorUsedError;
   List<UserAvatarDecoration> get avatarDecorations =>
       throw _privateConstructorUsedError;
-  String? get avatarBlurhash => throw _privateConstructorUsedError;
-  UserInstanceInfo? get instance => throw _privateConstructorUsedError;
-  bool get isCat => throw _privateConstructorUsedError;
   bool get isBot => throw _privateConstructorUsedError;
+  bool get isCat => throw _privateConstructorUsedError;
+  UserInstanceInfo? get instance => throw _privateConstructorUsedError;
   @EmojisConverter()
   Map<String, String> get emojis => throw _privateConstructorUsedError;
+  @OnlineStatusJsonConverter()
+  OnlineStatus? get onlineStatus => throw _privateConstructorUsedError;
+  List<UserBadgeRole> get badgeRoles => throw _privateConstructorUsedError;
 
   Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
   @JsonKey(ignore: true)
-  $UserCopyWith<User> get copyWith => throw _privateConstructorUsedError;
+  $UserLiteCopyWith<UserLite> get copyWith =>
+      throw _privateConstructorUsedError;
 }
 
 /// @nodoc
-abstract class $UserCopyWith<$Res> {
-  factory $UserCopyWith(User value, $Res Function(User) then) =
-      _$UserCopyWithImpl<$Res, User>;
+abstract class $UserLiteCopyWith<$Res> {
+  factory $UserLiteCopyWith(UserLite value, $Res Function(UserLite) then) =
+      _$UserLiteCopyWithImpl<$Res, UserLite>;
   @useResult
   $Res call(
       {String id,
+      String? name,
       String username,
       String? host,
-      String? name,
-      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
-      List<UserBadgeRole> badgeRoles,
       @UriConverter() Uri avatarUrl,
-      List<UserAvatarDecoration> avatarDecorations,
       String? avatarBlurhash,
-      UserInstanceInfo? instance,
-      bool isCat,
+      List<UserAvatarDecoration> avatarDecorations,
       bool isBot,
-      @EmojisConverter() Map<String, String> emojis});
+      bool isCat,
+      UserInstanceInfo? instance,
+      @EmojisConverter() Map<String, String> emojis,
+      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+      List<UserBadgeRole> badgeRoles});
 
   $UserInstanceInfoCopyWith<$Res>? get instance;
 }
 
 /// @nodoc
-class _$UserCopyWithImpl<$Res, $Val extends User>
-    implements $UserCopyWith<$Res> {
-  _$UserCopyWithImpl(this._value, this._then);
+class _$UserLiteCopyWithImpl<$Res, $Val extends UserLite>
+    implements $UserLiteCopyWith<$Res> {
+  _$UserLiteCopyWithImpl(this._value, this._then);
 
   // ignore: unused_field
   final $Val _value;
@@ -80,24 +81,28 @@ class _$UserCopyWithImpl<$Res, $Val extends User>
   @override
   $Res call({
     Object? id = null,
+    Object? name = freezed,
     Object? username = null,
     Object? host = freezed,
-    Object? name = freezed,
-    Object? onlineStatus = freezed,
-    Object? badgeRoles = null,
     Object? avatarUrl = null,
-    Object? avatarDecorations = null,
     Object? avatarBlurhash = freezed,
-    Object? instance = freezed,
-    Object? isCat = null,
+    Object? avatarDecorations = null,
     Object? isBot = null,
+    Object? isCat = null,
+    Object? instance = freezed,
     Object? emojis = null,
+    Object? onlineStatus = freezed,
+    Object? badgeRoles = null,
   }) {
     return _then(_value.copyWith(
       id: null == id
           ? _value.id
           : id // ignore: cast_nullable_to_non_nullable
               as String,
+      name: freezed == name
+          ? _value.name
+          : name // ignore: cast_nullable_to_non_nullable
+              as String?,
       username: null == username
           ? _value.username
           : username // ignore: cast_nullable_to_non_nullable
@@ -106,46 +111,42 @@ class _$UserCopyWithImpl<$Res, $Val extends User>
           ? _value.host
           : host // ignore: cast_nullable_to_non_nullable
               as String?,
-      name: freezed == name
-          ? _value.name
-          : name // ignore: cast_nullable_to_non_nullable
-              as String?,
-      onlineStatus: freezed == onlineStatus
-          ? _value.onlineStatus
-          : onlineStatus // ignore: cast_nullable_to_non_nullable
-              as OnlineStatus?,
-      badgeRoles: null == badgeRoles
-          ? _value.badgeRoles
-          : badgeRoles // ignore: cast_nullable_to_non_nullable
-              as List<UserBadgeRole>,
       avatarUrl: null == avatarUrl
           ? _value.avatarUrl
           : avatarUrl // ignore: cast_nullable_to_non_nullable
               as Uri,
-      avatarDecorations: null == avatarDecorations
-          ? _value.avatarDecorations
-          : avatarDecorations // ignore: cast_nullable_to_non_nullable
-              as List<UserAvatarDecoration>,
       avatarBlurhash: freezed == avatarBlurhash
           ? _value.avatarBlurhash
           : avatarBlurhash // ignore: cast_nullable_to_non_nullable
               as String?,
-      instance: freezed == instance
-          ? _value.instance
-          : instance // ignore: cast_nullable_to_non_nullable
-              as UserInstanceInfo?,
-      isCat: null == isCat
-          ? _value.isCat
-          : isCat // ignore: cast_nullable_to_non_nullable
-              as bool,
+      avatarDecorations: null == avatarDecorations
+          ? _value.avatarDecorations
+          : avatarDecorations // ignore: cast_nullable_to_non_nullable
+              as List<UserAvatarDecoration>,
       isBot: null == isBot
           ? _value.isBot
           : isBot // ignore: cast_nullable_to_non_nullable
               as bool,
+      isCat: null == isCat
+          ? _value.isCat
+          : isCat // ignore: cast_nullable_to_non_nullable
+              as bool,
+      instance: freezed == instance
+          ? _value.instance
+          : instance // ignore: cast_nullable_to_non_nullable
+              as UserInstanceInfo?,
       emojis: null == emojis
           ? _value.emojis
           : emojis // ignore: cast_nullable_to_non_nullable
               as Map<String, String>,
+      onlineStatus: freezed == onlineStatus
+          ? _value.onlineStatus
+          : onlineStatus // ignore: cast_nullable_to_non_nullable
+              as OnlineStatus?,
+      badgeRoles: null == badgeRoles
+          ? _value.badgeRoles
+          : badgeRoles // ignore: cast_nullable_to_non_nullable
+              as List<UserBadgeRole>,
     ) as $Val);
   }
 
@@ -163,58 +164,65 @@ class _$UserCopyWithImpl<$Res, $Val extends User>
 }
 
 /// @nodoc
-abstract class _$$_UserCopyWith<$Res> implements $UserCopyWith<$Res> {
-  factory _$$_UserCopyWith(_$_User value, $Res Function(_$_User) then) =
-      __$$_UserCopyWithImpl<$Res>;
+abstract class _$$_UserLiteCopyWith<$Res> implements $UserLiteCopyWith<$Res> {
+  factory _$$_UserLiteCopyWith(
+          _$_UserLite value, $Res Function(_$_UserLite) then) =
+      __$$_UserLiteCopyWithImpl<$Res>;
   @override
   @useResult
   $Res call(
       {String id,
+      String? name,
       String username,
       String? host,
-      String? name,
-      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
-      List<UserBadgeRole> badgeRoles,
       @UriConverter() Uri avatarUrl,
-      List<UserAvatarDecoration> avatarDecorations,
       String? avatarBlurhash,
-      UserInstanceInfo? instance,
-      bool isCat,
+      List<UserAvatarDecoration> avatarDecorations,
       bool isBot,
-      @EmojisConverter() Map<String, String> emojis});
+      bool isCat,
+      UserInstanceInfo? instance,
+      @EmojisConverter() Map<String, String> emojis,
+      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+      List<UserBadgeRole> badgeRoles});
 
   @override
   $UserInstanceInfoCopyWith<$Res>? get instance;
 }
 
 /// @nodoc
-class __$$_UserCopyWithImpl<$Res> extends _$UserCopyWithImpl<$Res, _$_User>
-    implements _$$_UserCopyWith<$Res> {
-  __$$_UserCopyWithImpl(_$_User _value, $Res Function(_$_User) _then)
+class __$$_UserLiteCopyWithImpl<$Res>
+    extends _$UserLiteCopyWithImpl<$Res, _$_UserLite>
+    implements _$$_UserLiteCopyWith<$Res> {
+  __$$_UserLiteCopyWithImpl(
+      _$_UserLite _value, $Res Function(_$_UserLite) _then)
       : super(_value, _then);
 
   @pragma('vm:prefer-inline')
   @override
   $Res call({
     Object? id = null,
+    Object? name = freezed,
     Object? username = null,
     Object? host = freezed,
-    Object? name = freezed,
-    Object? onlineStatus = freezed,
-    Object? badgeRoles = null,
     Object? avatarUrl = null,
-    Object? avatarDecorations = null,
     Object? avatarBlurhash = freezed,
-    Object? instance = freezed,
-    Object? isCat = null,
+    Object? avatarDecorations = null,
     Object? isBot = null,
+    Object? isCat = null,
+    Object? instance = freezed,
     Object? emojis = null,
+    Object? onlineStatus = freezed,
+    Object? badgeRoles = null,
   }) {
-    return _then(_$_User(
+    return _then(_$_UserLite(
       id: null == id
           ? _value.id
           : id // ignore: cast_nullable_to_non_nullable
               as String,
+      name: freezed == name
+          ? _value.name
+          : name // ignore: cast_nullable_to_non_nullable
+              as String?,
       username: null == username
           ? _value.username
           : username // ignore: cast_nullable_to_non_nullable
@@ -223,96 +231,83 @@ class __$$_UserCopyWithImpl<$Res> extends _$UserCopyWithImpl<$Res, _$_User>
           ? _value.host
           : host // ignore: cast_nullable_to_non_nullable
               as String?,
-      name: freezed == name
-          ? _value.name
-          : name // ignore: cast_nullable_to_non_nullable
-              as String?,
-      onlineStatus: freezed == onlineStatus
-          ? _value.onlineStatus
-          : onlineStatus // ignore: cast_nullable_to_non_nullable
-              as OnlineStatus?,
-      badgeRoles: null == badgeRoles
-          ? _value._badgeRoles
-          : badgeRoles // ignore: cast_nullable_to_non_nullable
-              as List<UserBadgeRole>,
       avatarUrl: null == avatarUrl
           ? _value.avatarUrl
           : avatarUrl // ignore: cast_nullable_to_non_nullable
               as Uri,
-      avatarDecorations: null == avatarDecorations
-          ? _value._avatarDecorations
-          : avatarDecorations // ignore: cast_nullable_to_non_nullable
-              as List<UserAvatarDecoration>,
       avatarBlurhash: freezed == avatarBlurhash
           ? _value.avatarBlurhash
           : avatarBlurhash // ignore: cast_nullable_to_non_nullable
               as String?,
-      instance: freezed == instance
-          ? _value.instance
-          : instance // ignore: cast_nullable_to_non_nullable
-              as UserInstanceInfo?,
-      isCat: null == isCat
-          ? _value.isCat
-          : isCat // ignore: cast_nullable_to_non_nullable
-              as bool,
+      avatarDecorations: null == avatarDecorations
+          ? _value._avatarDecorations
+          : avatarDecorations // ignore: cast_nullable_to_non_nullable
+              as List<UserAvatarDecoration>,
       isBot: null == isBot
           ? _value.isBot
           : isBot // ignore: cast_nullable_to_non_nullable
               as bool,
+      isCat: null == isCat
+          ? _value.isCat
+          : isCat // ignore: cast_nullable_to_non_nullable
+              as bool,
+      instance: freezed == instance
+          ? _value.instance
+          : instance // ignore: cast_nullable_to_non_nullable
+              as UserInstanceInfo?,
       emojis: null == emojis
           ? _value._emojis
           : emojis // ignore: cast_nullable_to_non_nullable
               as Map<String, String>,
+      onlineStatus: freezed == onlineStatus
+          ? _value.onlineStatus
+          : onlineStatus // ignore: cast_nullable_to_non_nullable
+              as OnlineStatus?,
+      badgeRoles: null == badgeRoles
+          ? _value._badgeRoles
+          : badgeRoles // ignore: cast_nullable_to_non_nullable
+              as List<UserBadgeRole>,
     ));
   }
 }
 
 /// @nodoc
 @JsonSerializable()
-class _$_User implements _User {
-  const _$_User(
+class _$_UserLite implements _UserLite {
+  const _$_UserLite(
       {required this.id,
+      this.name,
       required this.username,
       this.host,
-      this.name,
-      @OnlineStatusJsonConverter() this.onlineStatus,
-      final List<UserBadgeRole> badgeRoles = const [],
       @UriConverter() required this.avatarUrl,
-      final List<UserAvatarDecoration> avatarDecorations = const [],
       this.avatarBlurhash,
-      this.instance,
-      this.isCat = false,
+      final List<UserAvatarDecoration> avatarDecorations = const [],
       this.isBot = false,
-      @EmojisConverter() final Map<String, String> emojis = const {}})
-      : _badgeRoles = badgeRoles,
-        _avatarDecorations = avatarDecorations,
-        _emojis = emojis;
+      this.isCat = false,
+      this.instance,
+      @EmojisConverter() final Map<String, String> emojis = const {},
+      @OnlineStatusJsonConverter() this.onlineStatus,
+      final List<UserBadgeRole> badgeRoles = const []})
+      : _avatarDecorations = avatarDecorations,
+        _emojis = emojis,
+        _badgeRoles = badgeRoles;
 
-  factory _$_User.fromJson(Map<String, dynamic> json) => _$$_UserFromJson(json);
+  factory _$_UserLite.fromJson(Map<String, dynamic> json) =>
+      _$$_UserLiteFromJson(json);
 
   @override
   final String id;
   @override
-  final String username;
-  @override
-  final String? host;
-  @override
   final String? name;
   @override
-  @OnlineStatusJsonConverter()
-  final OnlineStatus? onlineStatus;
-  final List<UserBadgeRole> _badgeRoles;
+  final String username;
   @override
-  @JsonKey()
-  List<UserBadgeRole> get badgeRoles {
-    if (_badgeRoles is EqualUnmodifiableListView) return _badgeRoles;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_badgeRoles);
-  }
-
+  final String? host;
   @override
   @UriConverter()
   final Uri avatarUrl;
+  @override
+  final String? avatarBlurhash;
   final List<UserAvatarDecoration> _avatarDecorations;
   @override
   @JsonKey()
@@ -324,15 +319,13 @@ class _$_User implements _User {
   }
 
   @override
-  final String? avatarBlurhash;
-  @override
-  final UserInstanceInfo? instance;
+  @JsonKey()
+  final bool isBot;
   @override
   @JsonKey()
   final bool isCat;
   @override
-  @JsonKey()
-  final bool isBot;
+  final UserInstanceInfo? instance;
   final Map<String, String> _emojis;
   @override
   @JsonKey()
@@ -343,36 +336,48 @@ class _$_User implements _User {
     return EqualUnmodifiableMapView(_emojis);
   }
 
+  @override
+  @OnlineStatusJsonConverter()
+  final OnlineStatus? onlineStatus;
+  final List<UserBadgeRole> _badgeRoles;
+  @override
+  @JsonKey()
+  List<UserBadgeRole> get badgeRoles {
+    if (_badgeRoles is EqualUnmodifiableListView) return _badgeRoles;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_badgeRoles);
+  }
+
   @override
   String toString() {
-    return 'User(id: $id, username: $username, host: $host, name: $name, onlineStatus: $onlineStatus, badgeRoles: $badgeRoles, avatarUrl: $avatarUrl, avatarDecorations: $avatarDecorations, avatarBlurhash: $avatarBlurhash, instance: $instance, isCat: $isCat, isBot: $isBot, emojis: $emojis)';
+    return 'UserLite(id: $id, name: $name, username: $username, host: $host, avatarUrl: $avatarUrl, avatarBlurhash: $avatarBlurhash, avatarDecorations: $avatarDecorations, isBot: $isBot, isCat: $isCat, instance: $instance, emojis: $emojis, onlineStatus: $onlineStatus, badgeRoles: $badgeRoles)';
   }
 
   @override
   bool operator ==(dynamic other) {
     return identical(this, other) ||
         (other.runtimeType == runtimeType &&
-            other is _$_User &&
+            other is _$_UserLite &&
             (identical(other.id, id) || other.id == id) &&
+            (identical(other.name, name) || other.name == name) &&
             (identical(other.username, username) ||
                 other.username == username) &&
             (identical(other.host, host) || other.host == host) &&
-            (identical(other.name, name) || other.name == name) &&
-            (identical(other.onlineStatus, onlineStatus) ||
-                other.onlineStatus == onlineStatus) &&
-            const DeepCollectionEquality()
-                .equals(other._badgeRoles, _badgeRoles) &&
             (identical(other.avatarUrl, avatarUrl) ||
                 other.avatarUrl == avatarUrl) &&
-            const DeepCollectionEquality()
-                .equals(other._avatarDecorations, _avatarDecorations) &&
             (identical(other.avatarBlurhash, avatarBlurhash) ||
                 other.avatarBlurhash == avatarBlurhash) &&
+            const DeepCollectionEquality()
+                .equals(other._avatarDecorations, _avatarDecorations) &&
+            (identical(other.isBot, isBot) || other.isBot == isBot) &&
+            (identical(other.isCat, isCat) || other.isCat == isCat) &&
             (identical(other.instance, instance) ||
                 other.instance == instance) &&
-            (identical(other.isCat, isCat) || other.isCat == isCat) &&
-            (identical(other.isBot, isBot) || other.isBot == isBot) &&
-            const DeepCollectionEquality().equals(other._emojis, _emojis));
+            const DeepCollectionEquality().equals(other._emojis, _emojis) &&
+            (identical(other.onlineStatus, onlineStatus) ||
+                other.onlineStatus == onlineStatus) &&
+            const DeepCollectionEquality()
+                .equals(other._badgeRoles, _badgeRoles));
   }
 
   @JsonKey(ignore: true)
@@ -380,83 +385,4444 @@ class _$_User implements _User {
   int get hashCode => Object.hash(
       runtimeType,
       id,
+      name,
       username,
       host,
-      name,
-      onlineStatus,
-      const DeepCollectionEquality().hash(_badgeRoles),
       avatarUrl,
-      const DeepCollectionEquality().hash(_avatarDecorations),
       avatarBlurhash,
-      instance,
-      isCat,
+      const DeepCollectionEquality().hash(_avatarDecorations),
       isBot,
-      const DeepCollectionEquality().hash(_emojis));
+      isCat,
+      instance,
+      const DeepCollectionEquality().hash(_emojis),
+      onlineStatus,
+      const DeepCollectionEquality().hash(_badgeRoles));
 
   @JsonKey(ignore: true)
   @override
   @pragma('vm:prefer-inline')
-  _$$_UserCopyWith<_$_User> get copyWith =>
-      __$$_UserCopyWithImpl<_$_User>(this, _$identity);
+  _$$_UserLiteCopyWith<_$_UserLite> get copyWith =>
+      __$$_UserLiteCopyWithImpl<_$_UserLite>(this, _$identity);
 
   @override
   Map<String, dynamic> toJson() {
-    return _$$_UserToJson(
+    return _$$_UserLiteToJson(
       this,
     );
   }
 }
 
-abstract class _User implements User {
-  const factory _User(
+abstract class _UserLite implements UserLite {
+  const factory _UserLite(
       {required final String id,
+      final String? name,
       required final String username,
       final String? host,
-      final String? name,
-      @OnlineStatusJsonConverter() final OnlineStatus? onlineStatus,
-      final List<UserBadgeRole> badgeRoles,
       @UriConverter() required final Uri avatarUrl,
-      final List<UserAvatarDecoration> avatarDecorations,
       final String? avatarBlurhash,
-      final UserInstanceInfo? instance,
-      final bool isCat,
+      final List<UserAvatarDecoration> avatarDecorations,
       final bool isBot,
-      @EmojisConverter() final Map<String, String> emojis}) = _$_User;
+      final bool isCat,
+      final UserInstanceInfo? instance,
+      @EmojisConverter() final Map<String, String> emojis,
+      @OnlineStatusJsonConverter() final OnlineStatus? onlineStatus,
+      final List<UserBadgeRole> badgeRoles}) = _$_UserLite;
 
-  factory _User.fromJson(Map<String, dynamic> json) = _$_User.fromJson;
+  factory _UserLite.fromJson(Map<String, dynamic> json) = _$_UserLite.fromJson;
 
   @override
   String get id;
   @override
-  String get username;
-  @override
-  String? get host;
-  @override
   String? get name;
   @override
-  @OnlineStatusJsonConverter()
-  OnlineStatus? get onlineStatus;
+  String get username;
   @override
-  List<UserBadgeRole> get badgeRoles;
+  String? get host;
   @override
   @UriConverter()
   Uri get avatarUrl;
   @override
-  List<UserAvatarDecoration> get avatarDecorations;
-  @override
   String? get avatarBlurhash;
   @override
-  UserInstanceInfo? get instance;
+  List<UserAvatarDecoration> get avatarDecorations;
+  @override
+  bool get isBot;
+  @override
+  bool get isCat;
+  @override
+  UserInstanceInfo? get instance;
+  @override
+  @EmojisConverter()
+  Map<String, String> get emojis;
+  @override
+  @OnlineStatusJsonConverter()
+  OnlineStatus? get onlineStatus;
+  @override
+  List<UserBadgeRole> get badgeRoles;
+  @override
+  @JsonKey(ignore: true)
+  _$$_UserLiteCopyWith<_$_UserLite> get copyWith =>
+      throw _privateConstructorUsedError;
+}
+
+UserDetailedNotMe _$UserDetailedNotMeFromJson(Map<String, dynamic> json) {
+  return _UserDetailedNotMe.fromJson(json);
+}
+
+/// @nodoc
+mixin _$UserDetailedNotMe {
+  String get id => throw _privateConstructorUsedError;
+  String? get name => throw _privateConstructorUsedError;
+  String get username => throw _privateConstructorUsedError;
+  String? get host => throw _privateConstructorUsedError;
+  @UriConverter()
+  Uri get avatarUrl => throw _privateConstructorUsedError;
+  String? get avatarBlurhash => throw _privateConstructorUsedError;
+  List<UserAvatarDecoration> get avatarDecorations =>
+      throw _privateConstructorUsedError;
+  bool get isBot => throw _privateConstructorUsedError;
+  bool get isCat => throw _privateConstructorUsedError;
+  UserInstanceInfo? get instance => throw _privateConstructorUsedError;
+  @EmojisConverter()
+  Map<String, String> get emojis => throw _privateConstructorUsedError;
+  @OnlineStatusJsonConverter()
+  OnlineStatus? get onlineStatus => throw _privateConstructorUsedError;
+  List<UserBadgeRole> get badgeRoles => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get url => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get uri => throw _privateConstructorUsedError;
+  @DateTimeConverter()
+  DateTime get createdAt => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get updatedAt => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get lastFetchedAt => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get bannerUrl => throw _privateConstructorUsedError;
+  String? get bannerBlurhash => throw _privateConstructorUsedError;
+  bool get isLocked => throw _privateConstructorUsedError;
+  bool get isSilenced => throw _privateConstructorUsedError;
+  bool get isSuspended => throw _privateConstructorUsedError;
+  String? get description => throw _privateConstructorUsedError;
+  String? get location => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get birthday => throw _privateConstructorUsedError;
+  String? get lang => throw _privateConstructorUsedError;
+  List<UserField>? get fields => throw _privateConstructorUsedError;
+  int get followersCount => throw _privateConstructorUsedError;
+  int get followingCount => throw _privateConstructorUsedError;
+  int get notesCount => throw _privateConstructorUsedError;
+  List<String>? get pinnedNoteIds => throw _privateConstructorUsedError;
+  List<Note>? get pinnedNotes => throw _privateConstructorUsedError;
+  String? get pinnedPageId => throw _privateConstructorUsedError;
+  Map<String, dynamic>? get pinnedPage => throw _privateConstructorUsedError;
+  bool get publicReactions => throw _privateConstructorUsedError;
+  FFVisibility get ffVisibility => throw _privateConstructorUsedError;
+  bool get twoFactorEnabled => throw _privateConstructorUsedError;
+  bool get usePasswordLessLogin => throw _privateConstructorUsedError;
+  bool get securityKeys => throw _privateConstructorUsedError;
+  List<UserRole>? get roles => throw _privateConstructorUsedError;
+  String? get memo => throw _privateConstructorUsedError;
+
+  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
+  @JsonKey(ignore: true)
+  $UserDetailedNotMeCopyWith<UserDetailedNotMe> get copyWith =>
+      throw _privateConstructorUsedError;
+}
+
+/// @nodoc
+abstract class $UserDetailedNotMeCopyWith<$Res> {
+  factory $UserDetailedNotMeCopyWith(
+          UserDetailedNotMe value, $Res Function(UserDetailedNotMe) then) =
+      _$UserDetailedNotMeCopyWithImpl<$Res, UserDetailedNotMe>;
+  @useResult
+  $Res call(
+      {String id,
+      String? name,
+      String username,
+      String? host,
+      @UriConverter() Uri avatarUrl,
+      String? avatarBlurhash,
+      List<UserAvatarDecoration> avatarDecorations,
+      bool isBot,
+      bool isCat,
+      UserInstanceInfo? instance,
+      @EmojisConverter() Map<String, String> emojis,
+      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+      List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() Uri? url,
+      @NullableUriConverter() Uri? uri,
+      @DateTimeConverter() DateTime createdAt,
+      @NullableDateTimeConverter() DateTime? updatedAt,
+      @NullableDateTimeConverter() DateTime? lastFetchedAt,
+      @NullableUriConverter() Uri? bannerUrl,
+      String? bannerBlurhash,
+      bool isLocked,
+      bool isSilenced,
+      bool isSuspended,
+      String? description,
+      String? location,
+      @NullableDateTimeConverter() DateTime? birthday,
+      String? lang,
+      List<UserField>? fields,
+      int followersCount,
+      int followingCount,
+      int notesCount,
+      List<String>? pinnedNoteIds,
+      List<Note>? pinnedNotes,
+      String? pinnedPageId,
+      Map<String, dynamic>? pinnedPage,
+      bool publicReactions,
+      FFVisibility ffVisibility,
+      bool twoFactorEnabled,
+      bool usePasswordLessLogin,
+      bool securityKeys,
+      List<UserRole>? roles,
+      String? memo});
+
+  $UserInstanceInfoCopyWith<$Res>? get instance;
+}
+
+/// @nodoc
+class _$UserDetailedNotMeCopyWithImpl<$Res, $Val extends UserDetailedNotMe>
+    implements $UserDetailedNotMeCopyWith<$Res> {
+  _$UserDetailedNotMeCopyWithImpl(this._value, this._then);
+
+  // ignore: unused_field
+  final $Val _value;
+  // ignore: unused_field
+  final $Res Function($Val) _then;
+
+  @pragma('vm:prefer-inline')
+  @override
+  $Res call({
+    Object? id = null,
+    Object? name = freezed,
+    Object? username = null,
+    Object? host = freezed,
+    Object? avatarUrl = null,
+    Object? avatarBlurhash = freezed,
+    Object? avatarDecorations = null,
+    Object? isBot = null,
+    Object? isCat = null,
+    Object? instance = freezed,
+    Object? emojis = null,
+    Object? onlineStatus = freezed,
+    Object? badgeRoles = null,
+    Object? url = freezed,
+    Object? uri = freezed,
+    Object? createdAt = null,
+    Object? updatedAt = freezed,
+    Object? lastFetchedAt = freezed,
+    Object? bannerUrl = freezed,
+    Object? bannerBlurhash = freezed,
+    Object? isLocked = null,
+    Object? isSilenced = null,
+    Object? isSuspended = null,
+    Object? description = freezed,
+    Object? location = freezed,
+    Object? birthday = freezed,
+    Object? lang = freezed,
+    Object? fields = freezed,
+    Object? followersCount = null,
+    Object? followingCount = null,
+    Object? notesCount = null,
+    Object? pinnedNoteIds = freezed,
+    Object? pinnedNotes = freezed,
+    Object? pinnedPageId = freezed,
+    Object? pinnedPage = freezed,
+    Object? publicReactions = null,
+    Object? ffVisibility = null,
+    Object? twoFactorEnabled = null,
+    Object? usePasswordLessLogin = null,
+    Object? securityKeys = null,
+    Object? roles = freezed,
+    Object? memo = freezed,
+  }) {
+    return _then(_value.copyWith(
+      id: null == id
+          ? _value.id
+          : id // ignore: cast_nullable_to_non_nullable
+              as String,
+      name: freezed == name
+          ? _value.name
+          : name // ignore: cast_nullable_to_non_nullable
+              as String?,
+      username: null == username
+          ? _value.username
+          : username // ignore: cast_nullable_to_non_nullable
+              as String,
+      host: freezed == host
+          ? _value.host
+          : host // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarUrl: null == avatarUrl
+          ? _value.avatarUrl
+          : avatarUrl // ignore: cast_nullable_to_non_nullable
+              as Uri,
+      avatarBlurhash: freezed == avatarBlurhash
+          ? _value.avatarBlurhash
+          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarDecorations: null == avatarDecorations
+          ? _value.avatarDecorations
+          : avatarDecorations // ignore: cast_nullable_to_non_nullable
+              as List<UserAvatarDecoration>,
+      isBot: null == isBot
+          ? _value.isBot
+          : isBot // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isCat: null == isCat
+          ? _value.isCat
+          : isCat // ignore: cast_nullable_to_non_nullable
+              as bool,
+      instance: freezed == instance
+          ? _value.instance
+          : instance // ignore: cast_nullable_to_non_nullable
+              as UserInstanceInfo?,
+      emojis: null == emojis
+          ? _value.emojis
+          : emojis // ignore: cast_nullable_to_non_nullable
+              as Map<String, String>,
+      onlineStatus: freezed == onlineStatus
+          ? _value.onlineStatus
+          : onlineStatus // ignore: cast_nullable_to_non_nullable
+              as OnlineStatus?,
+      badgeRoles: null == badgeRoles
+          ? _value.badgeRoles
+          : badgeRoles // ignore: cast_nullable_to_non_nullable
+              as List<UserBadgeRole>,
+      url: freezed == url
+          ? _value.url
+          : url // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      uri: freezed == uri
+          ? _value.uri
+          : uri // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      createdAt: null == createdAt
+          ? _value.createdAt
+          : createdAt // ignore: cast_nullable_to_non_nullable
+              as DateTime,
+      updatedAt: freezed == updatedAt
+          ? _value.updatedAt
+          : updatedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lastFetchedAt: freezed == lastFetchedAt
+          ? _value.lastFetchedAt
+          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      bannerUrl: freezed == bannerUrl
+          ? _value.bannerUrl
+          : bannerUrl // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      bannerBlurhash: freezed == bannerBlurhash
+          ? _value.bannerBlurhash
+          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isLocked: null == isLocked
+          ? _value.isLocked
+          : isLocked // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSilenced: null == isSilenced
+          ? _value.isSilenced
+          : isSilenced // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSuspended: null == isSuspended
+          ? _value.isSuspended
+          : isSuspended // ignore: cast_nullable_to_non_nullable
+              as bool,
+      description: freezed == description
+          ? _value.description
+          : description // ignore: cast_nullable_to_non_nullable
+              as String?,
+      location: freezed == location
+          ? _value.location
+          : location // ignore: cast_nullable_to_non_nullable
+              as String?,
+      birthday: freezed == birthday
+          ? _value.birthday
+          : birthday // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lang: freezed == lang
+          ? _value.lang
+          : lang // ignore: cast_nullable_to_non_nullable
+              as String?,
+      fields: freezed == fields
+          ? _value.fields
+          : fields // ignore: cast_nullable_to_non_nullable
+              as List<UserField>?,
+      followersCount: null == followersCount
+          ? _value.followersCount
+          : followersCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      followingCount: null == followingCount
+          ? _value.followingCount
+          : followingCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      notesCount: null == notesCount
+          ? _value.notesCount
+          : notesCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      pinnedNoteIds: freezed == pinnedNoteIds
+          ? _value.pinnedNoteIds
+          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
+              as List<String>?,
+      pinnedNotes: freezed == pinnedNotes
+          ? _value.pinnedNotes
+          : pinnedNotes // ignore: cast_nullable_to_non_nullable
+              as List<Note>?,
+      pinnedPageId: freezed == pinnedPageId
+          ? _value.pinnedPageId
+          : pinnedPageId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      pinnedPage: freezed == pinnedPage
+          ? _value.pinnedPage
+          : pinnedPage // ignore: cast_nullable_to_non_nullable
+              as Map<String, dynamic>?,
+      publicReactions: null == publicReactions
+          ? _value.publicReactions
+          : publicReactions // ignore: cast_nullable_to_non_nullable
+              as bool,
+      ffVisibility: null == ffVisibility
+          ? _value.ffVisibility
+          : ffVisibility // ignore: cast_nullable_to_non_nullable
+              as FFVisibility,
+      twoFactorEnabled: null == twoFactorEnabled
+          ? _value.twoFactorEnabled
+          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
+              as bool,
+      usePasswordLessLogin: null == usePasswordLessLogin
+          ? _value.usePasswordLessLogin
+          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
+              as bool,
+      securityKeys: null == securityKeys
+          ? _value.securityKeys
+          : securityKeys // ignore: cast_nullable_to_non_nullable
+              as bool,
+      roles: freezed == roles
+          ? _value.roles
+          : roles // ignore: cast_nullable_to_non_nullable
+              as List<UserRole>?,
+      memo: freezed == memo
+          ? _value.memo
+          : memo // ignore: cast_nullable_to_non_nullable
+              as String?,
+    ) as $Val);
+  }
+
+  @override
+  @pragma('vm:prefer-inline')
+  $UserInstanceInfoCopyWith<$Res>? get instance {
+    if (_value.instance == null) {
+      return null;
+    }
+
+    return $UserInstanceInfoCopyWith<$Res>(_value.instance!, (value) {
+      return _then(_value.copyWith(instance: value) as $Val);
+    });
+  }
+}
+
+/// @nodoc
+abstract class _$$_UserDetailedNotMeCopyWith<$Res>
+    implements $UserDetailedNotMeCopyWith<$Res> {
+  factory _$$_UserDetailedNotMeCopyWith(_$_UserDetailedNotMe value,
+          $Res Function(_$_UserDetailedNotMe) then) =
+      __$$_UserDetailedNotMeCopyWithImpl<$Res>;
+  @override
+  @useResult
+  $Res call(
+      {String id,
+      String? name,
+      String username,
+      String? host,
+      @UriConverter() Uri avatarUrl,
+      String? avatarBlurhash,
+      List<UserAvatarDecoration> avatarDecorations,
+      bool isBot,
+      bool isCat,
+      UserInstanceInfo? instance,
+      @EmojisConverter() Map<String, String> emojis,
+      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+      List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() Uri? url,
+      @NullableUriConverter() Uri? uri,
+      @DateTimeConverter() DateTime createdAt,
+      @NullableDateTimeConverter() DateTime? updatedAt,
+      @NullableDateTimeConverter() DateTime? lastFetchedAt,
+      @NullableUriConverter() Uri? bannerUrl,
+      String? bannerBlurhash,
+      bool isLocked,
+      bool isSilenced,
+      bool isSuspended,
+      String? description,
+      String? location,
+      @NullableDateTimeConverter() DateTime? birthday,
+      String? lang,
+      List<UserField>? fields,
+      int followersCount,
+      int followingCount,
+      int notesCount,
+      List<String>? pinnedNoteIds,
+      List<Note>? pinnedNotes,
+      String? pinnedPageId,
+      Map<String, dynamic>? pinnedPage,
+      bool publicReactions,
+      FFVisibility ffVisibility,
+      bool twoFactorEnabled,
+      bool usePasswordLessLogin,
+      bool securityKeys,
+      List<UserRole>? roles,
+      String? memo});
+
+  @override
+  $UserInstanceInfoCopyWith<$Res>? get instance;
+}
+
+/// @nodoc
+class __$$_UserDetailedNotMeCopyWithImpl<$Res>
+    extends _$UserDetailedNotMeCopyWithImpl<$Res, _$_UserDetailedNotMe>
+    implements _$$_UserDetailedNotMeCopyWith<$Res> {
+  __$$_UserDetailedNotMeCopyWithImpl(
+      _$_UserDetailedNotMe _value, $Res Function(_$_UserDetailedNotMe) _then)
+      : super(_value, _then);
+
+  @pragma('vm:prefer-inline')
+  @override
+  $Res call({
+    Object? id = null,
+    Object? name = freezed,
+    Object? username = null,
+    Object? host = freezed,
+    Object? avatarUrl = null,
+    Object? avatarBlurhash = freezed,
+    Object? avatarDecorations = null,
+    Object? isBot = null,
+    Object? isCat = null,
+    Object? instance = freezed,
+    Object? emojis = null,
+    Object? onlineStatus = freezed,
+    Object? badgeRoles = null,
+    Object? url = freezed,
+    Object? uri = freezed,
+    Object? createdAt = null,
+    Object? updatedAt = freezed,
+    Object? lastFetchedAt = freezed,
+    Object? bannerUrl = freezed,
+    Object? bannerBlurhash = freezed,
+    Object? isLocked = null,
+    Object? isSilenced = null,
+    Object? isSuspended = null,
+    Object? description = freezed,
+    Object? location = freezed,
+    Object? birthday = freezed,
+    Object? lang = freezed,
+    Object? fields = freezed,
+    Object? followersCount = null,
+    Object? followingCount = null,
+    Object? notesCount = null,
+    Object? pinnedNoteIds = freezed,
+    Object? pinnedNotes = freezed,
+    Object? pinnedPageId = freezed,
+    Object? pinnedPage = freezed,
+    Object? publicReactions = null,
+    Object? ffVisibility = null,
+    Object? twoFactorEnabled = null,
+    Object? usePasswordLessLogin = null,
+    Object? securityKeys = null,
+    Object? roles = freezed,
+    Object? memo = freezed,
+  }) {
+    return _then(_$_UserDetailedNotMe(
+      id: null == id
+          ? _value.id
+          : id // ignore: cast_nullable_to_non_nullable
+              as String,
+      name: freezed == name
+          ? _value.name
+          : name // ignore: cast_nullable_to_non_nullable
+              as String?,
+      username: null == username
+          ? _value.username
+          : username // ignore: cast_nullable_to_non_nullable
+              as String,
+      host: freezed == host
+          ? _value.host
+          : host // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarUrl: null == avatarUrl
+          ? _value.avatarUrl
+          : avatarUrl // ignore: cast_nullable_to_non_nullable
+              as Uri,
+      avatarBlurhash: freezed == avatarBlurhash
+          ? _value.avatarBlurhash
+          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarDecorations: null == avatarDecorations
+          ? _value._avatarDecorations
+          : avatarDecorations // ignore: cast_nullable_to_non_nullable
+              as List<UserAvatarDecoration>,
+      isBot: null == isBot
+          ? _value.isBot
+          : isBot // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isCat: null == isCat
+          ? _value.isCat
+          : isCat // ignore: cast_nullable_to_non_nullable
+              as bool,
+      instance: freezed == instance
+          ? _value.instance
+          : instance // ignore: cast_nullable_to_non_nullable
+              as UserInstanceInfo?,
+      emojis: null == emojis
+          ? _value._emojis
+          : emojis // ignore: cast_nullable_to_non_nullable
+              as Map<String, String>,
+      onlineStatus: freezed == onlineStatus
+          ? _value.onlineStatus
+          : onlineStatus // ignore: cast_nullable_to_non_nullable
+              as OnlineStatus?,
+      badgeRoles: null == badgeRoles
+          ? _value._badgeRoles
+          : badgeRoles // ignore: cast_nullable_to_non_nullable
+              as List<UserBadgeRole>,
+      url: freezed == url
+          ? _value.url
+          : url // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      uri: freezed == uri
+          ? _value.uri
+          : uri // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      createdAt: null == createdAt
+          ? _value.createdAt
+          : createdAt // ignore: cast_nullable_to_non_nullable
+              as DateTime,
+      updatedAt: freezed == updatedAt
+          ? _value.updatedAt
+          : updatedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lastFetchedAt: freezed == lastFetchedAt
+          ? _value.lastFetchedAt
+          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      bannerUrl: freezed == bannerUrl
+          ? _value.bannerUrl
+          : bannerUrl // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      bannerBlurhash: freezed == bannerBlurhash
+          ? _value.bannerBlurhash
+          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isLocked: null == isLocked
+          ? _value.isLocked
+          : isLocked // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSilenced: null == isSilenced
+          ? _value.isSilenced
+          : isSilenced // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSuspended: null == isSuspended
+          ? _value.isSuspended
+          : isSuspended // ignore: cast_nullable_to_non_nullable
+              as bool,
+      description: freezed == description
+          ? _value.description
+          : description // ignore: cast_nullable_to_non_nullable
+              as String?,
+      location: freezed == location
+          ? _value.location
+          : location // ignore: cast_nullable_to_non_nullable
+              as String?,
+      birthday: freezed == birthday
+          ? _value.birthday
+          : birthday // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lang: freezed == lang
+          ? _value.lang
+          : lang // ignore: cast_nullable_to_non_nullable
+              as String?,
+      fields: freezed == fields
+          ? _value._fields
+          : fields // ignore: cast_nullable_to_non_nullable
+              as List<UserField>?,
+      followersCount: null == followersCount
+          ? _value.followersCount
+          : followersCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      followingCount: null == followingCount
+          ? _value.followingCount
+          : followingCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      notesCount: null == notesCount
+          ? _value.notesCount
+          : notesCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      pinnedNoteIds: freezed == pinnedNoteIds
+          ? _value._pinnedNoteIds
+          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
+              as List<String>?,
+      pinnedNotes: freezed == pinnedNotes
+          ? _value._pinnedNotes
+          : pinnedNotes // ignore: cast_nullable_to_non_nullable
+              as List<Note>?,
+      pinnedPageId: freezed == pinnedPageId
+          ? _value.pinnedPageId
+          : pinnedPageId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      pinnedPage: freezed == pinnedPage
+          ? _value._pinnedPage
+          : pinnedPage // ignore: cast_nullable_to_non_nullable
+              as Map<String, dynamic>?,
+      publicReactions: null == publicReactions
+          ? _value.publicReactions
+          : publicReactions // ignore: cast_nullable_to_non_nullable
+              as bool,
+      ffVisibility: null == ffVisibility
+          ? _value.ffVisibility
+          : ffVisibility // ignore: cast_nullable_to_non_nullable
+              as FFVisibility,
+      twoFactorEnabled: null == twoFactorEnabled
+          ? _value.twoFactorEnabled
+          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
+              as bool,
+      usePasswordLessLogin: null == usePasswordLessLogin
+          ? _value.usePasswordLessLogin
+          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
+              as bool,
+      securityKeys: null == securityKeys
+          ? _value.securityKeys
+          : securityKeys // ignore: cast_nullable_to_non_nullable
+              as bool,
+      roles: freezed == roles
+          ? _value._roles
+          : roles // ignore: cast_nullable_to_non_nullable
+              as List<UserRole>?,
+      memo: freezed == memo
+          ? _value.memo
+          : memo // ignore: cast_nullable_to_non_nullable
+              as String?,
+    ));
+  }
+}
+
+/// @nodoc
+@JsonSerializable()
+class _$_UserDetailedNotMe implements _UserDetailedNotMe {
+  const _$_UserDetailedNotMe(
+      {required this.id,
+      this.name,
+      required this.username,
+      this.host,
+      @UriConverter() required this.avatarUrl,
+      this.avatarBlurhash,
+      final List<UserAvatarDecoration> avatarDecorations = const [],
+      required this.isBot,
+      required this.isCat,
+      this.instance,
+      @EmojisConverter() final Map<String, String> emojis = const {},
+      @OnlineStatusJsonConverter() this.onlineStatus,
+      final List<UserBadgeRole> badgeRoles = const [],
+      @NullableUriConverter() this.url,
+      @NullableUriConverter() this.uri,
+      @DateTimeConverter() required this.createdAt,
+      @NullableDateTimeConverter() this.updatedAt,
+      @NullableDateTimeConverter() this.lastFetchedAt,
+      @NullableUriConverter() this.bannerUrl,
+      this.bannerBlurhash,
+      required this.isLocked,
+      required this.isSilenced,
+      required this.isSuspended,
+      this.description,
+      this.location,
+      @NullableDateTimeConverter() this.birthday,
+      this.lang,
+      final List<UserField>? fields,
+      required this.followersCount,
+      required this.followingCount,
+      required this.notesCount,
+      final List<String>? pinnedNoteIds,
+      final List<Note>? pinnedNotes,
+      this.pinnedPageId,
+      final Map<String, dynamic>? pinnedPage,
+      required this.publicReactions,
+      required this.ffVisibility,
+      required this.twoFactorEnabled,
+      required this.usePasswordLessLogin,
+      required this.securityKeys,
+      final List<UserRole>? roles,
+      this.memo})
+      : _avatarDecorations = avatarDecorations,
+        _emojis = emojis,
+        _badgeRoles = badgeRoles,
+        _fields = fields,
+        _pinnedNoteIds = pinnedNoteIds,
+        _pinnedNotes = pinnedNotes,
+        _pinnedPage = pinnedPage,
+        _roles = roles;
+
+  factory _$_UserDetailedNotMe.fromJson(Map<String, dynamic> json) =>
+      _$$_UserDetailedNotMeFromJson(json);
+
+  @override
+  final String id;
+  @override
+  final String? name;
+  @override
+  final String username;
+  @override
+  final String? host;
+  @override
+  @UriConverter()
+  final Uri avatarUrl;
+  @override
+  final String? avatarBlurhash;
+  final List<UserAvatarDecoration> _avatarDecorations;
+  @override
+  @JsonKey()
+  List<UserAvatarDecoration> get avatarDecorations {
+    if (_avatarDecorations is EqualUnmodifiableListView)
+      return _avatarDecorations;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_avatarDecorations);
+  }
+
+  @override
+  final bool isBot;
+  @override
+  final bool isCat;
+  @override
+  final UserInstanceInfo? instance;
+  final Map<String, String> _emojis;
+  @override
+  @JsonKey()
+  @EmojisConverter()
+  Map<String, String> get emojis {
+    if (_emojis is EqualUnmodifiableMapView) return _emojis;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableMapView(_emojis);
+  }
+
+  @override
+  @OnlineStatusJsonConverter()
+  final OnlineStatus? onlineStatus;
+  final List<UserBadgeRole> _badgeRoles;
+  @override
+  @JsonKey()
+  List<UserBadgeRole> get badgeRoles {
+    if (_badgeRoles is EqualUnmodifiableListView) return _badgeRoles;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_badgeRoles);
+  }
+
+  @override
+  @NullableUriConverter()
+  final Uri? url;
+  @override
+  @NullableUriConverter()
+  final Uri? uri;
+  @override
+  @DateTimeConverter()
+  final DateTime createdAt;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? updatedAt;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? lastFetchedAt;
+  @override
+  @NullableUriConverter()
+  final Uri? bannerUrl;
+  @override
+  final String? bannerBlurhash;
+  @override
+  final bool isLocked;
+  @override
+  final bool isSilenced;
+  @override
+  final bool isSuspended;
+  @override
+  final String? description;
+  @override
+  final String? location;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? birthday;
+  @override
+  final String? lang;
+  final List<UserField>? _fields;
+  @override
+  List<UserField>? get fields {
+    final value = _fields;
+    if (value == null) return null;
+    if (_fields is EqualUnmodifiableListView) return _fields;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final int followersCount;
+  @override
+  final int followingCount;
+  @override
+  final int notesCount;
+  final List<String>? _pinnedNoteIds;
+  @override
+  List<String>? get pinnedNoteIds {
+    final value = _pinnedNoteIds;
+    if (value == null) return null;
+    if (_pinnedNoteIds is EqualUnmodifiableListView) return _pinnedNoteIds;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  final List<Note>? _pinnedNotes;
+  @override
+  List<Note>? get pinnedNotes {
+    final value = _pinnedNotes;
+    if (value == null) return null;
+    if (_pinnedNotes is EqualUnmodifiableListView) return _pinnedNotes;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final String? pinnedPageId;
+  final Map<String, dynamic>? _pinnedPage;
+  @override
+  Map<String, dynamic>? get pinnedPage {
+    final value = _pinnedPage;
+    if (value == null) return null;
+    if (_pinnedPage is EqualUnmodifiableMapView) return _pinnedPage;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableMapView(value);
+  }
+
+  @override
+  final bool publicReactions;
+  @override
+  final FFVisibility ffVisibility;
+  @override
+  final bool twoFactorEnabled;
+  @override
+  final bool usePasswordLessLogin;
+  @override
+  final bool securityKeys;
+  final List<UserRole>? _roles;
+  @override
+  List<UserRole>? get roles {
+    final value = _roles;
+    if (value == null) return null;
+    if (_roles is EqualUnmodifiableListView) return _roles;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final String? memo;
+
+  @override
+  String toString() {
+    return 'UserDetailedNotMe(id: $id, name: $name, username: $username, host: $host, avatarUrl: $avatarUrl, avatarBlurhash: $avatarBlurhash, avatarDecorations: $avatarDecorations, isBot: $isBot, isCat: $isCat, instance: $instance, emojis: $emojis, onlineStatus: $onlineStatus, badgeRoles: $badgeRoles, url: $url, uri: $uri, createdAt: $createdAt, updatedAt: $updatedAt, lastFetchedAt: $lastFetchedAt, bannerUrl: $bannerUrl, bannerBlurhash: $bannerBlurhash, isLocked: $isLocked, isSilenced: $isSilenced, isSuspended: $isSuspended, description: $description, location: $location, birthday: $birthday, lang: $lang, fields: $fields, followersCount: $followersCount, followingCount: $followingCount, notesCount: $notesCount, pinnedNoteIds: $pinnedNoteIds, pinnedNotes: $pinnedNotes, pinnedPageId: $pinnedPageId, pinnedPage: $pinnedPage, publicReactions: $publicReactions, ffVisibility: $ffVisibility, twoFactorEnabled: $twoFactorEnabled, usePasswordLessLogin: $usePasswordLessLogin, securityKeys: $securityKeys, roles: $roles, memo: $memo)';
+  }
+
+  @override
+  bool operator ==(dynamic other) {
+    return identical(this, other) ||
+        (other.runtimeType == runtimeType &&
+            other is _$_UserDetailedNotMe &&
+            (identical(other.id, id) || other.id == id) &&
+            (identical(other.name, name) || other.name == name) &&
+            (identical(other.username, username) ||
+                other.username == username) &&
+            (identical(other.host, host) || other.host == host) &&
+            (identical(other.avatarUrl, avatarUrl) ||
+                other.avatarUrl == avatarUrl) &&
+            (identical(other.avatarBlurhash, avatarBlurhash) ||
+                other.avatarBlurhash == avatarBlurhash) &&
+            const DeepCollectionEquality()
+                .equals(other._avatarDecorations, _avatarDecorations) &&
+            (identical(other.isBot, isBot) || other.isBot == isBot) &&
+            (identical(other.isCat, isCat) || other.isCat == isCat) &&
+            (identical(other.instance, instance) ||
+                other.instance == instance) &&
+            const DeepCollectionEquality().equals(other._emojis, _emojis) &&
+            (identical(other.onlineStatus, onlineStatus) ||
+                other.onlineStatus == onlineStatus) &&
+            const DeepCollectionEquality()
+                .equals(other._badgeRoles, _badgeRoles) &&
+            (identical(other.url, url) || other.url == url) &&
+            (identical(other.uri, uri) || other.uri == uri) &&
+            (identical(other.createdAt, createdAt) ||
+                other.createdAt == createdAt) &&
+            (identical(other.updatedAt, updatedAt) ||
+                other.updatedAt == updatedAt) &&
+            (identical(other.lastFetchedAt, lastFetchedAt) ||
+                other.lastFetchedAt == lastFetchedAt) &&
+            (identical(other.bannerUrl, bannerUrl) ||
+                other.bannerUrl == bannerUrl) &&
+            (identical(other.bannerBlurhash, bannerBlurhash) ||
+                other.bannerBlurhash == bannerBlurhash) &&
+            (identical(other.isLocked, isLocked) ||
+                other.isLocked == isLocked) &&
+            (identical(other.isSilenced, isSilenced) ||
+                other.isSilenced == isSilenced) &&
+            (identical(other.isSuspended, isSuspended) ||
+                other.isSuspended == isSuspended) &&
+            (identical(other.description, description) ||
+                other.description == description) &&
+            (identical(other.location, location) ||
+                other.location == location) &&
+            (identical(other.birthday, birthday) ||
+                other.birthday == birthday) &&
+            (identical(other.lang, lang) || other.lang == lang) &&
+            const DeepCollectionEquality().equals(other._fields, _fields) &&
+            (identical(other.followersCount, followersCount) ||
+                other.followersCount == followersCount) &&
+            (identical(other.followingCount, followingCount) ||
+                other.followingCount == followingCount) &&
+            (identical(other.notesCount, notesCount) ||
+                other.notesCount == notesCount) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedNoteIds, _pinnedNoteIds) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedNotes, _pinnedNotes) &&
+            (identical(other.pinnedPageId, pinnedPageId) ||
+                other.pinnedPageId == pinnedPageId) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedPage, _pinnedPage) &&
+            (identical(other.publicReactions, publicReactions) ||
+                other.publicReactions == publicReactions) &&
+            (identical(other.ffVisibility, ffVisibility) ||
+                other.ffVisibility == ffVisibility) &&
+            (identical(other.twoFactorEnabled, twoFactorEnabled) ||
+                other.twoFactorEnabled == twoFactorEnabled) &&
+            (identical(other.usePasswordLessLogin, usePasswordLessLogin) ||
+                other.usePasswordLessLogin == usePasswordLessLogin) &&
+            (identical(other.securityKeys, securityKeys) ||
+                other.securityKeys == securityKeys) &&
+            const DeepCollectionEquality().equals(other._roles, _roles) &&
+            (identical(other.memo, memo) || other.memo == memo));
+  }
+
+  @JsonKey(ignore: true)
+  @override
+  int get hashCode => Object.hashAll([
+        runtimeType,
+        id,
+        name,
+        username,
+        host,
+        avatarUrl,
+        avatarBlurhash,
+        const DeepCollectionEquality().hash(_avatarDecorations),
+        isBot,
+        isCat,
+        instance,
+        const DeepCollectionEquality().hash(_emojis),
+        onlineStatus,
+        const DeepCollectionEquality().hash(_badgeRoles),
+        url,
+        uri,
+        createdAt,
+        updatedAt,
+        lastFetchedAt,
+        bannerUrl,
+        bannerBlurhash,
+        isLocked,
+        isSilenced,
+        isSuspended,
+        description,
+        location,
+        birthday,
+        lang,
+        const DeepCollectionEquality().hash(_fields),
+        followersCount,
+        followingCount,
+        notesCount,
+        const DeepCollectionEquality().hash(_pinnedNoteIds),
+        const DeepCollectionEquality().hash(_pinnedNotes),
+        pinnedPageId,
+        const DeepCollectionEquality().hash(_pinnedPage),
+        publicReactions,
+        ffVisibility,
+        twoFactorEnabled,
+        usePasswordLessLogin,
+        securityKeys,
+        const DeepCollectionEquality().hash(_roles),
+        memo
+      ]);
+
+  @JsonKey(ignore: true)
+  @override
+  @pragma('vm:prefer-inline')
+  _$$_UserDetailedNotMeCopyWith<_$_UserDetailedNotMe> get copyWith =>
+      __$$_UserDetailedNotMeCopyWithImpl<_$_UserDetailedNotMe>(
+          this, _$identity);
+
+  @override
+  Map<String, dynamic> toJson() {
+    return _$$_UserDetailedNotMeToJson(
+      this,
+    );
+  }
+}
+
+abstract class _UserDetailedNotMe implements UserDetailedNotMe {
+  const factory _UserDetailedNotMe(
+      {required final String id,
+      final String? name,
+      required final String username,
+      final String? host,
+      @UriConverter() required final Uri avatarUrl,
+      final String? avatarBlurhash,
+      final List<UserAvatarDecoration> avatarDecorations,
+      required final bool isBot,
+      required final bool isCat,
+      final UserInstanceInfo? instance,
+      @EmojisConverter() final Map<String, String> emojis,
+      @OnlineStatusJsonConverter() final OnlineStatus? onlineStatus,
+      final List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() final Uri? url,
+      @NullableUriConverter() final Uri? uri,
+      @DateTimeConverter() required final DateTime createdAt,
+      @NullableDateTimeConverter() final DateTime? updatedAt,
+      @NullableDateTimeConverter() final DateTime? lastFetchedAt,
+      @NullableUriConverter() final Uri? bannerUrl,
+      final String? bannerBlurhash,
+      required final bool isLocked,
+      required final bool isSilenced,
+      required final bool isSuspended,
+      final String? description,
+      final String? location,
+      @NullableDateTimeConverter() final DateTime? birthday,
+      final String? lang,
+      final List<UserField>? fields,
+      required final int followersCount,
+      required final int followingCount,
+      required final int notesCount,
+      final List<String>? pinnedNoteIds,
+      final List<Note>? pinnedNotes,
+      final String? pinnedPageId,
+      final Map<String, dynamic>? pinnedPage,
+      required final bool publicReactions,
+      required final FFVisibility ffVisibility,
+      required final bool twoFactorEnabled,
+      required final bool usePasswordLessLogin,
+      required final bool securityKeys,
+      final List<UserRole>? roles,
+      final String? memo}) = _$_UserDetailedNotMe;
+
+  factory _UserDetailedNotMe.fromJson(Map<String, dynamic> json) =
+      _$_UserDetailedNotMe.fromJson;
+
+  @override
+  String get id;
+  @override
+  String? get name;
+  @override
+  String get username;
+  @override
+  String? get host;
+  @override
+  @UriConverter()
+  Uri get avatarUrl;
+  @override
+  String? get avatarBlurhash;
+  @override
+  List<UserAvatarDecoration> get avatarDecorations;
+  @override
+  bool get isBot;
+  @override
+  bool get isCat;
+  @override
+  UserInstanceInfo? get instance;
+  @override
+  @EmojisConverter()
+  Map<String, String> get emojis;
+  @override
+  @OnlineStatusJsonConverter()
+  OnlineStatus? get onlineStatus;
+  @override
+  List<UserBadgeRole> get badgeRoles;
+  @override
+  @NullableUriConverter()
+  Uri? get url;
+  @override
+  @NullableUriConverter()
+  Uri? get uri;
+  @override
+  @DateTimeConverter()
+  DateTime get createdAt;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get updatedAt;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get lastFetchedAt;
+  @override
+  @NullableUriConverter()
+  Uri? get bannerUrl;
+  @override
+  String? get bannerBlurhash;
+  @override
+  bool get isLocked;
+  @override
+  bool get isSilenced;
+  @override
+  bool get isSuspended;
+  @override
+  String? get description;
+  @override
+  String? get location;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get birthday;
+  @override
+  String? get lang;
+  @override
+  List<UserField>? get fields;
+  @override
+  int get followersCount;
+  @override
+  int get followingCount;
+  @override
+  int get notesCount;
+  @override
+  List<String>? get pinnedNoteIds;
+  @override
+  List<Note>? get pinnedNotes;
+  @override
+  String? get pinnedPageId;
+  @override
+  Map<String, dynamic>? get pinnedPage;
+  @override
+  bool get publicReactions;
+  @override
+  FFVisibility get ffVisibility;
+  @override
+  bool get twoFactorEnabled;
+  @override
+  bool get usePasswordLessLogin;
+  @override
+  bool get securityKeys;
+  @override
+  List<UserRole>? get roles;
+  @override
+  String? get memo;
+  @override
+  @JsonKey(ignore: true)
+  _$$_UserDetailedNotMeCopyWith<_$_UserDetailedNotMe> get copyWith =>
+      throw _privateConstructorUsedError;
+}
+
+UserDetailedNotMeWithRelations _$UserDetailedNotMeWithRelationsFromJson(
+    Map<String, dynamic> json) {
+  return _UserDetailedNotMeWithRelations.fromJson(json);
+}
+
+/// @nodoc
+mixin _$UserDetailedNotMeWithRelations {
+  String get id => throw _privateConstructorUsedError;
+  String? get name => throw _privateConstructorUsedError;
+  String get username => throw _privateConstructorUsedError;
+  String? get host => throw _privateConstructorUsedError;
+  @UriConverter()
+  Uri get avatarUrl => throw _privateConstructorUsedError;
+  String? get avatarBlurhash => throw _privateConstructorUsedError;
+  List<UserAvatarDecoration> get avatarDecorations =>
+      throw _privateConstructorUsedError;
+  bool get isBot => throw _privateConstructorUsedError;
+  bool get isCat => throw _privateConstructorUsedError;
+  UserInstanceInfo? get instance => throw _privateConstructorUsedError;
+  @EmojisConverter()
+  Map<String, String> get emojis => throw _privateConstructorUsedError;
+  @OnlineStatusJsonConverter()
+  OnlineStatus? get onlineStatus => throw _privateConstructorUsedError;
+  List<UserBadgeRole> get badgeRoles => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get url => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get uri => throw _privateConstructorUsedError;
+  @DateTimeConverter()
+  DateTime get createdAt => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get updatedAt => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get lastFetchedAt => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get bannerUrl => throw _privateConstructorUsedError;
+  String? get bannerBlurhash => throw _privateConstructorUsedError;
+  bool get isLocked => throw _privateConstructorUsedError;
+  bool get isSilenced => throw _privateConstructorUsedError;
+  bool get isSuspended => throw _privateConstructorUsedError;
+  String? get description => throw _privateConstructorUsedError;
+  String? get location => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get birthday => throw _privateConstructorUsedError;
+  String? get lang => throw _privateConstructorUsedError;
+  List<UserField>? get fields => throw _privateConstructorUsedError;
+  int get followersCount => throw _privateConstructorUsedError;
+  int get followingCount => throw _privateConstructorUsedError;
+  int get notesCount => throw _privateConstructorUsedError;
+  List<String>? get pinnedNoteIds => throw _privateConstructorUsedError;
+  List<Note>? get pinnedNotes => throw _privateConstructorUsedError;
+  String? get pinnedPageId => throw _privateConstructorUsedError;
+  Map<String, dynamic>? get pinnedPage => throw _privateConstructorUsedError;
+  bool get publicReactions => throw _privateConstructorUsedError;
+  FFVisibility get ffVisibility => throw _privateConstructorUsedError;
+  bool get twoFactorEnabled => throw _privateConstructorUsedError;
+  bool get usePasswordLessLogin => throw _privateConstructorUsedError;
+  bool get securityKeys => throw _privateConstructorUsedError;
+  List<UserRole>? get roles => throw _privateConstructorUsedError;
+  String? get memo => throw _privateConstructorUsedError;
+  bool get isFollowing => throw _privateConstructorUsedError;
+  bool get isFollowed => throw _privateConstructorUsedError;
+  bool get hasPendingFollowRequestFromYou => throw _privateConstructorUsedError;
+  bool get hasPendingFollowRequestToYou => throw _privateConstructorUsedError;
+  bool get isBlocking => throw _privateConstructorUsedError;
+  bool get isBlocked => throw _privateConstructorUsedError;
+  bool get isMuted => throw _privateConstructorUsedError;
+  bool get isRenoteMuted => throw _privateConstructorUsedError;
+
+  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
+  @JsonKey(ignore: true)
+  $UserDetailedNotMeWithRelationsCopyWith<UserDetailedNotMeWithRelations>
+      get copyWith => throw _privateConstructorUsedError;
+}
+
+/// @nodoc
+abstract class $UserDetailedNotMeWithRelationsCopyWith<$Res> {
+  factory $UserDetailedNotMeWithRelationsCopyWith(
+          UserDetailedNotMeWithRelations value,
+          $Res Function(UserDetailedNotMeWithRelations) then) =
+      _$UserDetailedNotMeWithRelationsCopyWithImpl<$Res,
+          UserDetailedNotMeWithRelations>;
+  @useResult
+  $Res call(
+      {String id,
+      String? name,
+      String username,
+      String? host,
+      @UriConverter() Uri avatarUrl,
+      String? avatarBlurhash,
+      List<UserAvatarDecoration> avatarDecorations,
+      bool isBot,
+      bool isCat,
+      UserInstanceInfo? instance,
+      @EmojisConverter() Map<String, String> emojis,
+      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+      List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() Uri? url,
+      @NullableUriConverter() Uri? uri,
+      @DateTimeConverter() DateTime createdAt,
+      @NullableDateTimeConverter() DateTime? updatedAt,
+      @NullableDateTimeConverter() DateTime? lastFetchedAt,
+      @NullableUriConverter() Uri? bannerUrl,
+      String? bannerBlurhash,
+      bool isLocked,
+      bool isSilenced,
+      bool isSuspended,
+      String? description,
+      String? location,
+      @NullableDateTimeConverter() DateTime? birthday,
+      String? lang,
+      List<UserField>? fields,
+      int followersCount,
+      int followingCount,
+      int notesCount,
+      List<String>? pinnedNoteIds,
+      List<Note>? pinnedNotes,
+      String? pinnedPageId,
+      Map<String, dynamic>? pinnedPage,
+      bool publicReactions,
+      FFVisibility ffVisibility,
+      bool twoFactorEnabled,
+      bool usePasswordLessLogin,
+      bool securityKeys,
+      List<UserRole>? roles,
+      String? memo,
+      bool isFollowing,
+      bool isFollowed,
+      bool hasPendingFollowRequestFromYou,
+      bool hasPendingFollowRequestToYou,
+      bool isBlocking,
+      bool isBlocked,
+      bool isMuted,
+      bool isRenoteMuted});
+
+  $UserInstanceInfoCopyWith<$Res>? get instance;
+}
+
+/// @nodoc
+class _$UserDetailedNotMeWithRelationsCopyWithImpl<$Res,
+        $Val extends UserDetailedNotMeWithRelations>
+    implements $UserDetailedNotMeWithRelationsCopyWith<$Res> {
+  _$UserDetailedNotMeWithRelationsCopyWithImpl(this._value, this._then);
+
+  // ignore: unused_field
+  final $Val _value;
+  // ignore: unused_field
+  final $Res Function($Val) _then;
+
+  @pragma('vm:prefer-inline')
+  @override
+  $Res call({
+    Object? id = null,
+    Object? name = freezed,
+    Object? username = null,
+    Object? host = freezed,
+    Object? avatarUrl = null,
+    Object? avatarBlurhash = freezed,
+    Object? avatarDecorations = null,
+    Object? isBot = null,
+    Object? isCat = null,
+    Object? instance = freezed,
+    Object? emojis = null,
+    Object? onlineStatus = freezed,
+    Object? badgeRoles = null,
+    Object? url = freezed,
+    Object? uri = freezed,
+    Object? createdAt = null,
+    Object? updatedAt = freezed,
+    Object? lastFetchedAt = freezed,
+    Object? bannerUrl = freezed,
+    Object? bannerBlurhash = freezed,
+    Object? isLocked = null,
+    Object? isSilenced = null,
+    Object? isSuspended = null,
+    Object? description = freezed,
+    Object? location = freezed,
+    Object? birthday = freezed,
+    Object? lang = freezed,
+    Object? fields = freezed,
+    Object? followersCount = null,
+    Object? followingCount = null,
+    Object? notesCount = null,
+    Object? pinnedNoteIds = freezed,
+    Object? pinnedNotes = freezed,
+    Object? pinnedPageId = freezed,
+    Object? pinnedPage = freezed,
+    Object? publicReactions = null,
+    Object? ffVisibility = null,
+    Object? twoFactorEnabled = null,
+    Object? usePasswordLessLogin = null,
+    Object? securityKeys = null,
+    Object? roles = freezed,
+    Object? memo = freezed,
+    Object? isFollowing = null,
+    Object? isFollowed = null,
+    Object? hasPendingFollowRequestFromYou = null,
+    Object? hasPendingFollowRequestToYou = null,
+    Object? isBlocking = null,
+    Object? isBlocked = null,
+    Object? isMuted = null,
+    Object? isRenoteMuted = null,
+  }) {
+    return _then(_value.copyWith(
+      id: null == id
+          ? _value.id
+          : id // ignore: cast_nullable_to_non_nullable
+              as String,
+      name: freezed == name
+          ? _value.name
+          : name // ignore: cast_nullable_to_non_nullable
+              as String?,
+      username: null == username
+          ? _value.username
+          : username // ignore: cast_nullable_to_non_nullable
+              as String,
+      host: freezed == host
+          ? _value.host
+          : host // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarUrl: null == avatarUrl
+          ? _value.avatarUrl
+          : avatarUrl // ignore: cast_nullable_to_non_nullable
+              as Uri,
+      avatarBlurhash: freezed == avatarBlurhash
+          ? _value.avatarBlurhash
+          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarDecorations: null == avatarDecorations
+          ? _value.avatarDecorations
+          : avatarDecorations // ignore: cast_nullable_to_non_nullable
+              as List<UserAvatarDecoration>,
+      isBot: null == isBot
+          ? _value.isBot
+          : isBot // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isCat: null == isCat
+          ? _value.isCat
+          : isCat // ignore: cast_nullable_to_non_nullable
+              as bool,
+      instance: freezed == instance
+          ? _value.instance
+          : instance // ignore: cast_nullable_to_non_nullable
+              as UserInstanceInfo?,
+      emojis: null == emojis
+          ? _value.emojis
+          : emojis // ignore: cast_nullable_to_non_nullable
+              as Map<String, String>,
+      onlineStatus: freezed == onlineStatus
+          ? _value.onlineStatus
+          : onlineStatus // ignore: cast_nullable_to_non_nullable
+              as OnlineStatus?,
+      badgeRoles: null == badgeRoles
+          ? _value.badgeRoles
+          : badgeRoles // ignore: cast_nullable_to_non_nullable
+              as List<UserBadgeRole>,
+      url: freezed == url
+          ? _value.url
+          : url // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      uri: freezed == uri
+          ? _value.uri
+          : uri // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      createdAt: null == createdAt
+          ? _value.createdAt
+          : createdAt // ignore: cast_nullable_to_non_nullable
+              as DateTime,
+      updatedAt: freezed == updatedAt
+          ? _value.updatedAt
+          : updatedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lastFetchedAt: freezed == lastFetchedAt
+          ? _value.lastFetchedAt
+          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      bannerUrl: freezed == bannerUrl
+          ? _value.bannerUrl
+          : bannerUrl // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      bannerBlurhash: freezed == bannerBlurhash
+          ? _value.bannerBlurhash
+          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isLocked: null == isLocked
+          ? _value.isLocked
+          : isLocked // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSilenced: null == isSilenced
+          ? _value.isSilenced
+          : isSilenced // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSuspended: null == isSuspended
+          ? _value.isSuspended
+          : isSuspended // ignore: cast_nullable_to_non_nullable
+              as bool,
+      description: freezed == description
+          ? _value.description
+          : description // ignore: cast_nullable_to_non_nullable
+              as String?,
+      location: freezed == location
+          ? _value.location
+          : location // ignore: cast_nullable_to_non_nullable
+              as String?,
+      birthday: freezed == birthday
+          ? _value.birthday
+          : birthday // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lang: freezed == lang
+          ? _value.lang
+          : lang // ignore: cast_nullable_to_non_nullable
+              as String?,
+      fields: freezed == fields
+          ? _value.fields
+          : fields // ignore: cast_nullable_to_non_nullable
+              as List<UserField>?,
+      followersCount: null == followersCount
+          ? _value.followersCount
+          : followersCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      followingCount: null == followingCount
+          ? _value.followingCount
+          : followingCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      notesCount: null == notesCount
+          ? _value.notesCount
+          : notesCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      pinnedNoteIds: freezed == pinnedNoteIds
+          ? _value.pinnedNoteIds
+          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
+              as List<String>?,
+      pinnedNotes: freezed == pinnedNotes
+          ? _value.pinnedNotes
+          : pinnedNotes // ignore: cast_nullable_to_non_nullable
+              as List<Note>?,
+      pinnedPageId: freezed == pinnedPageId
+          ? _value.pinnedPageId
+          : pinnedPageId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      pinnedPage: freezed == pinnedPage
+          ? _value.pinnedPage
+          : pinnedPage // ignore: cast_nullable_to_non_nullable
+              as Map<String, dynamic>?,
+      publicReactions: null == publicReactions
+          ? _value.publicReactions
+          : publicReactions // ignore: cast_nullable_to_non_nullable
+              as bool,
+      ffVisibility: null == ffVisibility
+          ? _value.ffVisibility
+          : ffVisibility // ignore: cast_nullable_to_non_nullable
+              as FFVisibility,
+      twoFactorEnabled: null == twoFactorEnabled
+          ? _value.twoFactorEnabled
+          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
+              as bool,
+      usePasswordLessLogin: null == usePasswordLessLogin
+          ? _value.usePasswordLessLogin
+          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
+              as bool,
+      securityKeys: null == securityKeys
+          ? _value.securityKeys
+          : securityKeys // ignore: cast_nullable_to_non_nullable
+              as bool,
+      roles: freezed == roles
+          ? _value.roles
+          : roles // ignore: cast_nullable_to_non_nullable
+              as List<UserRole>?,
+      memo: freezed == memo
+          ? _value.memo
+          : memo // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isFollowing: null == isFollowing
+          ? _value.isFollowing
+          : isFollowing // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isFollowed: null == isFollowed
+          ? _value.isFollowed
+          : isFollowed // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasPendingFollowRequestFromYou: null == hasPendingFollowRequestFromYou
+          ? _value.hasPendingFollowRequestFromYou
+          : hasPendingFollowRequestFromYou // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasPendingFollowRequestToYou: null == hasPendingFollowRequestToYou
+          ? _value.hasPendingFollowRequestToYou
+          : hasPendingFollowRequestToYou // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isBlocking: null == isBlocking
+          ? _value.isBlocking
+          : isBlocking // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isBlocked: null == isBlocked
+          ? _value.isBlocked
+          : isBlocked // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isMuted: null == isMuted
+          ? _value.isMuted
+          : isMuted // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isRenoteMuted: null == isRenoteMuted
+          ? _value.isRenoteMuted
+          : isRenoteMuted // ignore: cast_nullable_to_non_nullable
+              as bool,
+    ) as $Val);
+  }
+
+  @override
+  @pragma('vm:prefer-inline')
+  $UserInstanceInfoCopyWith<$Res>? get instance {
+    if (_value.instance == null) {
+      return null;
+    }
+
+    return $UserInstanceInfoCopyWith<$Res>(_value.instance!, (value) {
+      return _then(_value.copyWith(instance: value) as $Val);
+    });
+  }
+}
+
+/// @nodoc
+abstract class _$$_UserDetailedNotMeWithRelationsCopyWith<$Res>
+    implements $UserDetailedNotMeWithRelationsCopyWith<$Res> {
+  factory _$$_UserDetailedNotMeWithRelationsCopyWith(
+          _$_UserDetailedNotMeWithRelations value,
+          $Res Function(_$_UserDetailedNotMeWithRelations) then) =
+      __$$_UserDetailedNotMeWithRelationsCopyWithImpl<$Res>;
+  @override
+  @useResult
+  $Res call(
+      {String id,
+      String? name,
+      String username,
+      String? host,
+      @UriConverter() Uri avatarUrl,
+      String? avatarBlurhash,
+      List<UserAvatarDecoration> avatarDecorations,
+      bool isBot,
+      bool isCat,
+      UserInstanceInfo? instance,
+      @EmojisConverter() Map<String, String> emojis,
+      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+      List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() Uri? url,
+      @NullableUriConverter() Uri? uri,
+      @DateTimeConverter() DateTime createdAt,
+      @NullableDateTimeConverter() DateTime? updatedAt,
+      @NullableDateTimeConverter() DateTime? lastFetchedAt,
+      @NullableUriConverter() Uri? bannerUrl,
+      String? bannerBlurhash,
+      bool isLocked,
+      bool isSilenced,
+      bool isSuspended,
+      String? description,
+      String? location,
+      @NullableDateTimeConverter() DateTime? birthday,
+      String? lang,
+      List<UserField>? fields,
+      int followersCount,
+      int followingCount,
+      int notesCount,
+      List<String>? pinnedNoteIds,
+      List<Note>? pinnedNotes,
+      String? pinnedPageId,
+      Map<String, dynamic>? pinnedPage,
+      bool publicReactions,
+      FFVisibility ffVisibility,
+      bool twoFactorEnabled,
+      bool usePasswordLessLogin,
+      bool securityKeys,
+      List<UserRole>? roles,
+      String? memo,
+      bool isFollowing,
+      bool isFollowed,
+      bool hasPendingFollowRequestFromYou,
+      bool hasPendingFollowRequestToYou,
+      bool isBlocking,
+      bool isBlocked,
+      bool isMuted,
+      bool isRenoteMuted});
+
+  @override
+  $UserInstanceInfoCopyWith<$Res>? get instance;
+}
+
+/// @nodoc
+class __$$_UserDetailedNotMeWithRelationsCopyWithImpl<$Res>
+    extends _$UserDetailedNotMeWithRelationsCopyWithImpl<$Res,
+        _$_UserDetailedNotMeWithRelations>
+    implements _$$_UserDetailedNotMeWithRelationsCopyWith<$Res> {
+  __$$_UserDetailedNotMeWithRelationsCopyWithImpl(
+      _$_UserDetailedNotMeWithRelations _value,
+      $Res Function(_$_UserDetailedNotMeWithRelations) _then)
+      : super(_value, _then);
+
+  @pragma('vm:prefer-inline')
+  @override
+  $Res call({
+    Object? id = null,
+    Object? name = freezed,
+    Object? username = null,
+    Object? host = freezed,
+    Object? avatarUrl = null,
+    Object? avatarBlurhash = freezed,
+    Object? avatarDecorations = null,
+    Object? isBot = null,
+    Object? isCat = null,
+    Object? instance = freezed,
+    Object? emojis = null,
+    Object? onlineStatus = freezed,
+    Object? badgeRoles = null,
+    Object? url = freezed,
+    Object? uri = freezed,
+    Object? createdAt = null,
+    Object? updatedAt = freezed,
+    Object? lastFetchedAt = freezed,
+    Object? bannerUrl = freezed,
+    Object? bannerBlurhash = freezed,
+    Object? isLocked = null,
+    Object? isSilenced = null,
+    Object? isSuspended = null,
+    Object? description = freezed,
+    Object? location = freezed,
+    Object? birthday = freezed,
+    Object? lang = freezed,
+    Object? fields = freezed,
+    Object? followersCount = null,
+    Object? followingCount = null,
+    Object? notesCount = null,
+    Object? pinnedNoteIds = freezed,
+    Object? pinnedNotes = freezed,
+    Object? pinnedPageId = freezed,
+    Object? pinnedPage = freezed,
+    Object? publicReactions = null,
+    Object? ffVisibility = null,
+    Object? twoFactorEnabled = null,
+    Object? usePasswordLessLogin = null,
+    Object? securityKeys = null,
+    Object? roles = freezed,
+    Object? memo = freezed,
+    Object? isFollowing = null,
+    Object? isFollowed = null,
+    Object? hasPendingFollowRequestFromYou = null,
+    Object? hasPendingFollowRequestToYou = null,
+    Object? isBlocking = null,
+    Object? isBlocked = null,
+    Object? isMuted = null,
+    Object? isRenoteMuted = null,
+  }) {
+    return _then(_$_UserDetailedNotMeWithRelations(
+      id: null == id
+          ? _value.id
+          : id // ignore: cast_nullable_to_non_nullable
+              as String,
+      name: freezed == name
+          ? _value.name
+          : name // ignore: cast_nullable_to_non_nullable
+              as String?,
+      username: null == username
+          ? _value.username
+          : username // ignore: cast_nullable_to_non_nullable
+              as String,
+      host: freezed == host
+          ? _value.host
+          : host // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarUrl: null == avatarUrl
+          ? _value.avatarUrl
+          : avatarUrl // ignore: cast_nullable_to_non_nullable
+              as Uri,
+      avatarBlurhash: freezed == avatarBlurhash
+          ? _value.avatarBlurhash
+          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarDecorations: null == avatarDecorations
+          ? _value._avatarDecorations
+          : avatarDecorations // ignore: cast_nullable_to_non_nullable
+              as List<UserAvatarDecoration>,
+      isBot: null == isBot
+          ? _value.isBot
+          : isBot // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isCat: null == isCat
+          ? _value.isCat
+          : isCat // ignore: cast_nullable_to_non_nullable
+              as bool,
+      instance: freezed == instance
+          ? _value.instance
+          : instance // ignore: cast_nullable_to_non_nullable
+              as UserInstanceInfo?,
+      emojis: null == emojis
+          ? _value._emojis
+          : emojis // ignore: cast_nullable_to_non_nullable
+              as Map<String, String>,
+      onlineStatus: freezed == onlineStatus
+          ? _value.onlineStatus
+          : onlineStatus // ignore: cast_nullable_to_non_nullable
+              as OnlineStatus?,
+      badgeRoles: null == badgeRoles
+          ? _value._badgeRoles
+          : badgeRoles // ignore: cast_nullable_to_non_nullable
+              as List<UserBadgeRole>,
+      url: freezed == url
+          ? _value.url
+          : url // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      uri: freezed == uri
+          ? _value.uri
+          : uri // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      createdAt: null == createdAt
+          ? _value.createdAt
+          : createdAt // ignore: cast_nullable_to_non_nullable
+              as DateTime,
+      updatedAt: freezed == updatedAt
+          ? _value.updatedAt
+          : updatedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lastFetchedAt: freezed == lastFetchedAt
+          ? _value.lastFetchedAt
+          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      bannerUrl: freezed == bannerUrl
+          ? _value.bannerUrl
+          : bannerUrl // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      bannerBlurhash: freezed == bannerBlurhash
+          ? _value.bannerBlurhash
+          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isLocked: null == isLocked
+          ? _value.isLocked
+          : isLocked // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSilenced: null == isSilenced
+          ? _value.isSilenced
+          : isSilenced // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSuspended: null == isSuspended
+          ? _value.isSuspended
+          : isSuspended // ignore: cast_nullable_to_non_nullable
+              as bool,
+      description: freezed == description
+          ? _value.description
+          : description // ignore: cast_nullable_to_non_nullable
+              as String?,
+      location: freezed == location
+          ? _value.location
+          : location // ignore: cast_nullable_to_non_nullable
+              as String?,
+      birthday: freezed == birthday
+          ? _value.birthday
+          : birthday // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lang: freezed == lang
+          ? _value.lang
+          : lang // ignore: cast_nullable_to_non_nullable
+              as String?,
+      fields: freezed == fields
+          ? _value._fields
+          : fields // ignore: cast_nullable_to_non_nullable
+              as List<UserField>?,
+      followersCount: null == followersCount
+          ? _value.followersCount
+          : followersCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      followingCount: null == followingCount
+          ? _value.followingCount
+          : followingCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      notesCount: null == notesCount
+          ? _value.notesCount
+          : notesCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      pinnedNoteIds: freezed == pinnedNoteIds
+          ? _value._pinnedNoteIds
+          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
+              as List<String>?,
+      pinnedNotes: freezed == pinnedNotes
+          ? _value._pinnedNotes
+          : pinnedNotes // ignore: cast_nullable_to_non_nullable
+              as List<Note>?,
+      pinnedPageId: freezed == pinnedPageId
+          ? _value.pinnedPageId
+          : pinnedPageId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      pinnedPage: freezed == pinnedPage
+          ? _value._pinnedPage
+          : pinnedPage // ignore: cast_nullable_to_non_nullable
+              as Map<String, dynamic>?,
+      publicReactions: null == publicReactions
+          ? _value.publicReactions
+          : publicReactions // ignore: cast_nullable_to_non_nullable
+              as bool,
+      ffVisibility: null == ffVisibility
+          ? _value.ffVisibility
+          : ffVisibility // ignore: cast_nullable_to_non_nullable
+              as FFVisibility,
+      twoFactorEnabled: null == twoFactorEnabled
+          ? _value.twoFactorEnabled
+          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
+              as bool,
+      usePasswordLessLogin: null == usePasswordLessLogin
+          ? _value.usePasswordLessLogin
+          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
+              as bool,
+      securityKeys: null == securityKeys
+          ? _value.securityKeys
+          : securityKeys // ignore: cast_nullable_to_non_nullable
+              as bool,
+      roles: freezed == roles
+          ? _value._roles
+          : roles // ignore: cast_nullable_to_non_nullable
+              as List<UserRole>?,
+      memo: freezed == memo
+          ? _value.memo
+          : memo // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isFollowing: null == isFollowing
+          ? _value.isFollowing
+          : isFollowing // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isFollowed: null == isFollowed
+          ? _value.isFollowed
+          : isFollowed // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasPendingFollowRequestFromYou: null == hasPendingFollowRequestFromYou
+          ? _value.hasPendingFollowRequestFromYou
+          : hasPendingFollowRequestFromYou // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasPendingFollowRequestToYou: null == hasPendingFollowRequestToYou
+          ? _value.hasPendingFollowRequestToYou
+          : hasPendingFollowRequestToYou // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isBlocking: null == isBlocking
+          ? _value.isBlocking
+          : isBlocking // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isBlocked: null == isBlocked
+          ? _value.isBlocked
+          : isBlocked // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isMuted: null == isMuted
+          ? _value.isMuted
+          : isMuted // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isRenoteMuted: null == isRenoteMuted
+          ? _value.isRenoteMuted
+          : isRenoteMuted // ignore: cast_nullable_to_non_nullable
+              as bool,
+    ));
+  }
+}
+
+/// @nodoc
+@JsonSerializable()
+class _$_UserDetailedNotMeWithRelations
+    implements _UserDetailedNotMeWithRelations {
+  const _$_UserDetailedNotMeWithRelations(
+      {required this.id,
+      this.name,
+      required this.username,
+      this.host,
+      @UriConverter() required this.avatarUrl,
+      this.avatarBlurhash,
+      final List<UserAvatarDecoration> avatarDecorations = const [],
+      required this.isBot,
+      required this.isCat,
+      this.instance,
+      @EmojisConverter() final Map<String, String> emojis = const {},
+      @OnlineStatusJsonConverter() this.onlineStatus,
+      final List<UserBadgeRole> badgeRoles = const [],
+      @NullableUriConverter() this.url,
+      @NullableUriConverter() this.uri,
+      @DateTimeConverter() required this.createdAt,
+      @NullableDateTimeConverter() this.updatedAt,
+      @NullableDateTimeConverter() this.lastFetchedAt,
+      @NullableUriConverter() this.bannerUrl,
+      this.bannerBlurhash,
+      required this.isLocked,
+      required this.isSilenced,
+      required this.isSuspended,
+      this.description,
+      this.location,
+      @NullableDateTimeConverter() this.birthday,
+      this.lang,
+      final List<UserField>? fields,
+      required this.followersCount,
+      required this.followingCount,
+      required this.notesCount,
+      final List<String>? pinnedNoteIds,
+      final List<Note>? pinnedNotes,
+      this.pinnedPageId,
+      final Map<String, dynamic>? pinnedPage,
+      required this.publicReactions,
+      required this.ffVisibility,
+      required this.twoFactorEnabled,
+      required this.usePasswordLessLogin,
+      required this.securityKeys,
+      final List<UserRole>? roles,
+      this.memo,
+      required this.isFollowing,
+      required this.isFollowed,
+      required this.hasPendingFollowRequestFromYou,
+      required this.hasPendingFollowRequestToYou,
+      required this.isBlocking,
+      required this.isBlocked,
+      required this.isMuted,
+      required this.isRenoteMuted})
+      : _avatarDecorations = avatarDecorations,
+        _emojis = emojis,
+        _badgeRoles = badgeRoles,
+        _fields = fields,
+        _pinnedNoteIds = pinnedNoteIds,
+        _pinnedNotes = pinnedNotes,
+        _pinnedPage = pinnedPage,
+        _roles = roles;
+
+  factory _$_UserDetailedNotMeWithRelations.fromJson(
+          Map<String, dynamic> json) =>
+      _$$_UserDetailedNotMeWithRelationsFromJson(json);
+
+  @override
+  final String id;
+  @override
+  final String? name;
+  @override
+  final String username;
+  @override
+  final String? host;
+  @override
+  @UriConverter()
+  final Uri avatarUrl;
+  @override
+  final String? avatarBlurhash;
+  final List<UserAvatarDecoration> _avatarDecorations;
+  @override
+  @JsonKey()
+  List<UserAvatarDecoration> get avatarDecorations {
+    if (_avatarDecorations is EqualUnmodifiableListView)
+      return _avatarDecorations;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_avatarDecorations);
+  }
+
+  @override
+  final bool isBot;
+  @override
+  final bool isCat;
+  @override
+  final UserInstanceInfo? instance;
+  final Map<String, String> _emojis;
+  @override
+  @JsonKey()
+  @EmojisConverter()
+  Map<String, String> get emojis {
+    if (_emojis is EqualUnmodifiableMapView) return _emojis;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableMapView(_emojis);
+  }
+
+  @override
+  @OnlineStatusJsonConverter()
+  final OnlineStatus? onlineStatus;
+  final List<UserBadgeRole> _badgeRoles;
+  @override
+  @JsonKey()
+  List<UserBadgeRole> get badgeRoles {
+    if (_badgeRoles is EqualUnmodifiableListView) return _badgeRoles;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_badgeRoles);
+  }
+
+  @override
+  @NullableUriConverter()
+  final Uri? url;
+  @override
+  @NullableUriConverter()
+  final Uri? uri;
+  @override
+  @DateTimeConverter()
+  final DateTime createdAt;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? updatedAt;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? lastFetchedAt;
+  @override
+  @NullableUriConverter()
+  final Uri? bannerUrl;
+  @override
+  final String? bannerBlurhash;
+  @override
+  final bool isLocked;
+  @override
+  final bool isSilenced;
+  @override
+  final bool isSuspended;
+  @override
+  final String? description;
+  @override
+  final String? location;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? birthday;
+  @override
+  final String? lang;
+  final List<UserField>? _fields;
+  @override
+  List<UserField>? get fields {
+    final value = _fields;
+    if (value == null) return null;
+    if (_fields is EqualUnmodifiableListView) return _fields;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final int followersCount;
+  @override
+  final int followingCount;
+  @override
+  final int notesCount;
+  final List<String>? _pinnedNoteIds;
+  @override
+  List<String>? get pinnedNoteIds {
+    final value = _pinnedNoteIds;
+    if (value == null) return null;
+    if (_pinnedNoteIds is EqualUnmodifiableListView) return _pinnedNoteIds;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  final List<Note>? _pinnedNotes;
+  @override
+  List<Note>? get pinnedNotes {
+    final value = _pinnedNotes;
+    if (value == null) return null;
+    if (_pinnedNotes is EqualUnmodifiableListView) return _pinnedNotes;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final String? pinnedPageId;
+  final Map<String, dynamic>? _pinnedPage;
+  @override
+  Map<String, dynamic>? get pinnedPage {
+    final value = _pinnedPage;
+    if (value == null) return null;
+    if (_pinnedPage is EqualUnmodifiableMapView) return _pinnedPage;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableMapView(value);
+  }
+
+  @override
+  final bool publicReactions;
+  @override
+  final FFVisibility ffVisibility;
+  @override
+  final bool twoFactorEnabled;
+  @override
+  final bool usePasswordLessLogin;
+  @override
+  final bool securityKeys;
+  final List<UserRole>? _roles;
+  @override
+  List<UserRole>? get roles {
+    final value = _roles;
+    if (value == null) return null;
+    if (_roles is EqualUnmodifiableListView) return _roles;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final String? memo;
+  @override
+  final bool isFollowing;
+  @override
+  final bool isFollowed;
+  @override
+  final bool hasPendingFollowRequestFromYou;
+  @override
+  final bool hasPendingFollowRequestToYou;
+  @override
+  final bool isBlocking;
+  @override
+  final bool isBlocked;
+  @override
+  final bool isMuted;
+  @override
+  final bool isRenoteMuted;
+
+  @override
+  String toString() {
+    return 'UserDetailedNotMeWithRelations(id: $id, name: $name, username: $username, host: $host, avatarUrl: $avatarUrl, avatarBlurhash: $avatarBlurhash, avatarDecorations: $avatarDecorations, isBot: $isBot, isCat: $isCat, instance: $instance, emojis: $emojis, onlineStatus: $onlineStatus, badgeRoles: $badgeRoles, url: $url, uri: $uri, createdAt: $createdAt, updatedAt: $updatedAt, lastFetchedAt: $lastFetchedAt, bannerUrl: $bannerUrl, bannerBlurhash: $bannerBlurhash, isLocked: $isLocked, isSilenced: $isSilenced, isSuspended: $isSuspended, description: $description, location: $location, birthday: $birthday, lang: $lang, fields: $fields, followersCount: $followersCount, followingCount: $followingCount, notesCount: $notesCount, pinnedNoteIds: $pinnedNoteIds, pinnedNotes: $pinnedNotes, pinnedPageId: $pinnedPageId, pinnedPage: $pinnedPage, publicReactions: $publicReactions, ffVisibility: $ffVisibility, twoFactorEnabled: $twoFactorEnabled, usePasswordLessLogin: $usePasswordLessLogin, securityKeys: $securityKeys, roles: $roles, memo: $memo, isFollowing: $isFollowing, isFollowed: $isFollowed, hasPendingFollowRequestFromYou: $hasPendingFollowRequestFromYou, hasPendingFollowRequestToYou: $hasPendingFollowRequestToYou, isBlocking: $isBlocking, isBlocked: $isBlocked, isMuted: $isMuted, isRenoteMuted: $isRenoteMuted)';
+  }
+
+  @override
+  bool operator ==(dynamic other) {
+    return identical(this, other) ||
+        (other.runtimeType == runtimeType &&
+            other is _$_UserDetailedNotMeWithRelations &&
+            (identical(other.id, id) || other.id == id) &&
+            (identical(other.name, name) || other.name == name) &&
+            (identical(other.username, username) ||
+                other.username == username) &&
+            (identical(other.host, host) || other.host == host) &&
+            (identical(other.avatarUrl, avatarUrl) ||
+                other.avatarUrl == avatarUrl) &&
+            (identical(other.avatarBlurhash, avatarBlurhash) ||
+                other.avatarBlurhash == avatarBlurhash) &&
+            const DeepCollectionEquality()
+                .equals(other._avatarDecorations, _avatarDecorations) &&
+            (identical(other.isBot, isBot) || other.isBot == isBot) &&
+            (identical(other.isCat, isCat) || other.isCat == isCat) &&
+            (identical(other.instance, instance) ||
+                other.instance == instance) &&
+            const DeepCollectionEquality().equals(other._emojis, _emojis) &&
+            (identical(other.onlineStatus, onlineStatus) ||
+                other.onlineStatus == onlineStatus) &&
+            const DeepCollectionEquality()
+                .equals(other._badgeRoles, _badgeRoles) &&
+            (identical(other.url, url) || other.url == url) &&
+            (identical(other.uri, uri) || other.uri == uri) &&
+            (identical(other.createdAt, createdAt) ||
+                other.createdAt == createdAt) &&
+            (identical(other.updatedAt, updatedAt) ||
+                other.updatedAt == updatedAt) &&
+            (identical(other.lastFetchedAt, lastFetchedAt) ||
+                other.lastFetchedAt == lastFetchedAt) &&
+            (identical(other.bannerUrl, bannerUrl) ||
+                other.bannerUrl == bannerUrl) &&
+            (identical(other.bannerBlurhash, bannerBlurhash) ||
+                other.bannerBlurhash == bannerBlurhash) &&
+            (identical(other.isLocked, isLocked) ||
+                other.isLocked == isLocked) &&
+            (identical(other.isSilenced, isSilenced) ||
+                other.isSilenced == isSilenced) &&
+            (identical(other.isSuspended, isSuspended) ||
+                other.isSuspended == isSuspended) &&
+            (identical(other.description, description) ||
+                other.description == description) &&
+            (identical(other.location, location) ||
+                other.location == location) &&
+            (identical(other.birthday, birthday) ||
+                other.birthday == birthday) &&
+            (identical(other.lang, lang) || other.lang == lang) &&
+            const DeepCollectionEquality().equals(other._fields, _fields) &&
+            (identical(other.followersCount, followersCount) ||
+                other.followersCount == followersCount) &&
+            (identical(other.followingCount, followingCount) ||
+                other.followingCount == followingCount) &&
+            (identical(other.notesCount, notesCount) ||
+                other.notesCount == notesCount) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedNoteIds, _pinnedNoteIds) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedNotes, _pinnedNotes) &&
+            (identical(other.pinnedPageId, pinnedPageId) ||
+                other.pinnedPageId == pinnedPageId) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedPage, _pinnedPage) &&
+            (identical(other.publicReactions, publicReactions) ||
+                other.publicReactions == publicReactions) &&
+            (identical(other.ffVisibility, ffVisibility) ||
+                other.ffVisibility == ffVisibility) &&
+            (identical(other.twoFactorEnabled, twoFactorEnabled) ||
+                other.twoFactorEnabled == twoFactorEnabled) &&
+            (identical(other.usePasswordLessLogin, usePasswordLessLogin) ||
+                other.usePasswordLessLogin == usePasswordLessLogin) &&
+            (identical(other.securityKeys, securityKeys) ||
+                other.securityKeys == securityKeys) &&
+            const DeepCollectionEquality().equals(other._roles, _roles) &&
+            (identical(other.memo, memo) || other.memo == memo) &&
+            (identical(other.isFollowing, isFollowing) ||
+                other.isFollowing == isFollowing) &&
+            (identical(other.isFollowed, isFollowed) ||
+                other.isFollowed == isFollowed) &&
+            (identical(other.hasPendingFollowRequestFromYou,
+                    hasPendingFollowRequestFromYou) ||
+                other.hasPendingFollowRequestFromYou ==
+                    hasPendingFollowRequestFromYou) &&
+            (identical(other.hasPendingFollowRequestToYou, hasPendingFollowRequestToYou) ||
+                other.hasPendingFollowRequestToYou ==
+                    hasPendingFollowRequestToYou) &&
+            (identical(other.isBlocking, isBlocking) ||
+                other.isBlocking == isBlocking) &&
+            (identical(other.isBlocked, isBlocked) ||
+                other.isBlocked == isBlocked) &&
+            (identical(other.isMuted, isMuted) || other.isMuted == isMuted) &&
+            (identical(other.isRenoteMuted, isRenoteMuted) ||
+                other.isRenoteMuted == isRenoteMuted));
+  }
+
+  @JsonKey(ignore: true)
+  @override
+  int get hashCode => Object.hashAll([
+        runtimeType,
+        id,
+        name,
+        username,
+        host,
+        avatarUrl,
+        avatarBlurhash,
+        const DeepCollectionEquality().hash(_avatarDecorations),
+        isBot,
+        isCat,
+        instance,
+        const DeepCollectionEquality().hash(_emojis),
+        onlineStatus,
+        const DeepCollectionEquality().hash(_badgeRoles),
+        url,
+        uri,
+        createdAt,
+        updatedAt,
+        lastFetchedAt,
+        bannerUrl,
+        bannerBlurhash,
+        isLocked,
+        isSilenced,
+        isSuspended,
+        description,
+        location,
+        birthday,
+        lang,
+        const DeepCollectionEquality().hash(_fields),
+        followersCount,
+        followingCount,
+        notesCount,
+        const DeepCollectionEquality().hash(_pinnedNoteIds),
+        const DeepCollectionEquality().hash(_pinnedNotes),
+        pinnedPageId,
+        const DeepCollectionEquality().hash(_pinnedPage),
+        publicReactions,
+        ffVisibility,
+        twoFactorEnabled,
+        usePasswordLessLogin,
+        securityKeys,
+        const DeepCollectionEquality().hash(_roles),
+        memo,
+        isFollowing,
+        isFollowed,
+        hasPendingFollowRequestFromYou,
+        hasPendingFollowRequestToYou,
+        isBlocking,
+        isBlocked,
+        isMuted,
+        isRenoteMuted
+      ]);
+
+  @JsonKey(ignore: true)
+  @override
+  @pragma('vm:prefer-inline')
+  _$$_UserDetailedNotMeWithRelationsCopyWith<_$_UserDetailedNotMeWithRelations>
+      get copyWith => __$$_UserDetailedNotMeWithRelationsCopyWithImpl<
+          _$_UserDetailedNotMeWithRelations>(this, _$identity);
+
+  @override
+  Map<String, dynamic> toJson() {
+    return _$$_UserDetailedNotMeWithRelationsToJson(
+      this,
+    );
+  }
+}
+
+abstract class _UserDetailedNotMeWithRelations
+    implements UserDetailedNotMeWithRelations {
+  const factory _UserDetailedNotMeWithRelations(
+      {required final String id,
+      final String? name,
+      required final String username,
+      final String? host,
+      @UriConverter() required final Uri avatarUrl,
+      final String? avatarBlurhash,
+      final List<UserAvatarDecoration> avatarDecorations,
+      required final bool isBot,
+      required final bool isCat,
+      final UserInstanceInfo? instance,
+      @EmojisConverter() final Map<String, String> emojis,
+      @OnlineStatusJsonConverter() final OnlineStatus? onlineStatus,
+      final List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() final Uri? url,
+      @NullableUriConverter() final Uri? uri,
+      @DateTimeConverter() required final DateTime createdAt,
+      @NullableDateTimeConverter() final DateTime? updatedAt,
+      @NullableDateTimeConverter() final DateTime? lastFetchedAt,
+      @NullableUriConverter() final Uri? bannerUrl,
+      final String? bannerBlurhash,
+      required final bool isLocked,
+      required final bool isSilenced,
+      required final bool isSuspended,
+      final String? description,
+      final String? location,
+      @NullableDateTimeConverter() final DateTime? birthday,
+      final String? lang,
+      final List<UserField>? fields,
+      required final int followersCount,
+      required final int followingCount,
+      required final int notesCount,
+      final List<String>? pinnedNoteIds,
+      final List<Note>? pinnedNotes,
+      final String? pinnedPageId,
+      final Map<String, dynamic>? pinnedPage,
+      required final bool publicReactions,
+      required final FFVisibility ffVisibility,
+      required final bool twoFactorEnabled,
+      required final bool usePasswordLessLogin,
+      required final bool securityKeys,
+      final List<UserRole>? roles,
+      final String? memo,
+      required final bool isFollowing,
+      required final bool isFollowed,
+      required final bool hasPendingFollowRequestFromYou,
+      required final bool hasPendingFollowRequestToYou,
+      required final bool isBlocking,
+      required final bool isBlocked,
+      required final bool isMuted,
+      required final bool isRenoteMuted}) = _$_UserDetailedNotMeWithRelations;
+
+  factory _UserDetailedNotMeWithRelations.fromJson(Map<String, dynamic> json) =
+      _$_UserDetailedNotMeWithRelations.fromJson;
+
+  @override
+  String get id;
+  @override
+  String? get name;
+  @override
+  String get username;
+  @override
+  String? get host;
+  @override
+  @UriConverter()
+  Uri get avatarUrl;
+  @override
+  String? get avatarBlurhash;
+  @override
+  List<UserAvatarDecoration> get avatarDecorations;
+  @override
+  bool get isBot;
+  @override
+  bool get isCat;
+  @override
+  UserInstanceInfo? get instance;
+  @override
+  @EmojisConverter()
+  Map<String, String> get emojis;
+  @override
+  @OnlineStatusJsonConverter()
+  OnlineStatus? get onlineStatus;
+  @override
+  List<UserBadgeRole> get badgeRoles;
+  @override
+  @NullableUriConverter()
+  Uri? get url;
+  @override
+  @NullableUriConverter()
+  Uri? get uri;
+  @override
+  @DateTimeConverter()
+  DateTime get createdAt;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get updatedAt;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get lastFetchedAt;
+  @override
+  @NullableUriConverter()
+  Uri? get bannerUrl;
+  @override
+  String? get bannerBlurhash;
+  @override
+  bool get isLocked;
+  @override
+  bool get isSilenced;
+  @override
+  bool get isSuspended;
+  @override
+  String? get description;
+  @override
+  String? get location;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get birthday;
+  @override
+  String? get lang;
+  @override
+  List<UserField>? get fields;
+  @override
+  int get followersCount;
+  @override
+  int get followingCount;
+  @override
+  int get notesCount;
+  @override
+  List<String>? get pinnedNoteIds;
+  @override
+  List<Note>? get pinnedNotes;
+  @override
+  String? get pinnedPageId;
+  @override
+  Map<String, dynamic>? get pinnedPage;
+  @override
+  bool get publicReactions;
+  @override
+  FFVisibility get ffVisibility;
+  @override
+  bool get twoFactorEnabled;
+  @override
+  bool get usePasswordLessLogin;
+  @override
+  bool get securityKeys;
+  @override
+  List<UserRole>? get roles;
+  @override
+  String? get memo;
+  @override
+  bool get isFollowing;
+  @override
+  bool get isFollowed;
+  @override
+  bool get hasPendingFollowRequestFromYou;
+  @override
+  bool get hasPendingFollowRequestToYou;
+  @override
+  bool get isBlocking;
+  @override
+  bool get isBlocked;
+  @override
+  bool get isMuted;
+  @override
+  bool get isRenoteMuted;
+  @override
+  @JsonKey(ignore: true)
+  _$$_UserDetailedNotMeWithRelationsCopyWith<_$_UserDetailedNotMeWithRelations>
+      get copyWith => throw _privateConstructorUsedError;
+}
+
+MeDetailed _$MeDetailedFromJson(Map<String, dynamic> json) {
+  return _MeDetailed.fromJson(json);
+}
+
+/// @nodoc
+mixin _$MeDetailed {
+  String get id => throw _privateConstructorUsedError;
+  String? get name => throw _privateConstructorUsedError;
+  String get username => throw _privateConstructorUsedError;
+  String? get host => throw _privateConstructorUsedError;
+  @UriConverter()
+  Uri get avatarUrl => throw _privateConstructorUsedError;
+  String? get avatarBlurhash => throw _privateConstructorUsedError;
+  List<UserAvatarDecoration> get avatarDecorations =>
+      throw _privateConstructorUsedError;
+  bool get isBot => throw _privateConstructorUsedError;
+  bool get isCat => throw _privateConstructorUsedError;
+  UserInstanceInfo? get instance => throw _privateConstructorUsedError;
+  @EmojisConverter()
+  Map<String, String> get emojis => throw _privateConstructorUsedError;
+  @OnlineStatusJsonConverter()
+  OnlineStatus? get onlineStatus => throw _privateConstructorUsedError;
+  List<UserBadgeRole> get badgeRoles => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get url => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get uri => throw _privateConstructorUsedError;
+  @DateTimeConverter()
+  DateTime get createdAt => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get updatedAt => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get lastFetchedAt => throw _privateConstructorUsedError;
+  @NullableUriConverter()
+  Uri? get bannerUrl => throw _privateConstructorUsedError;
+  String? get bannerBlurhash => throw _privateConstructorUsedError;
+  bool get isLocked => throw _privateConstructorUsedError;
+  bool get isSilenced => throw _privateConstructorUsedError;
+  bool get isSuspended => throw _privateConstructorUsedError;
+  String? get description => throw _privateConstructorUsedError;
+  String? get location => throw _privateConstructorUsedError;
+  @NullableDateTimeConverter()
+  DateTime? get birthday => throw _privateConstructorUsedError;
+  String? get lang => throw _privateConstructorUsedError;
+  List<UserField>? get fields => throw _privateConstructorUsedError;
+  int get followersCount => throw _privateConstructorUsedError;
+  int get followingCount => throw _privateConstructorUsedError;
+  int get notesCount => throw _privateConstructorUsedError;
+  List<String>? get pinnedNoteIds => throw _privateConstructorUsedError;
+  List<Note>? get pinnedNotes => throw _privateConstructorUsedError;
+  String? get pinnedPageId => throw _privateConstructorUsedError;
+  Map<String, dynamic>? get pinnedPage => throw _privateConstructorUsedError;
+  bool get publicReactions => throw _privateConstructorUsedError;
+  FFVisibility get ffVisibility => throw _privateConstructorUsedError;
+  bool get twoFactorEnabled => throw _privateConstructorUsedError;
+  bool get usePasswordLessLogin => throw _privateConstructorUsedError;
+  bool get securityKeys => throw _privateConstructorUsedError;
+  List<UserRole>? get roles => throw _privateConstructorUsedError;
+  String? get memo => throw _privateConstructorUsedError;
+  String? get avatarId => throw _privateConstructorUsedError;
+  String? get bannerId => throw _privateConstructorUsedError;
+  bool get isModerator => throw _privateConstructorUsedError;
+  bool get isAdmin => throw _privateConstructorUsedError;
+  bool get injectFeaturedNote => throw _privateConstructorUsedError;
+  bool get receiveAnnouncementEmail => throw _privateConstructorUsedError;
+  bool get alwaysMarkNsfw => throw _privateConstructorUsedError;
+  bool get autoSensitive => throw _privateConstructorUsedError;
+  bool get carefulBot => throw _privateConstructorUsedError;
+  bool get autoAcceptFollowed => throw _privateConstructorUsedError;
+  bool get noCrawle => throw _privateConstructorUsedError;
+  bool get isExplorable => throw _privateConstructorUsedError;
+  bool get isDeleted => throw _privateConstructorUsedError;
+  bool get hideOnlineStatus => throw _privateConstructorUsedError;
+  bool get hasUnreadSpecifiedNotes => throw _privateConstructorUsedError;
+  bool get hasUnreadMentions => throw _privateConstructorUsedError;
+  bool get hasUnreadAnnouncement => throw _privateConstructorUsedError;
+  bool get hasUnreadAntenna => throw _privateConstructorUsedError;
+  bool get hasUnreadChannel => throw _privateConstructorUsedError;
+  bool get hasUnreadNotification => throw _privateConstructorUsedError;
+  bool get hasPendingReceivedFollowRequest =>
+      throw _privateConstructorUsedError;
+  List<AnnouncementsResponse> get unreadAnnouncements =>
+      throw _privateConstructorUsedError;
+  @MuteWordsConverter()
+  List<MuteWord> get mutedWords => throw _privateConstructorUsedError;
+  List<String> get mutedInstances => throw _privateConstructorUsedError;
+  @Deprecated("Deprecated in Misskey 2023.9.2")
+  List<String>? get mutingNotificationTypes =>
+      throw _privateConstructorUsedError;
+  dynamic get notificationRecieveConfig => throw _privateConstructorUsedError;
+  List<String> get emailNotificationTypes => throw _privateConstructorUsedError;
+  List<UserAchievement> get achievements => throw _privateConstructorUsedError;
+  int get loggedInDays => throw _privateConstructorUsedError;
+  UserPolicies get policies => throw _privateConstructorUsedError;
+
+  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
+  @JsonKey(ignore: true)
+  $MeDetailedCopyWith<MeDetailed> get copyWith =>
+      throw _privateConstructorUsedError;
+}
+
+/// @nodoc
+abstract class $MeDetailedCopyWith<$Res> {
+  factory $MeDetailedCopyWith(
+          MeDetailed value, $Res Function(MeDetailed) then) =
+      _$MeDetailedCopyWithImpl<$Res, MeDetailed>;
+  @useResult
+  $Res call(
+      {String id,
+      String? name,
+      String username,
+      String? host,
+      @UriConverter() Uri avatarUrl,
+      String? avatarBlurhash,
+      List<UserAvatarDecoration> avatarDecorations,
+      bool isBot,
+      bool isCat,
+      UserInstanceInfo? instance,
+      @EmojisConverter() Map<String, String> emojis,
+      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+      List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() Uri? url,
+      @NullableUriConverter() Uri? uri,
+      @DateTimeConverter() DateTime createdAt,
+      @NullableDateTimeConverter() DateTime? updatedAt,
+      @NullableDateTimeConverter() DateTime? lastFetchedAt,
+      @NullableUriConverter() Uri? bannerUrl,
+      String? bannerBlurhash,
+      bool isLocked,
+      bool isSilenced,
+      bool isSuspended,
+      String? description,
+      String? location,
+      @NullableDateTimeConverter() DateTime? birthday,
+      String? lang,
+      List<UserField>? fields,
+      int followersCount,
+      int followingCount,
+      int notesCount,
+      List<String>? pinnedNoteIds,
+      List<Note>? pinnedNotes,
+      String? pinnedPageId,
+      Map<String, dynamic>? pinnedPage,
+      bool publicReactions,
+      FFVisibility ffVisibility,
+      bool twoFactorEnabled,
+      bool usePasswordLessLogin,
+      bool securityKeys,
+      List<UserRole>? roles,
+      String? memo,
+      String? avatarId,
+      String? bannerId,
+      bool isModerator,
+      bool isAdmin,
+      bool injectFeaturedNote,
+      bool receiveAnnouncementEmail,
+      bool alwaysMarkNsfw,
+      bool autoSensitive,
+      bool carefulBot,
+      bool autoAcceptFollowed,
+      bool noCrawle,
+      bool isExplorable,
+      bool isDeleted,
+      bool hideOnlineStatus,
+      bool hasUnreadSpecifiedNotes,
+      bool hasUnreadMentions,
+      bool hasUnreadAnnouncement,
+      bool hasUnreadAntenna,
+      bool hasUnreadChannel,
+      bool hasUnreadNotification,
+      bool hasPendingReceivedFollowRequest,
+      List<AnnouncementsResponse> unreadAnnouncements,
+      @MuteWordsConverter() List<MuteWord> mutedWords,
+      List<String> mutedInstances,
+      @Deprecated("Deprecated in Misskey 2023.9.2")
+      List<String>? mutingNotificationTypes,
+      dynamic notificationRecieveConfig,
+      List<String> emailNotificationTypes,
+      List<UserAchievement> achievements,
+      int loggedInDays,
+      UserPolicies policies});
+
+  $UserInstanceInfoCopyWith<$Res>? get instance;
+  $UserPoliciesCopyWith<$Res> get policies;
+}
+
+/// @nodoc
+class _$MeDetailedCopyWithImpl<$Res, $Val extends MeDetailed>
+    implements $MeDetailedCopyWith<$Res> {
+  _$MeDetailedCopyWithImpl(this._value, this._then);
+
+  // ignore: unused_field
+  final $Val _value;
+  // ignore: unused_field
+  final $Res Function($Val) _then;
+
+  @pragma('vm:prefer-inline')
+  @override
+  $Res call({
+    Object? id = null,
+    Object? name = freezed,
+    Object? username = null,
+    Object? host = freezed,
+    Object? avatarUrl = null,
+    Object? avatarBlurhash = freezed,
+    Object? avatarDecorations = null,
+    Object? isBot = null,
+    Object? isCat = null,
+    Object? instance = freezed,
+    Object? emojis = null,
+    Object? onlineStatus = freezed,
+    Object? badgeRoles = null,
+    Object? url = freezed,
+    Object? uri = freezed,
+    Object? createdAt = null,
+    Object? updatedAt = freezed,
+    Object? lastFetchedAt = freezed,
+    Object? bannerUrl = freezed,
+    Object? bannerBlurhash = freezed,
+    Object? isLocked = null,
+    Object? isSilenced = null,
+    Object? isSuspended = null,
+    Object? description = freezed,
+    Object? location = freezed,
+    Object? birthday = freezed,
+    Object? lang = freezed,
+    Object? fields = freezed,
+    Object? followersCount = null,
+    Object? followingCount = null,
+    Object? notesCount = null,
+    Object? pinnedNoteIds = freezed,
+    Object? pinnedNotes = freezed,
+    Object? pinnedPageId = freezed,
+    Object? pinnedPage = freezed,
+    Object? publicReactions = null,
+    Object? ffVisibility = null,
+    Object? twoFactorEnabled = null,
+    Object? usePasswordLessLogin = null,
+    Object? securityKeys = null,
+    Object? roles = freezed,
+    Object? memo = freezed,
+    Object? avatarId = freezed,
+    Object? bannerId = freezed,
+    Object? isModerator = null,
+    Object? isAdmin = null,
+    Object? injectFeaturedNote = null,
+    Object? receiveAnnouncementEmail = null,
+    Object? alwaysMarkNsfw = null,
+    Object? autoSensitive = null,
+    Object? carefulBot = null,
+    Object? autoAcceptFollowed = null,
+    Object? noCrawle = null,
+    Object? isExplorable = null,
+    Object? isDeleted = null,
+    Object? hideOnlineStatus = null,
+    Object? hasUnreadSpecifiedNotes = null,
+    Object? hasUnreadMentions = null,
+    Object? hasUnreadAnnouncement = null,
+    Object? hasUnreadAntenna = null,
+    Object? hasUnreadChannel = null,
+    Object? hasUnreadNotification = null,
+    Object? hasPendingReceivedFollowRequest = null,
+    Object? unreadAnnouncements = null,
+    Object? mutedWords = null,
+    Object? mutedInstances = null,
+    Object? mutingNotificationTypes = freezed,
+    Object? notificationRecieveConfig = freezed,
+    Object? emailNotificationTypes = null,
+    Object? achievements = null,
+    Object? loggedInDays = null,
+    Object? policies = null,
+  }) {
+    return _then(_value.copyWith(
+      id: null == id
+          ? _value.id
+          : id // ignore: cast_nullable_to_non_nullable
+              as String,
+      name: freezed == name
+          ? _value.name
+          : name // ignore: cast_nullable_to_non_nullable
+              as String?,
+      username: null == username
+          ? _value.username
+          : username // ignore: cast_nullable_to_non_nullable
+              as String,
+      host: freezed == host
+          ? _value.host
+          : host // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarUrl: null == avatarUrl
+          ? _value.avatarUrl
+          : avatarUrl // ignore: cast_nullable_to_non_nullable
+              as Uri,
+      avatarBlurhash: freezed == avatarBlurhash
+          ? _value.avatarBlurhash
+          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarDecorations: null == avatarDecorations
+          ? _value.avatarDecorations
+          : avatarDecorations // ignore: cast_nullable_to_non_nullable
+              as List<UserAvatarDecoration>,
+      isBot: null == isBot
+          ? _value.isBot
+          : isBot // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isCat: null == isCat
+          ? _value.isCat
+          : isCat // ignore: cast_nullable_to_non_nullable
+              as bool,
+      instance: freezed == instance
+          ? _value.instance
+          : instance // ignore: cast_nullable_to_non_nullable
+              as UserInstanceInfo?,
+      emojis: null == emojis
+          ? _value.emojis
+          : emojis // ignore: cast_nullable_to_non_nullable
+              as Map<String, String>,
+      onlineStatus: freezed == onlineStatus
+          ? _value.onlineStatus
+          : onlineStatus // ignore: cast_nullable_to_non_nullable
+              as OnlineStatus?,
+      badgeRoles: null == badgeRoles
+          ? _value.badgeRoles
+          : badgeRoles // ignore: cast_nullable_to_non_nullable
+              as List<UserBadgeRole>,
+      url: freezed == url
+          ? _value.url
+          : url // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      uri: freezed == uri
+          ? _value.uri
+          : uri // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      createdAt: null == createdAt
+          ? _value.createdAt
+          : createdAt // ignore: cast_nullable_to_non_nullable
+              as DateTime,
+      updatedAt: freezed == updatedAt
+          ? _value.updatedAt
+          : updatedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lastFetchedAt: freezed == lastFetchedAt
+          ? _value.lastFetchedAt
+          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      bannerUrl: freezed == bannerUrl
+          ? _value.bannerUrl
+          : bannerUrl // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      bannerBlurhash: freezed == bannerBlurhash
+          ? _value.bannerBlurhash
+          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isLocked: null == isLocked
+          ? _value.isLocked
+          : isLocked // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSilenced: null == isSilenced
+          ? _value.isSilenced
+          : isSilenced // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSuspended: null == isSuspended
+          ? _value.isSuspended
+          : isSuspended // ignore: cast_nullable_to_non_nullable
+              as bool,
+      description: freezed == description
+          ? _value.description
+          : description // ignore: cast_nullable_to_non_nullable
+              as String?,
+      location: freezed == location
+          ? _value.location
+          : location // ignore: cast_nullable_to_non_nullable
+              as String?,
+      birthday: freezed == birthday
+          ? _value.birthday
+          : birthday // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lang: freezed == lang
+          ? _value.lang
+          : lang // ignore: cast_nullable_to_non_nullable
+              as String?,
+      fields: freezed == fields
+          ? _value.fields
+          : fields // ignore: cast_nullable_to_non_nullable
+              as List<UserField>?,
+      followersCount: null == followersCount
+          ? _value.followersCount
+          : followersCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      followingCount: null == followingCount
+          ? _value.followingCount
+          : followingCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      notesCount: null == notesCount
+          ? _value.notesCount
+          : notesCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      pinnedNoteIds: freezed == pinnedNoteIds
+          ? _value.pinnedNoteIds
+          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
+              as List<String>?,
+      pinnedNotes: freezed == pinnedNotes
+          ? _value.pinnedNotes
+          : pinnedNotes // ignore: cast_nullable_to_non_nullable
+              as List<Note>?,
+      pinnedPageId: freezed == pinnedPageId
+          ? _value.pinnedPageId
+          : pinnedPageId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      pinnedPage: freezed == pinnedPage
+          ? _value.pinnedPage
+          : pinnedPage // ignore: cast_nullable_to_non_nullable
+              as Map<String, dynamic>?,
+      publicReactions: null == publicReactions
+          ? _value.publicReactions
+          : publicReactions // ignore: cast_nullable_to_non_nullable
+              as bool,
+      ffVisibility: null == ffVisibility
+          ? _value.ffVisibility
+          : ffVisibility // ignore: cast_nullable_to_non_nullable
+              as FFVisibility,
+      twoFactorEnabled: null == twoFactorEnabled
+          ? _value.twoFactorEnabled
+          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
+              as bool,
+      usePasswordLessLogin: null == usePasswordLessLogin
+          ? _value.usePasswordLessLogin
+          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
+              as bool,
+      securityKeys: null == securityKeys
+          ? _value.securityKeys
+          : securityKeys // ignore: cast_nullable_to_non_nullable
+              as bool,
+      roles: freezed == roles
+          ? _value.roles
+          : roles // ignore: cast_nullable_to_non_nullable
+              as List<UserRole>?,
+      memo: freezed == memo
+          ? _value.memo
+          : memo // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarId: freezed == avatarId
+          ? _value.avatarId
+          : avatarId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      bannerId: freezed == bannerId
+          ? _value.bannerId
+          : bannerId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isModerator: null == isModerator
+          ? _value.isModerator
+          : isModerator // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isAdmin: null == isAdmin
+          ? _value.isAdmin
+          : isAdmin // ignore: cast_nullable_to_non_nullable
+              as bool,
+      injectFeaturedNote: null == injectFeaturedNote
+          ? _value.injectFeaturedNote
+          : injectFeaturedNote // ignore: cast_nullable_to_non_nullable
+              as bool,
+      receiveAnnouncementEmail: null == receiveAnnouncementEmail
+          ? _value.receiveAnnouncementEmail
+          : receiveAnnouncementEmail // ignore: cast_nullable_to_non_nullable
+              as bool,
+      alwaysMarkNsfw: null == alwaysMarkNsfw
+          ? _value.alwaysMarkNsfw
+          : alwaysMarkNsfw // ignore: cast_nullable_to_non_nullable
+              as bool,
+      autoSensitive: null == autoSensitive
+          ? _value.autoSensitive
+          : autoSensitive // ignore: cast_nullable_to_non_nullable
+              as bool,
+      carefulBot: null == carefulBot
+          ? _value.carefulBot
+          : carefulBot // ignore: cast_nullable_to_non_nullable
+              as bool,
+      autoAcceptFollowed: null == autoAcceptFollowed
+          ? _value.autoAcceptFollowed
+          : autoAcceptFollowed // ignore: cast_nullable_to_non_nullable
+              as bool,
+      noCrawle: null == noCrawle
+          ? _value.noCrawle
+          : noCrawle // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isExplorable: null == isExplorable
+          ? _value.isExplorable
+          : isExplorable // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isDeleted: null == isDeleted
+          ? _value.isDeleted
+          : isDeleted // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hideOnlineStatus: null == hideOnlineStatus
+          ? _value.hideOnlineStatus
+          : hideOnlineStatus // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadSpecifiedNotes: null == hasUnreadSpecifiedNotes
+          ? _value.hasUnreadSpecifiedNotes
+          : hasUnreadSpecifiedNotes // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadMentions: null == hasUnreadMentions
+          ? _value.hasUnreadMentions
+          : hasUnreadMentions // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadAnnouncement: null == hasUnreadAnnouncement
+          ? _value.hasUnreadAnnouncement
+          : hasUnreadAnnouncement // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadAntenna: null == hasUnreadAntenna
+          ? _value.hasUnreadAntenna
+          : hasUnreadAntenna // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadChannel: null == hasUnreadChannel
+          ? _value.hasUnreadChannel
+          : hasUnreadChannel // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadNotification: null == hasUnreadNotification
+          ? _value.hasUnreadNotification
+          : hasUnreadNotification // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasPendingReceivedFollowRequest: null == hasPendingReceivedFollowRequest
+          ? _value.hasPendingReceivedFollowRequest
+          : hasPendingReceivedFollowRequest // ignore: cast_nullable_to_non_nullable
+              as bool,
+      unreadAnnouncements: null == unreadAnnouncements
+          ? _value.unreadAnnouncements
+          : unreadAnnouncements // ignore: cast_nullable_to_non_nullable
+              as List<AnnouncementsResponse>,
+      mutedWords: null == mutedWords
+          ? _value.mutedWords
+          : mutedWords // ignore: cast_nullable_to_non_nullable
+              as List<MuteWord>,
+      mutedInstances: null == mutedInstances
+          ? _value.mutedInstances
+          : mutedInstances // ignore: cast_nullable_to_non_nullable
+              as List<String>,
+      mutingNotificationTypes: freezed == mutingNotificationTypes
+          ? _value.mutingNotificationTypes
+          : mutingNotificationTypes // ignore: cast_nullable_to_non_nullable
+              as List<String>?,
+      notificationRecieveConfig: freezed == notificationRecieveConfig
+          ? _value.notificationRecieveConfig
+          : notificationRecieveConfig // ignore: cast_nullable_to_non_nullable
+              as dynamic,
+      emailNotificationTypes: null == emailNotificationTypes
+          ? _value.emailNotificationTypes
+          : emailNotificationTypes // ignore: cast_nullable_to_non_nullable
+              as List<String>,
+      achievements: null == achievements
+          ? _value.achievements
+          : achievements // ignore: cast_nullable_to_non_nullable
+              as List<UserAchievement>,
+      loggedInDays: null == loggedInDays
+          ? _value.loggedInDays
+          : loggedInDays // ignore: cast_nullable_to_non_nullable
+              as int,
+      policies: null == policies
+          ? _value.policies
+          : policies // ignore: cast_nullable_to_non_nullable
+              as UserPolicies,
+    ) as $Val);
+  }
+
+  @override
+  @pragma('vm:prefer-inline')
+  $UserInstanceInfoCopyWith<$Res>? get instance {
+    if (_value.instance == null) {
+      return null;
+    }
+
+    return $UserInstanceInfoCopyWith<$Res>(_value.instance!, (value) {
+      return _then(_value.copyWith(instance: value) as $Val);
+    });
+  }
+
+  @override
+  @pragma('vm:prefer-inline')
+  $UserPoliciesCopyWith<$Res> get policies {
+    return $UserPoliciesCopyWith<$Res>(_value.policies, (value) {
+      return _then(_value.copyWith(policies: value) as $Val);
+    });
+  }
+}
+
+/// @nodoc
+abstract class _$$_MeDetailedCopyWith<$Res>
+    implements $MeDetailedCopyWith<$Res> {
+  factory _$$_MeDetailedCopyWith(
+          _$_MeDetailed value, $Res Function(_$_MeDetailed) then) =
+      __$$_MeDetailedCopyWithImpl<$Res>;
+  @override
+  @useResult
+  $Res call(
+      {String id,
+      String? name,
+      String username,
+      String? host,
+      @UriConverter() Uri avatarUrl,
+      String? avatarBlurhash,
+      List<UserAvatarDecoration> avatarDecorations,
+      bool isBot,
+      bool isCat,
+      UserInstanceInfo? instance,
+      @EmojisConverter() Map<String, String> emojis,
+      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
+      List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() Uri? url,
+      @NullableUriConverter() Uri? uri,
+      @DateTimeConverter() DateTime createdAt,
+      @NullableDateTimeConverter() DateTime? updatedAt,
+      @NullableDateTimeConverter() DateTime? lastFetchedAt,
+      @NullableUriConverter() Uri? bannerUrl,
+      String? bannerBlurhash,
+      bool isLocked,
+      bool isSilenced,
+      bool isSuspended,
+      String? description,
+      String? location,
+      @NullableDateTimeConverter() DateTime? birthday,
+      String? lang,
+      List<UserField>? fields,
+      int followersCount,
+      int followingCount,
+      int notesCount,
+      List<String>? pinnedNoteIds,
+      List<Note>? pinnedNotes,
+      String? pinnedPageId,
+      Map<String, dynamic>? pinnedPage,
+      bool publicReactions,
+      FFVisibility ffVisibility,
+      bool twoFactorEnabled,
+      bool usePasswordLessLogin,
+      bool securityKeys,
+      List<UserRole>? roles,
+      String? memo,
+      String? avatarId,
+      String? bannerId,
+      bool isModerator,
+      bool isAdmin,
+      bool injectFeaturedNote,
+      bool receiveAnnouncementEmail,
+      bool alwaysMarkNsfw,
+      bool autoSensitive,
+      bool carefulBot,
+      bool autoAcceptFollowed,
+      bool noCrawle,
+      bool isExplorable,
+      bool isDeleted,
+      bool hideOnlineStatus,
+      bool hasUnreadSpecifiedNotes,
+      bool hasUnreadMentions,
+      bool hasUnreadAnnouncement,
+      bool hasUnreadAntenna,
+      bool hasUnreadChannel,
+      bool hasUnreadNotification,
+      bool hasPendingReceivedFollowRequest,
+      List<AnnouncementsResponse> unreadAnnouncements,
+      @MuteWordsConverter() List<MuteWord> mutedWords,
+      List<String> mutedInstances,
+      @Deprecated("Deprecated in Misskey 2023.9.2")
+      List<String>? mutingNotificationTypes,
+      dynamic notificationRecieveConfig,
+      List<String> emailNotificationTypes,
+      List<UserAchievement> achievements,
+      int loggedInDays,
+      UserPolicies policies});
+
+  @override
+  $UserInstanceInfoCopyWith<$Res>? get instance;
+  @override
+  $UserPoliciesCopyWith<$Res> get policies;
+}
+
+/// @nodoc
+class __$$_MeDetailedCopyWithImpl<$Res>
+    extends _$MeDetailedCopyWithImpl<$Res, _$_MeDetailed>
+    implements _$$_MeDetailedCopyWith<$Res> {
+  __$$_MeDetailedCopyWithImpl(
+      _$_MeDetailed _value, $Res Function(_$_MeDetailed) _then)
+      : super(_value, _then);
+
+  @pragma('vm:prefer-inline')
+  @override
+  $Res call({
+    Object? id = null,
+    Object? name = freezed,
+    Object? username = null,
+    Object? host = freezed,
+    Object? avatarUrl = null,
+    Object? avatarBlurhash = freezed,
+    Object? avatarDecorations = null,
+    Object? isBot = null,
+    Object? isCat = null,
+    Object? instance = freezed,
+    Object? emojis = null,
+    Object? onlineStatus = freezed,
+    Object? badgeRoles = null,
+    Object? url = freezed,
+    Object? uri = freezed,
+    Object? createdAt = null,
+    Object? updatedAt = freezed,
+    Object? lastFetchedAt = freezed,
+    Object? bannerUrl = freezed,
+    Object? bannerBlurhash = freezed,
+    Object? isLocked = null,
+    Object? isSilenced = null,
+    Object? isSuspended = null,
+    Object? description = freezed,
+    Object? location = freezed,
+    Object? birthday = freezed,
+    Object? lang = freezed,
+    Object? fields = freezed,
+    Object? followersCount = null,
+    Object? followingCount = null,
+    Object? notesCount = null,
+    Object? pinnedNoteIds = freezed,
+    Object? pinnedNotes = freezed,
+    Object? pinnedPageId = freezed,
+    Object? pinnedPage = freezed,
+    Object? publicReactions = null,
+    Object? ffVisibility = null,
+    Object? twoFactorEnabled = null,
+    Object? usePasswordLessLogin = null,
+    Object? securityKeys = null,
+    Object? roles = freezed,
+    Object? memo = freezed,
+    Object? avatarId = freezed,
+    Object? bannerId = freezed,
+    Object? isModerator = null,
+    Object? isAdmin = null,
+    Object? injectFeaturedNote = null,
+    Object? receiveAnnouncementEmail = null,
+    Object? alwaysMarkNsfw = null,
+    Object? autoSensitive = null,
+    Object? carefulBot = null,
+    Object? autoAcceptFollowed = null,
+    Object? noCrawle = null,
+    Object? isExplorable = null,
+    Object? isDeleted = null,
+    Object? hideOnlineStatus = null,
+    Object? hasUnreadSpecifiedNotes = null,
+    Object? hasUnreadMentions = null,
+    Object? hasUnreadAnnouncement = null,
+    Object? hasUnreadAntenna = null,
+    Object? hasUnreadChannel = null,
+    Object? hasUnreadNotification = null,
+    Object? hasPendingReceivedFollowRequest = null,
+    Object? unreadAnnouncements = null,
+    Object? mutedWords = null,
+    Object? mutedInstances = null,
+    Object? mutingNotificationTypes = freezed,
+    Object? notificationRecieveConfig = freezed,
+    Object? emailNotificationTypes = null,
+    Object? achievements = null,
+    Object? loggedInDays = null,
+    Object? policies = null,
+  }) {
+    return _then(_$_MeDetailed(
+      id: null == id
+          ? _value.id
+          : id // ignore: cast_nullable_to_non_nullable
+              as String,
+      name: freezed == name
+          ? _value.name
+          : name // ignore: cast_nullable_to_non_nullable
+              as String?,
+      username: null == username
+          ? _value.username
+          : username // ignore: cast_nullable_to_non_nullable
+              as String,
+      host: freezed == host
+          ? _value.host
+          : host // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarUrl: null == avatarUrl
+          ? _value.avatarUrl
+          : avatarUrl // ignore: cast_nullable_to_non_nullable
+              as Uri,
+      avatarBlurhash: freezed == avatarBlurhash
+          ? _value.avatarBlurhash
+          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarDecorations: null == avatarDecorations
+          ? _value._avatarDecorations
+          : avatarDecorations // ignore: cast_nullable_to_non_nullable
+              as List<UserAvatarDecoration>,
+      isBot: null == isBot
+          ? _value.isBot
+          : isBot // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isCat: null == isCat
+          ? _value.isCat
+          : isCat // ignore: cast_nullable_to_non_nullable
+              as bool,
+      instance: freezed == instance
+          ? _value.instance
+          : instance // ignore: cast_nullable_to_non_nullable
+              as UserInstanceInfo?,
+      emojis: null == emojis
+          ? _value._emojis
+          : emojis // ignore: cast_nullable_to_non_nullable
+              as Map<String, String>,
+      onlineStatus: freezed == onlineStatus
+          ? _value.onlineStatus
+          : onlineStatus // ignore: cast_nullable_to_non_nullable
+              as OnlineStatus?,
+      badgeRoles: null == badgeRoles
+          ? _value._badgeRoles
+          : badgeRoles // ignore: cast_nullable_to_non_nullable
+              as List<UserBadgeRole>,
+      url: freezed == url
+          ? _value.url
+          : url // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      uri: freezed == uri
+          ? _value.uri
+          : uri // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      createdAt: null == createdAt
+          ? _value.createdAt
+          : createdAt // ignore: cast_nullable_to_non_nullable
+              as DateTime,
+      updatedAt: freezed == updatedAt
+          ? _value.updatedAt
+          : updatedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lastFetchedAt: freezed == lastFetchedAt
+          ? _value.lastFetchedAt
+          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      bannerUrl: freezed == bannerUrl
+          ? _value.bannerUrl
+          : bannerUrl // ignore: cast_nullable_to_non_nullable
+              as Uri?,
+      bannerBlurhash: freezed == bannerBlurhash
+          ? _value.bannerBlurhash
+          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isLocked: null == isLocked
+          ? _value.isLocked
+          : isLocked // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSilenced: null == isSilenced
+          ? _value.isSilenced
+          : isSilenced // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isSuspended: null == isSuspended
+          ? _value.isSuspended
+          : isSuspended // ignore: cast_nullable_to_non_nullable
+              as bool,
+      description: freezed == description
+          ? _value.description
+          : description // ignore: cast_nullable_to_non_nullable
+              as String?,
+      location: freezed == location
+          ? _value.location
+          : location // ignore: cast_nullable_to_non_nullable
+              as String?,
+      birthday: freezed == birthday
+          ? _value.birthday
+          : birthday // ignore: cast_nullable_to_non_nullable
+              as DateTime?,
+      lang: freezed == lang
+          ? _value.lang
+          : lang // ignore: cast_nullable_to_non_nullable
+              as String?,
+      fields: freezed == fields
+          ? _value._fields
+          : fields // ignore: cast_nullable_to_non_nullable
+              as List<UserField>?,
+      followersCount: null == followersCount
+          ? _value.followersCount
+          : followersCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      followingCount: null == followingCount
+          ? _value.followingCount
+          : followingCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      notesCount: null == notesCount
+          ? _value.notesCount
+          : notesCount // ignore: cast_nullable_to_non_nullable
+              as int,
+      pinnedNoteIds: freezed == pinnedNoteIds
+          ? _value._pinnedNoteIds
+          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
+              as List<String>?,
+      pinnedNotes: freezed == pinnedNotes
+          ? _value._pinnedNotes
+          : pinnedNotes // ignore: cast_nullable_to_non_nullable
+              as List<Note>?,
+      pinnedPageId: freezed == pinnedPageId
+          ? _value.pinnedPageId
+          : pinnedPageId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      pinnedPage: freezed == pinnedPage
+          ? _value._pinnedPage
+          : pinnedPage // ignore: cast_nullable_to_non_nullable
+              as Map<String, dynamic>?,
+      publicReactions: null == publicReactions
+          ? _value.publicReactions
+          : publicReactions // ignore: cast_nullable_to_non_nullable
+              as bool,
+      ffVisibility: null == ffVisibility
+          ? _value.ffVisibility
+          : ffVisibility // ignore: cast_nullable_to_non_nullable
+              as FFVisibility,
+      twoFactorEnabled: null == twoFactorEnabled
+          ? _value.twoFactorEnabled
+          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
+              as bool,
+      usePasswordLessLogin: null == usePasswordLessLogin
+          ? _value.usePasswordLessLogin
+          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
+              as bool,
+      securityKeys: null == securityKeys
+          ? _value.securityKeys
+          : securityKeys // ignore: cast_nullable_to_non_nullable
+              as bool,
+      roles: freezed == roles
+          ? _value._roles
+          : roles // ignore: cast_nullable_to_non_nullable
+              as List<UserRole>?,
+      memo: freezed == memo
+          ? _value.memo
+          : memo // ignore: cast_nullable_to_non_nullable
+              as String?,
+      avatarId: freezed == avatarId
+          ? _value.avatarId
+          : avatarId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      bannerId: freezed == bannerId
+          ? _value.bannerId
+          : bannerId // ignore: cast_nullable_to_non_nullable
+              as String?,
+      isModerator: null == isModerator
+          ? _value.isModerator
+          : isModerator // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isAdmin: null == isAdmin
+          ? _value.isAdmin
+          : isAdmin // ignore: cast_nullable_to_non_nullable
+              as bool,
+      injectFeaturedNote: null == injectFeaturedNote
+          ? _value.injectFeaturedNote
+          : injectFeaturedNote // ignore: cast_nullable_to_non_nullable
+              as bool,
+      receiveAnnouncementEmail: null == receiveAnnouncementEmail
+          ? _value.receiveAnnouncementEmail
+          : receiveAnnouncementEmail // ignore: cast_nullable_to_non_nullable
+              as bool,
+      alwaysMarkNsfw: null == alwaysMarkNsfw
+          ? _value.alwaysMarkNsfw
+          : alwaysMarkNsfw // ignore: cast_nullable_to_non_nullable
+              as bool,
+      autoSensitive: null == autoSensitive
+          ? _value.autoSensitive
+          : autoSensitive // ignore: cast_nullable_to_non_nullable
+              as bool,
+      carefulBot: null == carefulBot
+          ? _value.carefulBot
+          : carefulBot // ignore: cast_nullable_to_non_nullable
+              as bool,
+      autoAcceptFollowed: null == autoAcceptFollowed
+          ? _value.autoAcceptFollowed
+          : autoAcceptFollowed // ignore: cast_nullable_to_non_nullable
+              as bool,
+      noCrawle: null == noCrawle
+          ? _value.noCrawle
+          : noCrawle // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isExplorable: null == isExplorable
+          ? _value.isExplorable
+          : isExplorable // ignore: cast_nullable_to_non_nullable
+              as bool,
+      isDeleted: null == isDeleted
+          ? _value.isDeleted
+          : isDeleted // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hideOnlineStatus: null == hideOnlineStatus
+          ? _value.hideOnlineStatus
+          : hideOnlineStatus // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadSpecifiedNotes: null == hasUnreadSpecifiedNotes
+          ? _value.hasUnreadSpecifiedNotes
+          : hasUnreadSpecifiedNotes // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadMentions: null == hasUnreadMentions
+          ? _value.hasUnreadMentions
+          : hasUnreadMentions // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadAnnouncement: null == hasUnreadAnnouncement
+          ? _value.hasUnreadAnnouncement
+          : hasUnreadAnnouncement // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadAntenna: null == hasUnreadAntenna
+          ? _value.hasUnreadAntenna
+          : hasUnreadAntenna // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadChannel: null == hasUnreadChannel
+          ? _value.hasUnreadChannel
+          : hasUnreadChannel // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasUnreadNotification: null == hasUnreadNotification
+          ? _value.hasUnreadNotification
+          : hasUnreadNotification // ignore: cast_nullable_to_non_nullable
+              as bool,
+      hasPendingReceivedFollowRequest: null == hasPendingReceivedFollowRequest
+          ? _value.hasPendingReceivedFollowRequest
+          : hasPendingReceivedFollowRequest // ignore: cast_nullable_to_non_nullable
+              as bool,
+      unreadAnnouncements: null == unreadAnnouncements
+          ? _value._unreadAnnouncements
+          : unreadAnnouncements // ignore: cast_nullable_to_non_nullable
+              as List<AnnouncementsResponse>,
+      mutedWords: null == mutedWords
+          ? _value._mutedWords
+          : mutedWords // ignore: cast_nullable_to_non_nullable
+              as List<MuteWord>,
+      mutedInstances: null == mutedInstances
+          ? _value._mutedInstances
+          : mutedInstances // ignore: cast_nullable_to_non_nullable
+              as List<String>,
+      mutingNotificationTypes: freezed == mutingNotificationTypes
+          ? _value._mutingNotificationTypes
+          : mutingNotificationTypes // ignore: cast_nullable_to_non_nullable
+              as List<String>?,
+      notificationRecieveConfig: freezed == notificationRecieveConfig
+          ? _value.notificationRecieveConfig
+          : notificationRecieveConfig // ignore: cast_nullable_to_non_nullable
+              as dynamic,
+      emailNotificationTypes: null == emailNotificationTypes
+          ? _value._emailNotificationTypes
+          : emailNotificationTypes // ignore: cast_nullable_to_non_nullable
+              as List<String>,
+      achievements: null == achievements
+          ? _value._achievements
+          : achievements // ignore: cast_nullable_to_non_nullable
+              as List<UserAchievement>,
+      loggedInDays: null == loggedInDays
+          ? _value.loggedInDays
+          : loggedInDays // ignore: cast_nullable_to_non_nullable
+              as int,
+      policies: null == policies
+          ? _value.policies
+          : policies // ignore: cast_nullable_to_non_nullable
+              as UserPolicies,
+    ));
+  }
+}
+
+/// @nodoc
+@JsonSerializable()
+class _$_MeDetailed implements _MeDetailed {
+  const _$_MeDetailed(
+      {required this.id,
+      this.name,
+      required this.username,
+      this.host,
+      @UriConverter() required this.avatarUrl,
+      this.avatarBlurhash,
+      final List<UserAvatarDecoration> avatarDecorations = const [],
+      required this.isBot,
+      required this.isCat,
+      this.instance,
+      @EmojisConverter() final Map<String, String> emojis = const {},
+      @OnlineStatusJsonConverter() this.onlineStatus,
+      final List<UserBadgeRole> badgeRoles = const [],
+      @NullableUriConverter() this.url,
+      @NullableUriConverter() this.uri,
+      @DateTimeConverter() required this.createdAt,
+      @NullableDateTimeConverter() this.updatedAt,
+      @NullableDateTimeConverter() this.lastFetchedAt,
+      @NullableUriConverter() this.bannerUrl,
+      this.bannerBlurhash,
+      required this.isLocked,
+      required this.isSilenced,
+      required this.isSuspended,
+      this.description,
+      this.location,
+      @NullableDateTimeConverter() this.birthday,
+      this.lang,
+      final List<UserField>? fields,
+      required this.followersCount,
+      required this.followingCount,
+      required this.notesCount,
+      final List<String>? pinnedNoteIds,
+      final List<Note>? pinnedNotes,
+      this.pinnedPageId,
+      final Map<String, dynamic>? pinnedPage,
+      required this.publicReactions,
+      required this.ffVisibility,
+      required this.twoFactorEnabled,
+      required this.usePasswordLessLogin,
+      required this.securityKeys,
+      final List<UserRole>? roles,
+      this.memo,
+      this.avatarId,
+      this.bannerId,
+      required this.isModerator,
+      required this.isAdmin,
+      required this.injectFeaturedNote,
+      required this.receiveAnnouncementEmail,
+      required this.alwaysMarkNsfw,
+      required this.autoSensitive,
+      required this.carefulBot,
+      required this.autoAcceptFollowed,
+      required this.noCrawle,
+      required this.isExplorable,
+      required this.isDeleted,
+      required this.hideOnlineStatus,
+      required this.hasUnreadSpecifiedNotes,
+      required this.hasUnreadMentions,
+      required this.hasUnreadAnnouncement,
+      required this.hasUnreadAntenna,
+      required this.hasUnreadChannel,
+      required this.hasUnreadNotification,
+      required this.hasPendingReceivedFollowRequest,
+      final List<AnnouncementsResponse> unreadAnnouncements = const [],
+      @MuteWordsConverter() required final List<MuteWord> mutedWords,
+      required final List<String> mutedInstances,
+      @Deprecated("Deprecated in Misskey 2023.9.2")
+      final List<String>? mutingNotificationTypes,
+      this.notificationRecieveConfig,
+      required final List<String> emailNotificationTypes,
+      required final List<UserAchievement> achievements,
+      required this.loggedInDays,
+      required this.policies})
+      : _avatarDecorations = avatarDecorations,
+        _emojis = emojis,
+        _badgeRoles = badgeRoles,
+        _fields = fields,
+        _pinnedNoteIds = pinnedNoteIds,
+        _pinnedNotes = pinnedNotes,
+        _pinnedPage = pinnedPage,
+        _roles = roles,
+        _unreadAnnouncements = unreadAnnouncements,
+        _mutedWords = mutedWords,
+        _mutedInstances = mutedInstances,
+        _mutingNotificationTypes = mutingNotificationTypes,
+        _emailNotificationTypes = emailNotificationTypes,
+        _achievements = achievements;
+
+  factory _$_MeDetailed.fromJson(Map<String, dynamic> json) =>
+      _$$_MeDetailedFromJson(json);
+
+  @override
+  final String id;
+  @override
+  final String? name;
+  @override
+  final String username;
+  @override
+  final String? host;
+  @override
+  @UriConverter()
+  final Uri avatarUrl;
+  @override
+  final String? avatarBlurhash;
+  final List<UserAvatarDecoration> _avatarDecorations;
+  @override
+  @JsonKey()
+  List<UserAvatarDecoration> get avatarDecorations {
+    if (_avatarDecorations is EqualUnmodifiableListView)
+      return _avatarDecorations;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_avatarDecorations);
+  }
+
+  @override
+  final bool isBot;
+  @override
+  final bool isCat;
+  @override
+  final UserInstanceInfo? instance;
+  final Map<String, String> _emojis;
+  @override
+  @JsonKey()
+  @EmojisConverter()
+  Map<String, String> get emojis {
+    if (_emojis is EqualUnmodifiableMapView) return _emojis;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableMapView(_emojis);
+  }
+
+  @override
+  @OnlineStatusJsonConverter()
+  final OnlineStatus? onlineStatus;
+  final List<UserBadgeRole> _badgeRoles;
+  @override
+  @JsonKey()
+  List<UserBadgeRole> get badgeRoles {
+    if (_badgeRoles is EqualUnmodifiableListView) return _badgeRoles;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_badgeRoles);
+  }
+
   @override
-  bool get isCat;
+  @NullableUriConverter()
+  final Uri? url;
+  @override
+  @NullableUriConverter()
+  final Uri? uri;
+  @override
+  @DateTimeConverter()
+  final DateTime createdAt;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? updatedAt;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? lastFetchedAt;
+  @override
+  @NullableUriConverter()
+  final Uri? bannerUrl;
+  @override
+  final String? bannerBlurhash;
+  @override
+  final bool isLocked;
+  @override
+  final bool isSilenced;
+  @override
+  final bool isSuspended;
+  @override
+  final String? description;
+  @override
+  final String? location;
+  @override
+  @NullableDateTimeConverter()
+  final DateTime? birthday;
+  @override
+  final String? lang;
+  final List<UserField>? _fields;
+  @override
+  List<UserField>? get fields {
+    final value = _fields;
+    if (value == null) return null;
+    if (_fields is EqualUnmodifiableListView) return _fields;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final int followersCount;
+  @override
+  final int followingCount;
+  @override
+  final int notesCount;
+  final List<String>? _pinnedNoteIds;
+  @override
+  List<String>? get pinnedNoteIds {
+    final value = _pinnedNoteIds;
+    if (value == null) return null;
+    if (_pinnedNoteIds is EqualUnmodifiableListView) return _pinnedNoteIds;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  final List<Note>? _pinnedNotes;
+  @override
+  List<Note>? get pinnedNotes {
+    final value = _pinnedNotes;
+    if (value == null) return null;
+    if (_pinnedNotes is EqualUnmodifiableListView) return _pinnedNotes;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final String? pinnedPageId;
+  final Map<String, dynamic>? _pinnedPage;
+  @override
+  Map<String, dynamic>? get pinnedPage {
+    final value = _pinnedPage;
+    if (value == null) return null;
+    if (_pinnedPage is EqualUnmodifiableMapView) return _pinnedPage;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableMapView(value);
+  }
+
+  @override
+  final bool publicReactions;
+  @override
+  final FFVisibility ffVisibility;
+  @override
+  final bool twoFactorEnabled;
+  @override
+  final bool usePasswordLessLogin;
+  @override
+  final bool securityKeys;
+  final List<UserRole>? _roles;
+  @override
+  List<UserRole>? get roles {
+    final value = _roles;
+    if (value == null) return null;
+    if (_roles is EqualUnmodifiableListView) return _roles;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final String? memo;
+  @override
+  final String? avatarId;
+  @override
+  final String? bannerId;
+  @override
+  final bool isModerator;
+  @override
+  final bool isAdmin;
+  @override
+  final bool injectFeaturedNote;
+  @override
+  final bool receiveAnnouncementEmail;
+  @override
+  final bool alwaysMarkNsfw;
+  @override
+  final bool autoSensitive;
+  @override
+  final bool carefulBot;
+  @override
+  final bool autoAcceptFollowed;
+  @override
+  final bool noCrawle;
+  @override
+  final bool isExplorable;
+  @override
+  final bool isDeleted;
+  @override
+  final bool hideOnlineStatus;
+  @override
+  final bool hasUnreadSpecifiedNotes;
+  @override
+  final bool hasUnreadMentions;
+  @override
+  final bool hasUnreadAnnouncement;
+  @override
+  final bool hasUnreadAntenna;
+  @override
+  final bool hasUnreadChannel;
+  @override
+  final bool hasUnreadNotification;
+  @override
+  final bool hasPendingReceivedFollowRequest;
+  final List<AnnouncementsResponse> _unreadAnnouncements;
+  @override
+  @JsonKey()
+  List<AnnouncementsResponse> get unreadAnnouncements {
+    if (_unreadAnnouncements is EqualUnmodifiableListView)
+      return _unreadAnnouncements;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_unreadAnnouncements);
+  }
+
+  final List<MuteWord> _mutedWords;
+  @override
+  @MuteWordsConverter()
+  List<MuteWord> get mutedWords {
+    if (_mutedWords is EqualUnmodifiableListView) return _mutedWords;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_mutedWords);
+  }
+
+  final List<String> _mutedInstances;
+  @override
+  List<String> get mutedInstances {
+    if (_mutedInstances is EqualUnmodifiableListView) return _mutedInstances;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_mutedInstances);
+  }
+
+  final List<String>? _mutingNotificationTypes;
+  @override
+  @Deprecated("Deprecated in Misskey 2023.9.2")
+  List<String>? get mutingNotificationTypes {
+    final value = _mutingNotificationTypes;
+    if (value == null) return null;
+    if (_mutingNotificationTypes is EqualUnmodifiableListView)
+      return _mutingNotificationTypes;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(value);
+  }
+
+  @override
+  final dynamic notificationRecieveConfig;
+  final List<String> _emailNotificationTypes;
+  @override
+  List<String> get emailNotificationTypes {
+    if (_emailNotificationTypes is EqualUnmodifiableListView)
+      return _emailNotificationTypes;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_emailNotificationTypes);
+  }
+
+  final List<UserAchievement> _achievements;
+  @override
+  List<UserAchievement> get achievements {
+    if (_achievements is EqualUnmodifiableListView) return _achievements;
+    // ignore: implicit_dynamic_type
+    return EqualUnmodifiableListView(_achievements);
+  }
+
+  @override
+  final int loggedInDays;
+  @override
+  final UserPolicies policies;
+
+  @override
+  String toString() {
+    return 'MeDetailed(id: $id, name: $name, username: $username, host: $host, avatarUrl: $avatarUrl, avatarBlurhash: $avatarBlurhash, avatarDecorations: $avatarDecorations, isBot: $isBot, isCat: $isCat, instance: $instance, emojis: $emojis, onlineStatus: $onlineStatus, badgeRoles: $badgeRoles, url: $url, uri: $uri, createdAt: $createdAt, updatedAt: $updatedAt, lastFetchedAt: $lastFetchedAt, bannerUrl: $bannerUrl, bannerBlurhash: $bannerBlurhash, isLocked: $isLocked, isSilenced: $isSilenced, isSuspended: $isSuspended, description: $description, location: $location, birthday: $birthday, lang: $lang, fields: $fields, followersCount: $followersCount, followingCount: $followingCount, notesCount: $notesCount, pinnedNoteIds: $pinnedNoteIds, pinnedNotes: $pinnedNotes, pinnedPageId: $pinnedPageId, pinnedPage: $pinnedPage, publicReactions: $publicReactions, ffVisibility: $ffVisibility, twoFactorEnabled: $twoFactorEnabled, usePasswordLessLogin: $usePasswordLessLogin, securityKeys: $securityKeys, roles: $roles, memo: $memo, avatarId: $avatarId, bannerId: $bannerId, isModerator: $isModerator, isAdmin: $isAdmin, injectFeaturedNote: $injectFeaturedNote, receiveAnnouncementEmail: $receiveAnnouncementEmail, alwaysMarkNsfw: $alwaysMarkNsfw, autoSensitive: $autoSensitive, carefulBot: $carefulBot, autoAcceptFollowed: $autoAcceptFollowed, noCrawle: $noCrawle, isExplorable: $isExplorable, isDeleted: $isDeleted, hideOnlineStatus: $hideOnlineStatus, hasUnreadSpecifiedNotes: $hasUnreadSpecifiedNotes, hasUnreadMentions: $hasUnreadMentions, hasUnreadAnnouncement: $hasUnreadAnnouncement, hasUnreadAntenna: $hasUnreadAntenna, hasUnreadChannel: $hasUnreadChannel, hasUnreadNotification: $hasUnreadNotification, hasPendingReceivedFollowRequest: $hasPendingReceivedFollowRequest, unreadAnnouncements: $unreadAnnouncements, mutedWords: $mutedWords, mutedInstances: $mutedInstances, mutingNotificationTypes: $mutingNotificationTypes, notificationRecieveConfig: $notificationRecieveConfig, emailNotificationTypes: $emailNotificationTypes, achievements: $achievements, loggedInDays: $loggedInDays, policies: $policies)';
+  }
+
+  @override
+  bool operator ==(dynamic other) {
+    return identical(this, other) ||
+        (other.runtimeType == runtimeType &&
+            other is _$_MeDetailed &&
+            (identical(other.id, id) || other.id == id) &&
+            (identical(other.name, name) || other.name == name) &&
+            (identical(other.username, username) ||
+                other.username == username) &&
+            (identical(other.host, host) || other.host == host) &&
+            (identical(other.avatarUrl, avatarUrl) ||
+                other.avatarUrl == avatarUrl) &&
+            (identical(other.avatarBlurhash, avatarBlurhash) ||
+                other.avatarBlurhash == avatarBlurhash) &&
+            const DeepCollectionEquality()
+                .equals(other._avatarDecorations, _avatarDecorations) &&
+            (identical(other.isBot, isBot) || other.isBot == isBot) &&
+            (identical(other.isCat, isCat) || other.isCat == isCat) &&
+            (identical(other.instance, instance) ||
+                other.instance == instance) &&
+            const DeepCollectionEquality().equals(other._emojis, _emojis) &&
+            (identical(other.onlineStatus, onlineStatus) ||
+                other.onlineStatus == onlineStatus) &&
+            const DeepCollectionEquality()
+                .equals(other._badgeRoles, _badgeRoles) &&
+            (identical(other.url, url) || other.url == url) &&
+            (identical(other.uri, uri) || other.uri == uri) &&
+            (identical(other.createdAt, createdAt) ||
+                other.createdAt == createdAt) &&
+            (identical(other.updatedAt, updatedAt) ||
+                other.updatedAt == updatedAt) &&
+            (identical(other.lastFetchedAt, lastFetchedAt) ||
+                other.lastFetchedAt == lastFetchedAt) &&
+            (identical(other.bannerUrl, bannerUrl) ||
+                other.bannerUrl == bannerUrl) &&
+            (identical(other.bannerBlurhash, bannerBlurhash) ||
+                other.bannerBlurhash == bannerBlurhash) &&
+            (identical(other.isLocked, isLocked) ||
+                other.isLocked == isLocked) &&
+            (identical(other.isSilenced, isSilenced) ||
+                other.isSilenced == isSilenced) &&
+            (identical(other.isSuspended, isSuspended) ||
+                other.isSuspended == isSuspended) &&
+            (identical(other.description, description) ||
+                other.description == description) &&
+            (identical(other.location, location) ||
+                other.location == location) &&
+            (identical(other.birthday, birthday) ||
+                other.birthday == birthday) &&
+            (identical(other.lang, lang) || other.lang == lang) &&
+            const DeepCollectionEquality().equals(other._fields, _fields) &&
+            (identical(other.followersCount, followersCount) ||
+                other.followersCount == followersCount) &&
+            (identical(other.followingCount, followingCount) ||
+                other.followingCount == followingCount) &&
+            (identical(other.notesCount, notesCount) ||
+                other.notesCount == notesCount) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedNoteIds, _pinnedNoteIds) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedNotes, _pinnedNotes) &&
+            (identical(other.pinnedPageId, pinnedPageId) ||
+                other.pinnedPageId == pinnedPageId) &&
+            const DeepCollectionEquality()
+                .equals(other._pinnedPage, _pinnedPage) &&
+            (identical(other.publicReactions, publicReactions) ||
+                other.publicReactions == publicReactions) &&
+            (identical(other.ffVisibility, ffVisibility) ||
+                other.ffVisibility == ffVisibility) &&
+            (identical(other.twoFactorEnabled, twoFactorEnabled) ||
+                other.twoFactorEnabled == twoFactorEnabled) &&
+            (identical(other.usePasswordLessLogin, usePasswordLessLogin) ||
+                other.usePasswordLessLogin == usePasswordLessLogin) &&
+            (identical(other.securityKeys, securityKeys) ||
+                other.securityKeys == securityKeys) &&
+            const DeepCollectionEquality().equals(other._roles, _roles) &&
+            (identical(other.memo, memo) || other.memo == memo) &&
+            (identical(other.avatarId, avatarId) ||
+                other.avatarId == avatarId) &&
+            (identical(other.bannerId, bannerId) ||
+                other.bannerId == bannerId) &&
+            (identical(other.isModerator, isModerator) ||
+                other.isModerator == isModerator) &&
+            (identical(other.isAdmin, isAdmin) || other.isAdmin == isAdmin) &&
+            (identical(other.injectFeaturedNote, injectFeaturedNote) ||
+                other.injectFeaturedNote == injectFeaturedNote) &&
+            (identical(other.receiveAnnouncementEmail, receiveAnnouncementEmail) ||
+                other.receiveAnnouncementEmail == receiveAnnouncementEmail) &&
+            (identical(other.alwaysMarkNsfw, alwaysMarkNsfw) ||
+                other.alwaysMarkNsfw == alwaysMarkNsfw) &&
+            (identical(other.autoSensitive, autoSensitive) ||
+                other.autoSensitive == autoSensitive) &&
+            (identical(other.carefulBot, carefulBot) ||
+                other.carefulBot == carefulBot) &&
+            (identical(other.autoAcceptFollowed, autoAcceptFollowed) ||
+                other.autoAcceptFollowed == autoAcceptFollowed) &&
+            (identical(other.noCrawle, noCrawle) ||
+                other.noCrawle == noCrawle) &&
+            (identical(other.isExplorable, isExplorable) ||
+                other.isExplorable == isExplorable) &&
+            (identical(other.isDeleted, isDeleted) ||
+                other.isDeleted == isDeleted) &&
+            (identical(other.hideOnlineStatus, hideOnlineStatus) || other.hideOnlineStatus == hideOnlineStatus) &&
+            (identical(other.hasUnreadSpecifiedNotes, hasUnreadSpecifiedNotes) || other.hasUnreadSpecifiedNotes == hasUnreadSpecifiedNotes) &&
+            (identical(other.hasUnreadMentions, hasUnreadMentions) || other.hasUnreadMentions == hasUnreadMentions) &&
+            (identical(other.hasUnreadAnnouncement, hasUnreadAnnouncement) || other.hasUnreadAnnouncement == hasUnreadAnnouncement) &&
+            (identical(other.hasUnreadAntenna, hasUnreadAntenna) || other.hasUnreadAntenna == hasUnreadAntenna) &&
+            (identical(other.hasUnreadChannel, hasUnreadChannel) || other.hasUnreadChannel == hasUnreadChannel) &&
+            (identical(other.hasUnreadNotification, hasUnreadNotification) || other.hasUnreadNotification == hasUnreadNotification) &&
+            (identical(other.hasPendingReceivedFollowRequest, hasPendingReceivedFollowRequest) || other.hasPendingReceivedFollowRequest == hasPendingReceivedFollowRequest) &&
+            const DeepCollectionEquality().equals(other._unreadAnnouncements, _unreadAnnouncements) &&
+            const DeepCollectionEquality().equals(other._mutedWords, _mutedWords) &&
+            const DeepCollectionEquality().equals(other._mutedInstances, _mutedInstances) &&
+            const DeepCollectionEquality().equals(other._mutingNotificationTypes, _mutingNotificationTypes) &&
+            const DeepCollectionEquality().equals(other.notificationRecieveConfig, notificationRecieveConfig) &&
+            const DeepCollectionEquality().equals(other._emailNotificationTypes, _emailNotificationTypes) &&
+            const DeepCollectionEquality().equals(other._achievements, _achievements) &&
+            (identical(other.loggedInDays, loggedInDays) || other.loggedInDays == loggedInDays) &&
+            (identical(other.policies, policies) || other.policies == policies));
+  }
+
+  @JsonKey(ignore: true)
+  @override
+  int get hashCode => Object.hashAll([
+        runtimeType,
+        id,
+        name,
+        username,
+        host,
+        avatarUrl,
+        avatarBlurhash,
+        const DeepCollectionEquality().hash(_avatarDecorations),
+        isBot,
+        isCat,
+        instance,
+        const DeepCollectionEquality().hash(_emojis),
+        onlineStatus,
+        const DeepCollectionEquality().hash(_badgeRoles),
+        url,
+        uri,
+        createdAt,
+        updatedAt,
+        lastFetchedAt,
+        bannerUrl,
+        bannerBlurhash,
+        isLocked,
+        isSilenced,
+        isSuspended,
+        description,
+        location,
+        birthday,
+        lang,
+        const DeepCollectionEquality().hash(_fields),
+        followersCount,
+        followingCount,
+        notesCount,
+        const DeepCollectionEquality().hash(_pinnedNoteIds),
+        const DeepCollectionEquality().hash(_pinnedNotes),
+        pinnedPageId,
+        const DeepCollectionEquality().hash(_pinnedPage),
+        publicReactions,
+        ffVisibility,
+        twoFactorEnabled,
+        usePasswordLessLogin,
+        securityKeys,
+        const DeepCollectionEquality().hash(_roles),
+        memo,
+        avatarId,
+        bannerId,
+        isModerator,
+        isAdmin,
+        injectFeaturedNote,
+        receiveAnnouncementEmail,
+        alwaysMarkNsfw,
+        autoSensitive,
+        carefulBot,
+        autoAcceptFollowed,
+        noCrawle,
+        isExplorable,
+        isDeleted,
+        hideOnlineStatus,
+        hasUnreadSpecifiedNotes,
+        hasUnreadMentions,
+        hasUnreadAnnouncement,
+        hasUnreadAntenna,
+        hasUnreadChannel,
+        hasUnreadNotification,
+        hasPendingReceivedFollowRequest,
+        const DeepCollectionEquality().hash(_unreadAnnouncements),
+        const DeepCollectionEquality().hash(_mutedWords),
+        const DeepCollectionEquality().hash(_mutedInstances),
+        const DeepCollectionEquality().hash(_mutingNotificationTypes),
+        const DeepCollectionEquality().hash(notificationRecieveConfig),
+        const DeepCollectionEquality().hash(_emailNotificationTypes),
+        const DeepCollectionEquality().hash(_achievements),
+        loggedInDays,
+        policies
+      ]);
+
+  @JsonKey(ignore: true)
+  @override
+  @pragma('vm:prefer-inline')
+  _$$_MeDetailedCopyWith<_$_MeDetailed> get copyWith =>
+      __$$_MeDetailedCopyWithImpl<_$_MeDetailed>(this, _$identity);
+
+  @override
+  Map<String, dynamic> toJson() {
+    return _$$_MeDetailedToJson(
+      this,
+    );
+  }
+}
+
+abstract class _MeDetailed implements MeDetailed {
+  const factory _MeDetailed(
+      {required final String id,
+      final String? name,
+      required final String username,
+      final String? host,
+      @UriConverter() required final Uri avatarUrl,
+      final String? avatarBlurhash,
+      final List<UserAvatarDecoration> avatarDecorations,
+      required final bool isBot,
+      required final bool isCat,
+      final UserInstanceInfo? instance,
+      @EmojisConverter() final Map<String, String> emojis,
+      @OnlineStatusJsonConverter() final OnlineStatus? onlineStatus,
+      final List<UserBadgeRole> badgeRoles,
+      @NullableUriConverter() final Uri? url,
+      @NullableUriConverter() final Uri? uri,
+      @DateTimeConverter() required final DateTime createdAt,
+      @NullableDateTimeConverter() final DateTime? updatedAt,
+      @NullableDateTimeConverter() final DateTime? lastFetchedAt,
+      @NullableUriConverter() final Uri? bannerUrl,
+      final String? bannerBlurhash,
+      required final bool isLocked,
+      required final bool isSilenced,
+      required final bool isSuspended,
+      final String? description,
+      final String? location,
+      @NullableDateTimeConverter() final DateTime? birthday,
+      final String? lang,
+      final List<UserField>? fields,
+      required final int followersCount,
+      required final int followingCount,
+      required final int notesCount,
+      final List<String>? pinnedNoteIds,
+      final List<Note>? pinnedNotes,
+      final String? pinnedPageId,
+      final Map<String, dynamic>? pinnedPage,
+      required final bool publicReactions,
+      required final FFVisibility ffVisibility,
+      required final bool twoFactorEnabled,
+      required final bool usePasswordLessLogin,
+      required final bool securityKeys,
+      final List<UserRole>? roles,
+      final String? memo,
+      final String? avatarId,
+      final String? bannerId,
+      required final bool isModerator,
+      required final bool isAdmin,
+      required final bool injectFeaturedNote,
+      required final bool receiveAnnouncementEmail,
+      required final bool alwaysMarkNsfw,
+      required final bool autoSensitive,
+      required final bool carefulBot,
+      required final bool autoAcceptFollowed,
+      required final bool noCrawle,
+      required final bool isExplorable,
+      required final bool isDeleted,
+      required final bool hideOnlineStatus,
+      required final bool hasUnreadSpecifiedNotes,
+      required final bool hasUnreadMentions,
+      required final bool hasUnreadAnnouncement,
+      required final bool hasUnreadAntenna,
+      required final bool hasUnreadChannel,
+      required final bool hasUnreadNotification,
+      required final bool hasPendingReceivedFollowRequest,
+      final List<AnnouncementsResponse> unreadAnnouncements,
+      @MuteWordsConverter() required final List<MuteWord> mutedWords,
+      required final List<String> mutedInstances,
+      @Deprecated("Deprecated in Misskey 2023.9.2")
+      final List<String>? mutingNotificationTypes,
+      final dynamic notificationRecieveConfig,
+      required final List<String> emailNotificationTypes,
+      required final List<UserAchievement> achievements,
+      required final int loggedInDays,
+      required final UserPolicies policies}) = _$_MeDetailed;
+
+  factory _MeDetailed.fromJson(Map<String, dynamic> json) =
+      _$_MeDetailed.fromJson;
+
+  @override
+  String get id;
+  @override
+  String? get name;
+  @override
+  String get username;
+  @override
+  String? get host;
+  @override
+  @UriConverter()
+  Uri get avatarUrl;
+  @override
+  String? get avatarBlurhash;
+  @override
+  List<UserAvatarDecoration> get avatarDecorations;
   @override
   bool get isBot;
   @override
+  bool get isCat;
+  @override
+  UserInstanceInfo? get instance;
+  @override
   @EmojisConverter()
   Map<String, String> get emojis;
   @override
+  @OnlineStatusJsonConverter()
+  OnlineStatus? get onlineStatus;
+  @override
+  List<UserBadgeRole> get badgeRoles;
+  @override
+  @NullableUriConverter()
+  Uri? get url;
+  @override
+  @NullableUriConverter()
+  Uri? get uri;
+  @override
+  @DateTimeConverter()
+  DateTime get createdAt;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get updatedAt;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get lastFetchedAt;
+  @override
+  @NullableUriConverter()
+  Uri? get bannerUrl;
+  @override
+  String? get bannerBlurhash;
+  @override
+  bool get isLocked;
+  @override
+  bool get isSilenced;
+  @override
+  bool get isSuspended;
+  @override
+  String? get description;
+  @override
+  String? get location;
+  @override
+  @NullableDateTimeConverter()
+  DateTime? get birthday;
+  @override
+  String? get lang;
+  @override
+  List<UserField>? get fields;
+  @override
+  int get followersCount;
+  @override
+  int get followingCount;
+  @override
+  int get notesCount;
+  @override
+  List<String>? get pinnedNoteIds;
+  @override
+  List<Note>? get pinnedNotes;
+  @override
+  String? get pinnedPageId;
+  @override
+  Map<String, dynamic>? get pinnedPage;
+  @override
+  bool get publicReactions;
+  @override
+  FFVisibility get ffVisibility;
+  @override
+  bool get twoFactorEnabled;
+  @override
+  bool get usePasswordLessLogin;
+  @override
+  bool get securityKeys;
+  @override
+  List<UserRole>? get roles;
+  @override
+  String? get memo;
+  @override
+  String? get avatarId;
+  @override
+  String? get bannerId;
+  @override
+  bool get isModerator;
+  @override
+  bool get isAdmin;
+  @override
+  bool get injectFeaturedNote;
+  @override
+  bool get receiveAnnouncementEmail;
+  @override
+  bool get alwaysMarkNsfw;
+  @override
+  bool get autoSensitive;
+  @override
+  bool get carefulBot;
+  @override
+  bool get autoAcceptFollowed;
+  @override
+  bool get noCrawle;
+  @override
+  bool get isExplorable;
+  @override
+  bool get isDeleted;
+  @override
+  bool get hideOnlineStatus;
+  @override
+  bool get hasUnreadSpecifiedNotes;
+  @override
+  bool get hasUnreadMentions;
+  @override
+  bool get hasUnreadAnnouncement;
+  @override
+  bool get hasUnreadAntenna;
+  @override
+  bool get hasUnreadChannel;
+  @override
+  bool get hasUnreadNotification;
+  @override
+  bool get hasPendingReceivedFollowRequest;
+  @override
+  List<AnnouncementsResponse> get unreadAnnouncements;
+  @override
+  @MuteWordsConverter()
+  List<MuteWord> get mutedWords;
+  @override
+  List<String> get mutedInstances;
+  @override
+  @Deprecated("Deprecated in Misskey 2023.9.2")
+  List<String>? get mutingNotificationTypes;
+  @override
+  dynamic get notificationRecieveConfig;
+  @override
+  List<String> get emailNotificationTypes;
+  @override
+  List<UserAchievement> get achievements;
+  @override
+  int get loggedInDays;
+  @override
+  UserPolicies get policies;
+  @override
   @JsonKey(ignore: true)
-  _$$_UserCopyWith<_$_User> get copyWith => throw _privateConstructorUsedError;
+  _$$_MeDetailedCopyWith<_$_MeDetailed> get copyWith =>
+      throw _privateConstructorUsedError;
 }
 
 UserAvatarDecoration _$UserAvatarDecorationFromJson(Map<String, dynamic> json) {
diff --git a/lib/src/data/base/user.g.dart b/lib/src/data/base/user.g.dart
index 8cb8b6a6..1f7558b2 100644
--- a/lib/src/data/base/user.g.dart
+++ b/lib/src/data/base/user.g.dart
@@ -6,49 +6,524 @@ part of 'user.dart';
 // JsonSerializableGenerator
 // **************************************************************************
 
-_$_User _$$_UserFromJson(Map<String, dynamic> json) => _$_User(
+_$_UserLite _$$_UserLiteFromJson(Map<String, dynamic> json) => _$_UserLite(
       id: json['id'] as String,
+      name: json['name'] as String?,
       username: json['username'] as String,
       host: json['host'] as String?,
-      name: json['name'] as String?,
+      avatarUrl: const UriConverter().fromJson(json['avatarUrl'] as String),
+      avatarBlurhash: json['avatarBlurhash'] as String?,
+      avatarDecorations: (json['avatarDecorations'] as List<dynamic>?)
+              ?.map((e) =>
+                  UserAvatarDecoration.fromJson(e as Map<String, dynamic>))
+              .toList() ??
+          const [],
+      isBot: json['isBot'] as bool? ?? false,
+      isCat: json['isCat'] as bool? ?? false,
+      instance: json['instance'] == null
+          ? null
+          : UserInstanceInfo.fromJson(json['instance'] as Map<String, dynamic>),
+      emojis: json['emojis'] == null
+          ? const {}
+          : const EmojisConverter().fromJson(json['emojis']),
       onlineStatus: const OnlineStatusJsonConverter()
           .fromJson(json['onlineStatus'] as String?),
       badgeRoles: (json['badgeRoles'] as List<dynamic>?)
               ?.map((e) => UserBadgeRole.fromJson(e as Map<String, dynamic>))
               .toList() ??
           const [],
+    );
+
+Map<String, dynamic> _$$_UserLiteToJson(_$_UserLite instance) =>
+    <String, dynamic>{
+      'id': instance.id,
+      'name': instance.name,
+      'username': instance.username,
+      'host': instance.host,
+      'avatarUrl': const UriConverter().toJson(instance.avatarUrl),
+      'avatarBlurhash': instance.avatarBlurhash,
+      'avatarDecorations': instance.avatarDecorations,
+      'isBot': instance.isBot,
+      'isCat': instance.isCat,
+      'instance': instance.instance,
+      'emojis': const EmojisConverter().toJson(instance.emojis),
+      'onlineStatus':
+          const OnlineStatusJsonConverter().toJson(instance.onlineStatus),
+      'badgeRoles': instance.badgeRoles,
+    };
+
+_$_UserDetailedNotMe _$$_UserDetailedNotMeFromJson(Map<String, dynamic> json) =>
+    _$_UserDetailedNotMe(
+      id: json['id'] as String,
+      name: json['name'] as String?,
+      username: json['username'] as String,
+      host: json['host'] as String?,
       avatarUrl: const UriConverter().fromJson(json['avatarUrl'] as String),
+      avatarBlurhash: json['avatarBlurhash'] as String?,
       avatarDecorations: (json['avatarDecorations'] as List<dynamic>?)
               ?.map((e) =>
                   UserAvatarDecoration.fromJson(e as Map<String, dynamic>))
               .toList() ??
           const [],
-      avatarBlurhash: json['avatarBlurhash'] as String?,
+      isBot: json['isBot'] as bool,
+      isCat: json['isCat'] as bool,
       instance: json['instance'] == null
           ? null
           : UserInstanceInfo.fromJson(json['instance'] as Map<String, dynamic>),
-      isCat: json['isCat'] as bool? ?? false,
-      isBot: json['isBot'] as bool? ?? false,
       emojis: json['emojis'] == null
           ? const {}
           : const EmojisConverter().fromJson(json['emojis']),
+      onlineStatus: const OnlineStatusJsonConverter()
+          .fromJson(json['onlineStatus'] as String?),
+      badgeRoles: (json['badgeRoles'] as List<dynamic>?)
+              ?.map((e) => UserBadgeRole.fromJson(e as Map<String, dynamic>))
+              .toList() ??
+          const [],
+      url: _$JsonConverterFromJson<String, Uri?>(
+          json['url'], const NullableUriConverter().fromJson),
+      uri: _$JsonConverterFromJson<String, Uri?>(
+          json['uri'], const NullableUriConverter().fromJson),
+      createdAt:
+          const DateTimeConverter().fromJson(json['createdAt'] as String),
+      updatedAt: _$JsonConverterFromJson<String, DateTime?>(
+          json['updatedAt'], const NullableDateTimeConverter().fromJson),
+      lastFetchedAt: _$JsonConverterFromJson<String, DateTime?>(
+          json['lastFetchedAt'], const NullableDateTimeConverter().fromJson),
+      bannerUrl: _$JsonConverterFromJson<String, Uri?>(
+          json['bannerUrl'], const NullableUriConverter().fromJson),
+      bannerBlurhash: json['bannerBlurhash'] as String?,
+      isLocked: json['isLocked'] as bool,
+      isSilenced: json['isSilenced'] as bool,
+      isSuspended: json['isSuspended'] as bool,
+      description: json['description'] as String?,
+      location: json['location'] as String?,
+      birthday: _$JsonConverterFromJson<String, DateTime?>(
+          json['birthday'], const NullableDateTimeConverter().fromJson),
+      lang: json['lang'] as String?,
+      fields: (json['fields'] as List<dynamic>?)
+          ?.map((e) => UserField.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      followersCount: json['followersCount'] as int,
+      followingCount: json['followingCount'] as int,
+      notesCount: json['notesCount'] as int,
+      pinnedNoteIds: (json['pinnedNoteIds'] as List<dynamic>?)
+          ?.map((e) => e as String)
+          .toList(),
+      pinnedNotes: (json['pinnedNotes'] as List<dynamic>?)
+          ?.map((e) => Note.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      pinnedPageId: json['pinnedPageId'] as String?,
+      pinnedPage: json['pinnedPage'] as Map<String, dynamic>?,
+      publicReactions: json['publicReactions'] as bool,
+      ffVisibility: $enumDecode(_$FFVisibilityEnumMap, json['ffVisibility']),
+      twoFactorEnabled: json['twoFactorEnabled'] as bool,
+      usePasswordLessLogin: json['usePasswordLessLogin'] as bool,
+      securityKeys: json['securityKeys'] as bool,
+      roles: (json['roles'] as List<dynamic>?)
+          ?.map((e) => UserRole.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      memo: json['memo'] as String?,
     );
 
-Map<String, dynamic> _$$_UserToJson(_$_User instance) => <String, dynamic>{
+Map<String, dynamic> _$$_UserDetailedNotMeToJson(
+        _$_UserDetailedNotMe instance) =>
+    <String, dynamic>{
       'id': instance.id,
+      'name': instance.name,
       'username': instance.username,
       'host': instance.host,
-      'name': instance.name,
+      'avatarUrl': const UriConverter().toJson(instance.avatarUrl),
+      'avatarBlurhash': instance.avatarBlurhash,
+      'avatarDecorations': instance.avatarDecorations,
+      'isBot': instance.isBot,
+      'isCat': instance.isCat,
+      'instance': instance.instance,
+      'emojis': const EmojisConverter().toJson(instance.emojis),
       'onlineStatus':
           const OnlineStatusJsonConverter().toJson(instance.onlineStatus),
       'badgeRoles': instance.badgeRoles,
+      'url': const NullableUriConverter().toJson(instance.url),
+      'uri': const NullableUriConverter().toJson(instance.uri),
+      'createdAt': const DateTimeConverter().toJson(instance.createdAt),
+      'updatedAt': const NullableDateTimeConverter().toJson(instance.updatedAt),
+      'lastFetchedAt':
+          const NullableDateTimeConverter().toJson(instance.lastFetchedAt),
+      'bannerUrl': const NullableUriConverter().toJson(instance.bannerUrl),
+      'bannerBlurhash': instance.bannerBlurhash,
+      'isLocked': instance.isLocked,
+      'isSilenced': instance.isSilenced,
+      'isSuspended': instance.isSuspended,
+      'description': instance.description,
+      'location': instance.location,
+      'birthday': const NullableDateTimeConverter().toJson(instance.birthday),
+      'lang': instance.lang,
+      'fields': instance.fields,
+      'followersCount': instance.followersCount,
+      'followingCount': instance.followingCount,
+      'notesCount': instance.notesCount,
+      'pinnedNoteIds': instance.pinnedNoteIds,
+      'pinnedNotes': instance.pinnedNotes,
+      'pinnedPageId': instance.pinnedPageId,
+      'pinnedPage': instance.pinnedPage,
+      'publicReactions': instance.publicReactions,
+      'ffVisibility': _$FFVisibilityEnumMap[instance.ffVisibility]!,
+      'twoFactorEnabled': instance.twoFactorEnabled,
+      'usePasswordLessLogin': instance.usePasswordLessLogin,
+      'securityKeys': instance.securityKeys,
+      'roles': instance.roles,
+      'memo': instance.memo,
+    };
+
+Value? _$JsonConverterFromJson<Json, Value>(
+  Object? json,
+  Value? Function(Json json) fromJson,
+) =>
+    json == null ? null : fromJson(json as Json);
+
+const _$FFVisibilityEnumMap = {
+  FFVisibility.public: 'public',
+  FFVisibility.followers: 'followers',
+  FFVisibility.private: 'private',
+};
+
+_$_UserDetailedNotMeWithRelations _$$_UserDetailedNotMeWithRelationsFromJson(
+        Map<String, dynamic> json) =>
+    _$_UserDetailedNotMeWithRelations(
+      id: json['id'] as String,
+      name: json['name'] as String?,
+      username: json['username'] as String,
+      host: json['host'] as String?,
+      avatarUrl: const UriConverter().fromJson(json['avatarUrl'] as String),
+      avatarBlurhash: json['avatarBlurhash'] as String?,
+      avatarDecorations: (json['avatarDecorations'] as List<dynamic>?)
+              ?.map((e) =>
+                  UserAvatarDecoration.fromJson(e as Map<String, dynamic>))
+              .toList() ??
+          const [],
+      isBot: json['isBot'] as bool,
+      isCat: json['isCat'] as bool,
+      instance: json['instance'] == null
+          ? null
+          : UserInstanceInfo.fromJson(json['instance'] as Map<String, dynamic>),
+      emojis: json['emojis'] == null
+          ? const {}
+          : const EmojisConverter().fromJson(json['emojis']),
+      onlineStatus: const OnlineStatusJsonConverter()
+          .fromJson(json['onlineStatus'] as String?),
+      badgeRoles: (json['badgeRoles'] as List<dynamic>?)
+              ?.map((e) => UserBadgeRole.fromJson(e as Map<String, dynamic>))
+              .toList() ??
+          const [],
+      url: _$JsonConverterFromJson<String, Uri?>(
+          json['url'], const NullableUriConverter().fromJson),
+      uri: _$JsonConverterFromJson<String, Uri?>(
+          json['uri'], const NullableUriConverter().fromJson),
+      createdAt:
+          const DateTimeConverter().fromJson(json['createdAt'] as String),
+      updatedAt: _$JsonConverterFromJson<String, DateTime?>(
+          json['updatedAt'], const NullableDateTimeConverter().fromJson),
+      lastFetchedAt: _$JsonConverterFromJson<String, DateTime?>(
+          json['lastFetchedAt'], const NullableDateTimeConverter().fromJson),
+      bannerUrl: _$JsonConverterFromJson<String, Uri?>(
+          json['bannerUrl'], const NullableUriConverter().fromJson),
+      bannerBlurhash: json['bannerBlurhash'] as String?,
+      isLocked: json['isLocked'] as bool,
+      isSilenced: json['isSilenced'] as bool,
+      isSuspended: json['isSuspended'] as bool,
+      description: json['description'] as String?,
+      location: json['location'] as String?,
+      birthday: _$JsonConverterFromJson<String, DateTime?>(
+          json['birthday'], const NullableDateTimeConverter().fromJson),
+      lang: json['lang'] as String?,
+      fields: (json['fields'] as List<dynamic>?)
+          ?.map((e) => UserField.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      followersCount: json['followersCount'] as int,
+      followingCount: json['followingCount'] as int,
+      notesCount: json['notesCount'] as int,
+      pinnedNoteIds: (json['pinnedNoteIds'] as List<dynamic>?)
+          ?.map((e) => e as String)
+          .toList(),
+      pinnedNotes: (json['pinnedNotes'] as List<dynamic>?)
+          ?.map((e) => Note.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      pinnedPageId: json['pinnedPageId'] as String?,
+      pinnedPage: json['pinnedPage'] as Map<String, dynamic>?,
+      publicReactions: json['publicReactions'] as bool,
+      ffVisibility: $enumDecode(_$FFVisibilityEnumMap, json['ffVisibility']),
+      twoFactorEnabled: json['twoFactorEnabled'] as bool,
+      usePasswordLessLogin: json['usePasswordLessLogin'] as bool,
+      securityKeys: json['securityKeys'] as bool,
+      roles: (json['roles'] as List<dynamic>?)
+          ?.map((e) => UserRole.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      memo: json['memo'] as String?,
+      isFollowing: json['isFollowing'] as bool,
+      isFollowed: json['isFollowed'] as bool,
+      hasPendingFollowRequestFromYou:
+          json['hasPendingFollowRequestFromYou'] as bool,
+      hasPendingFollowRequestToYou:
+          json['hasPendingFollowRequestToYou'] as bool,
+      isBlocking: json['isBlocking'] as bool,
+      isBlocked: json['isBlocked'] as bool,
+      isMuted: json['isMuted'] as bool,
+      isRenoteMuted: json['isRenoteMuted'] as bool,
+    );
+
+Map<String, dynamic> _$$_UserDetailedNotMeWithRelationsToJson(
+        _$_UserDetailedNotMeWithRelations instance) =>
+    <String, dynamic>{
+      'id': instance.id,
+      'name': instance.name,
+      'username': instance.username,
+      'host': instance.host,
       'avatarUrl': const UriConverter().toJson(instance.avatarUrl),
-      'avatarDecorations': instance.avatarDecorations,
       'avatarBlurhash': instance.avatarBlurhash,
-      'instance': instance.instance,
+      'avatarDecorations': instance.avatarDecorations,
+      'isBot': instance.isBot,
       'isCat': instance.isCat,
+      'instance': instance.instance,
+      'emojis': const EmojisConverter().toJson(instance.emojis),
+      'onlineStatus':
+          const OnlineStatusJsonConverter().toJson(instance.onlineStatus),
+      'badgeRoles': instance.badgeRoles,
+      'url': const NullableUriConverter().toJson(instance.url),
+      'uri': const NullableUriConverter().toJson(instance.uri),
+      'createdAt': const DateTimeConverter().toJson(instance.createdAt),
+      'updatedAt': const NullableDateTimeConverter().toJson(instance.updatedAt),
+      'lastFetchedAt':
+          const NullableDateTimeConverter().toJson(instance.lastFetchedAt),
+      'bannerUrl': const NullableUriConverter().toJson(instance.bannerUrl),
+      'bannerBlurhash': instance.bannerBlurhash,
+      'isLocked': instance.isLocked,
+      'isSilenced': instance.isSilenced,
+      'isSuspended': instance.isSuspended,
+      'description': instance.description,
+      'location': instance.location,
+      'birthday': const NullableDateTimeConverter().toJson(instance.birthday),
+      'lang': instance.lang,
+      'fields': instance.fields,
+      'followersCount': instance.followersCount,
+      'followingCount': instance.followingCount,
+      'notesCount': instance.notesCount,
+      'pinnedNoteIds': instance.pinnedNoteIds,
+      'pinnedNotes': instance.pinnedNotes,
+      'pinnedPageId': instance.pinnedPageId,
+      'pinnedPage': instance.pinnedPage,
+      'publicReactions': instance.publicReactions,
+      'ffVisibility': _$FFVisibilityEnumMap[instance.ffVisibility]!,
+      'twoFactorEnabled': instance.twoFactorEnabled,
+      'usePasswordLessLogin': instance.usePasswordLessLogin,
+      'securityKeys': instance.securityKeys,
+      'roles': instance.roles,
+      'memo': instance.memo,
+      'isFollowing': instance.isFollowing,
+      'isFollowed': instance.isFollowed,
+      'hasPendingFollowRequestFromYou': instance.hasPendingFollowRequestFromYou,
+      'hasPendingFollowRequestToYou': instance.hasPendingFollowRequestToYou,
+      'isBlocking': instance.isBlocking,
+      'isBlocked': instance.isBlocked,
+      'isMuted': instance.isMuted,
+      'isRenoteMuted': instance.isRenoteMuted,
+    };
+
+_$_MeDetailed _$$_MeDetailedFromJson(Map<String, dynamic> json) =>
+    _$_MeDetailed(
+      id: json['id'] as String,
+      name: json['name'] as String?,
+      username: json['username'] as String,
+      host: json['host'] as String?,
+      avatarUrl: const UriConverter().fromJson(json['avatarUrl'] as String),
+      avatarBlurhash: json['avatarBlurhash'] as String?,
+      avatarDecorations: (json['avatarDecorations'] as List<dynamic>?)
+              ?.map((e) =>
+                  UserAvatarDecoration.fromJson(e as Map<String, dynamic>))
+              .toList() ??
+          const [],
+      isBot: json['isBot'] as bool,
+      isCat: json['isCat'] as bool,
+      instance: json['instance'] == null
+          ? null
+          : UserInstanceInfo.fromJson(json['instance'] as Map<String, dynamic>),
+      emojis: json['emojis'] == null
+          ? const {}
+          : const EmojisConverter().fromJson(json['emojis']),
+      onlineStatus: const OnlineStatusJsonConverter()
+          .fromJson(json['onlineStatus'] as String?),
+      badgeRoles: (json['badgeRoles'] as List<dynamic>?)
+              ?.map((e) => UserBadgeRole.fromJson(e as Map<String, dynamic>))
+              .toList() ??
+          const [],
+      url: _$JsonConverterFromJson<String, Uri?>(
+          json['url'], const NullableUriConverter().fromJson),
+      uri: _$JsonConverterFromJson<String, Uri?>(
+          json['uri'], const NullableUriConverter().fromJson),
+      createdAt:
+          const DateTimeConverter().fromJson(json['createdAt'] as String),
+      updatedAt: _$JsonConverterFromJson<String, DateTime?>(
+          json['updatedAt'], const NullableDateTimeConverter().fromJson),
+      lastFetchedAt: _$JsonConverterFromJson<String, DateTime?>(
+          json['lastFetchedAt'], const NullableDateTimeConverter().fromJson),
+      bannerUrl: _$JsonConverterFromJson<String, Uri?>(
+          json['bannerUrl'], const NullableUriConverter().fromJson),
+      bannerBlurhash: json['bannerBlurhash'] as String?,
+      isLocked: json['isLocked'] as bool,
+      isSilenced: json['isSilenced'] as bool,
+      isSuspended: json['isSuspended'] as bool,
+      description: json['description'] as String?,
+      location: json['location'] as String?,
+      birthday: _$JsonConverterFromJson<String, DateTime?>(
+          json['birthday'], const NullableDateTimeConverter().fromJson),
+      lang: json['lang'] as String?,
+      fields: (json['fields'] as List<dynamic>?)
+          ?.map((e) => UserField.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      followersCount: json['followersCount'] as int,
+      followingCount: json['followingCount'] as int,
+      notesCount: json['notesCount'] as int,
+      pinnedNoteIds: (json['pinnedNoteIds'] as List<dynamic>?)
+          ?.map((e) => e as String)
+          .toList(),
+      pinnedNotes: (json['pinnedNotes'] as List<dynamic>?)
+          ?.map((e) => Note.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      pinnedPageId: json['pinnedPageId'] as String?,
+      pinnedPage: json['pinnedPage'] as Map<String, dynamic>?,
+      publicReactions: json['publicReactions'] as bool,
+      ffVisibility: $enumDecode(_$FFVisibilityEnumMap, json['ffVisibility']),
+      twoFactorEnabled: json['twoFactorEnabled'] as bool,
+      usePasswordLessLogin: json['usePasswordLessLogin'] as bool,
+      securityKeys: json['securityKeys'] as bool,
+      roles: (json['roles'] as List<dynamic>?)
+          ?.map((e) => UserRole.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      memo: json['memo'] as String?,
+      avatarId: json['avatarId'] as String?,
+      bannerId: json['bannerId'] as String?,
+      isModerator: json['isModerator'] as bool,
+      isAdmin: json['isAdmin'] as bool,
+      injectFeaturedNote: json['injectFeaturedNote'] as bool,
+      receiveAnnouncementEmail: json['receiveAnnouncementEmail'] as bool,
+      alwaysMarkNsfw: json['alwaysMarkNsfw'] as bool,
+      autoSensitive: json['autoSensitive'] as bool,
+      carefulBot: json['carefulBot'] as bool,
+      autoAcceptFollowed: json['autoAcceptFollowed'] as bool,
+      noCrawle: json['noCrawle'] as bool,
+      isExplorable: json['isExplorable'] as bool,
+      isDeleted: json['isDeleted'] as bool,
+      hideOnlineStatus: json['hideOnlineStatus'] as bool,
+      hasUnreadSpecifiedNotes: json['hasUnreadSpecifiedNotes'] as bool,
+      hasUnreadMentions: json['hasUnreadMentions'] as bool,
+      hasUnreadAnnouncement: json['hasUnreadAnnouncement'] as bool,
+      hasUnreadAntenna: json['hasUnreadAntenna'] as bool,
+      hasUnreadChannel: json['hasUnreadChannel'] as bool,
+      hasUnreadNotification: json['hasUnreadNotification'] as bool,
+      hasPendingReceivedFollowRequest:
+          json['hasPendingReceivedFollowRequest'] as bool,
+      unreadAnnouncements: (json['unreadAnnouncements'] as List<dynamic>?)
+              ?.map((e) =>
+                  AnnouncementsResponse.fromJson(e as Map<String, dynamic>))
+              .toList() ??
+          const [],
+      mutedWords: (json['mutedWords'] as List<dynamic>)
+          .map(const MuteWordsConverter().fromJson)
+          .toList(),
+      mutedInstances: (json['mutedInstances'] as List<dynamic>)
+          .map((e) => e as String)
+          .toList(),
+      mutingNotificationTypes:
+          (json['mutingNotificationTypes'] as List<dynamic>?)
+              ?.map((e) => e as String)
+              .toList(),
+      notificationRecieveConfig: json['notificationRecieveConfig'],
+      emailNotificationTypes: (json['emailNotificationTypes'] as List<dynamic>)
+          .map((e) => e as String)
+          .toList(),
+      achievements: (json['achievements'] as List<dynamic>)
+          .map((e) => UserAchievement.fromJson(e as Map<String, dynamic>))
+          .toList(),
+      loggedInDays: json['loggedInDays'] as int,
+      policies: UserPolicies.fromJson(json['policies'] as Map<String, dynamic>),
+    );
+
+Map<String, dynamic> _$$_MeDetailedToJson(_$_MeDetailed instance) =>
+    <String, dynamic>{
+      'id': instance.id,
+      'name': instance.name,
+      'username': instance.username,
+      'host': instance.host,
+      'avatarUrl': const UriConverter().toJson(instance.avatarUrl),
+      'avatarBlurhash': instance.avatarBlurhash,
+      'avatarDecorations': instance.avatarDecorations,
       'isBot': instance.isBot,
+      'isCat': instance.isCat,
+      'instance': instance.instance,
       'emojis': const EmojisConverter().toJson(instance.emojis),
+      'onlineStatus':
+          const OnlineStatusJsonConverter().toJson(instance.onlineStatus),
+      'badgeRoles': instance.badgeRoles,
+      'url': const NullableUriConverter().toJson(instance.url),
+      'uri': const NullableUriConverter().toJson(instance.uri),
+      'createdAt': const DateTimeConverter().toJson(instance.createdAt),
+      'updatedAt': const NullableDateTimeConverter().toJson(instance.updatedAt),
+      'lastFetchedAt':
+          const NullableDateTimeConverter().toJson(instance.lastFetchedAt),
+      'bannerUrl': const NullableUriConverter().toJson(instance.bannerUrl),
+      'bannerBlurhash': instance.bannerBlurhash,
+      'isLocked': instance.isLocked,
+      'isSilenced': instance.isSilenced,
+      'isSuspended': instance.isSuspended,
+      'description': instance.description,
+      'location': instance.location,
+      'birthday': const NullableDateTimeConverter().toJson(instance.birthday),
+      'lang': instance.lang,
+      'fields': instance.fields,
+      'followersCount': instance.followersCount,
+      'followingCount': instance.followingCount,
+      'notesCount': instance.notesCount,
+      'pinnedNoteIds': instance.pinnedNoteIds,
+      'pinnedNotes': instance.pinnedNotes,
+      'pinnedPageId': instance.pinnedPageId,
+      'pinnedPage': instance.pinnedPage,
+      'publicReactions': instance.publicReactions,
+      'ffVisibility': _$FFVisibilityEnumMap[instance.ffVisibility]!,
+      'twoFactorEnabled': instance.twoFactorEnabled,
+      'usePasswordLessLogin': instance.usePasswordLessLogin,
+      'securityKeys': instance.securityKeys,
+      'roles': instance.roles,
+      'memo': instance.memo,
+      'avatarId': instance.avatarId,
+      'bannerId': instance.bannerId,
+      'isModerator': instance.isModerator,
+      'isAdmin': instance.isAdmin,
+      'injectFeaturedNote': instance.injectFeaturedNote,
+      'receiveAnnouncementEmail': instance.receiveAnnouncementEmail,
+      'alwaysMarkNsfw': instance.alwaysMarkNsfw,
+      'autoSensitive': instance.autoSensitive,
+      'carefulBot': instance.carefulBot,
+      'autoAcceptFollowed': instance.autoAcceptFollowed,
+      'noCrawle': instance.noCrawle,
+      'isExplorable': instance.isExplorable,
+      'isDeleted': instance.isDeleted,
+      'hideOnlineStatus': instance.hideOnlineStatus,
+      'hasUnreadSpecifiedNotes': instance.hasUnreadSpecifiedNotes,
+      'hasUnreadMentions': instance.hasUnreadMentions,
+      'hasUnreadAnnouncement': instance.hasUnreadAnnouncement,
+      'hasUnreadAntenna': instance.hasUnreadAntenna,
+      'hasUnreadChannel': instance.hasUnreadChannel,
+      'hasUnreadNotification': instance.hasUnreadNotification,
+      'hasPendingReceivedFollowRequest':
+          instance.hasPendingReceivedFollowRequest,
+      'unreadAnnouncements': instance.unreadAnnouncements,
+      'mutedWords':
+          instance.mutedWords.map(const MuteWordsConverter().toJson).toList(),
+      'mutedInstances': instance.mutedInstances,
+      'mutingNotificationTypes': instance.mutingNotificationTypes,
+      'notificationRecieveConfig': instance.notificationRecieveConfig,
+      'emailNotificationTypes': instance.emailNotificationTypes,
+      'achievements': instance.achievements,
+      'loggedInDays': instance.loggedInDays,
+      'policies': instance.policies,
     };
 
 _$_UserAvatarDecoration _$$_UserAvatarDecorationFromJson(
@@ -91,12 +566,6 @@ Map<String, dynamic> _$$_UserInstanceInfoToJson(_$_UserInstanceInfo instance) =>
       'themeColor': instance.themeColor,
     };
 
-Value? _$JsonConverterFromJson<Json, Value>(
-  Object? json,
-  Value? Function(Json json) fromJson,
-) =>
-    json == null ? null : fromJson(json as Json);
-
 _$_UserBadgeRole _$$_UserBadgeRoleFromJson(Map<String, dynamic> json) =>
     _$_UserBadgeRole(
       name: json['name'] as String,
diff --git a/lib/src/data/i/i_notifications_response.dart b/lib/src/data/i/i_notifications_response.dart
index dea520a2..092d5ac8 100644
--- a/lib/src/data/i/i_notifications_response.dart
+++ b/lib/src/data/i/i_notifications_response.dart
@@ -22,7 +22,7 @@ class INotificationsResponse with _$INotificationsResponse {
     @NullableUriConverter() Uri? customIcon,
     String? appAccessTokenId,
     String? userId,
-    User? user,
+    UserLite? user,
     Note? note,
   }) = _INotificationsResponse;
 
diff --git a/lib/src/data/i/i_notifications_response.freezed.dart b/lib/src/data/i/i_notifications_response.freezed.dart
index 1cc6a7b5..c6d56abb 100644
--- a/lib/src/data/i/i_notifications_response.freezed.dart
+++ b/lib/src/data/i/i_notifications_response.freezed.dart
@@ -37,7 +37,7 @@ mixin _$INotificationsResponse {
   Uri? get customIcon => throw _privateConstructorUsedError;
   String? get appAccessTokenId => throw _privateConstructorUsedError;
   String? get userId => throw _privateConstructorUsedError;
-  User? get user => throw _privateConstructorUsedError;
+  UserLite? get user => throw _privateConstructorUsedError;
   Note? get note => throw _privateConstructorUsedError;
 
   Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
@@ -66,10 +66,10 @@ abstract class $INotificationsResponseCopyWith<$Res> {
       @NullableUriConverter() Uri? customIcon,
       String? appAccessTokenId,
       String? userId,
-      User? user,
+      UserLite? user,
       Note? note});
 
-  $UserCopyWith<$Res>? get user;
+  $UserLiteCopyWith<$Res>? get user;
   $NoteCopyWith<$Res>? get note;
 }
 
@@ -159,7 +159,7 @@ class _$INotificationsResponseCopyWithImpl<$Res,
       user: freezed == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User?,
+              as UserLite?,
       note: freezed == note
           ? _value.note
           : note // ignore: cast_nullable_to_non_nullable
@@ -169,12 +169,12 @@ class _$INotificationsResponseCopyWithImpl<$Res,
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res>? get user {
+  $UserLiteCopyWith<$Res>? get user {
     if (_value.user == null) {
       return null;
     }
 
-    return $UserCopyWith<$Res>(_value.user!, (value) {
+    return $UserLiteCopyWith<$Res>(_value.user!, (value) {
       return _then(_value.copyWith(user: value) as $Val);
     });
   }
@@ -214,11 +214,11 @@ abstract class _$$_INotificationsResponseCopyWith<$Res>
       @NullableUriConverter() Uri? customIcon,
       String? appAccessTokenId,
       String? userId,
-      User? user,
+      UserLite? user,
       Note? note});
 
   @override
-  $UserCopyWith<$Res>? get user;
+  $UserLiteCopyWith<$Res>? get user;
   @override
   $NoteCopyWith<$Res>? get note;
 }
@@ -307,7 +307,7 @@ class __$$_INotificationsResponseCopyWithImpl<$Res>
       user: freezed == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User?,
+              as UserLite?,
       note: freezed == note
           ? _value.note
           : note // ignore: cast_nullable_to_non_nullable
@@ -369,7 +369,7 @@ class _$_INotificationsResponse implements _INotificationsResponse {
   @override
   final String? userId;
   @override
-  final User? user;
+  final UserLite? user;
   @override
   final Note? note;
 
@@ -458,7 +458,7 @@ abstract class _INotificationsResponse implements INotificationsResponse {
       @NullableUriConverter() final Uri? customIcon,
       final String? appAccessTokenId,
       final String? userId,
-      final User? user,
+      final UserLite? user,
       final Note? note}) = _$_INotificationsResponse;
 
   factory _INotificationsResponse.fromJson(Map<String, dynamic> json) =
@@ -494,7 +494,7 @@ abstract class _INotificationsResponse implements INotificationsResponse {
   @override
   String? get userId;
   @override
-  User? get user;
+  UserLite? get user;
   @override
   Note? get note;
   @override
diff --git a/lib/src/data/i/i_notifications_response.g.dart b/lib/src/data/i/i_notifications_response.g.dart
index c18fd150..474f6814 100644
--- a/lib/src/data/i/i_notifications_response.g.dart
+++ b/lib/src/data/i/i_notifications_response.g.dart
@@ -26,7 +26,7 @@ _$_INotificationsResponse _$$_INotificationsResponseFromJson(
       userId: json['userId'] as String?,
       user: json['user'] == null
           ? null
-          : User.fromJson(json['user'] as Map<String, dynamic>),
+          : UserLite.fromJson(json['user'] as Map<String, dynamic>),
       note: json['note'] == null
           ? null
           : Note.fromJson(json['note'] as Map<String, dynamic>),
diff --git a/lib/src/data/i_response.dart b/lib/src/data/i_response.dart
deleted file mode 100644
index 3d1f418e..00000000
--- a/lib/src/data/i_response.dart
+++ /dev/null
@@ -1,95 +0,0 @@
-import 'package:freezed_annotation/freezed_annotation.dart';
-import 'package:misskey_dart/misskey_dart.dart';
-import 'package:misskey_dart/src/converters/date_time_converter.dart';
-import 'package:misskey_dart/src/converters/emojis_converter.dart';
-import 'package:misskey_dart/src/converters/mute_words_converter.dart';
-import 'package:misskey_dart/src/converters/uri_converter.dart';
-
-part 'i_response.freezed.dart';
-part 'i_response.g.dart';
-
-@freezed
-class IResponse with _$IResponse {
-  const factory IResponse({
-    required String id,
-    String? name,
-    required String username,
-    String? host,
-    @UriConverter() required Uri avatarUrl,
-    String? avatarBlurhash,
-    @Default([]) List<UserAvatarDecoration> avatarDecorations,
-    required bool isBot,
-    required bool isCat,
-    @EmojisConverter() @Default({}) Map<String, String>? emojis,
-    String? onlineStatus,
-    required List<UserBadgeRole> badgeRoles,
-    @NullableUriConverter() Uri? url,
-    @NullableUriConverter() Uri? uri,
-    @DateTimeConverter() required DateTime createdAt,
-    @NullableDateTimeConverter() DateTime? updatedAt,
-    @NullableDateTimeConverter() DateTime? lastFetchedAt,
-    @NullableUriConverter() Uri? bannerUrl,
-    String? bannerBlurhash,
-    required bool isLocked,
-    required bool isSilenced,
-    required bool isSuspended,
-    String? description,
-    String? location,
-    @NullableDateTimeConverter() DateTime? birthday,
-    String? lang,
-    List<UserField>? fields,
-    required int followersCount,
-    required int followingCount,
-    required int notesCount,
-    List<String>? pinnedNoteIds,
-    String? pinnedPageId,
-    Map<String, dynamic>? pinnedPage,
-    required bool publicReactions,
-    required String ffVisibility,
-    required bool twoFactorEnabled,
-    required bool usePasswordLessLogin,
-    required bool securityKeys,
-    String? avatarId,
-    String? bannerId,
-    required bool isModerator,
-    required bool isAdmin,
-    required bool injectFeaturedNote,
-    required bool receiveAnnouncementEmail,
-    required bool alwaysMarkNsfw,
-    required bool autoSensitive,
-    required bool carefulBot,
-    required bool autoAcceptFollowed,
-    required bool noCrawle,
-    required bool isExplorable,
-    required bool isDeleted,
-    required bool hideOnlineStatus,
-    required bool hasUnreadSpecifiedNotes,
-    required bool hasUnreadMentions,
-    required bool hasUnreadAnnouncement,
-    required bool hasUnreadAntenna,
-    required bool hasUnreadChannel,
-    required bool hasUnreadNotification,
-    required bool hasPendingReceivedFollowRequest,
-    @Default([]) List<AnnouncementsResponse> unreadAnnouncements,
-    @MuteWordsConverter() required List<MuteWord> mutedWords,
-    required List<String> mutedInstances,
-    @Deprecated("Depracted from Misskey 2023.9.2")
-    List<String>? mutingNotificationTypes,
-    dynamic notificationRecieveConfig,
-    required List<String> emailNotificationTypes,
-    //required bool showTimelineReplies,
-    required List<UserAchievement> achievements,
-    required int loggedInDays,
-    required UserPolicies policies,
-  }) = _IResponse;
-
-  factory IResponse.fromJson(Map<String, Object?> json) =>
-      _$IResponseFromJson(json);
-}
-
-class MuteWord {
-  final String? regExp;
-  final List<String>? content;
-
-  const MuteWord({this.regExp, this.content});
-}
diff --git a/lib/src/data/i_response.freezed.dart b/lib/src/data/i_response.freezed.dart
deleted file mode 100644
index 706ef179..00000000
--- a/lib/src/data/i_response.freezed.dart
+++ /dev/null
@@ -1,1763 +0,0 @@
-// coverage:ignore-file
-// GENERATED CODE - DO NOT MODIFY BY HAND
-// ignore_for_file: type=lint
-// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
-
-part of 'i_response.dart';
-
-// **************************************************************************
-// FreezedGenerator
-// **************************************************************************
-
-T _$identity<T>(T value) => value;
-
-final _privateConstructorUsedError = UnsupportedError(
-    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
-
-IResponse _$IResponseFromJson(Map<String, dynamic> json) {
-  return _IResponse.fromJson(json);
-}
-
-/// @nodoc
-mixin _$IResponse {
-  String get id => throw _privateConstructorUsedError;
-  String? get name => throw _privateConstructorUsedError;
-  String get username => throw _privateConstructorUsedError;
-  String? get host => throw _privateConstructorUsedError;
-  @UriConverter()
-  Uri get avatarUrl => throw _privateConstructorUsedError;
-  String? get avatarBlurhash => throw _privateConstructorUsedError;
-  List<UserAvatarDecoration> get avatarDecorations =>
-      throw _privateConstructorUsedError;
-  bool get isBot => throw _privateConstructorUsedError;
-  bool get isCat => throw _privateConstructorUsedError;
-  @EmojisConverter()
-  Map<String, String>? get emojis => throw _privateConstructorUsedError;
-  String? get onlineStatus => throw _privateConstructorUsedError;
-  List<UserBadgeRole> get badgeRoles => throw _privateConstructorUsedError;
-  @NullableUriConverter()
-  Uri? get url => throw _privateConstructorUsedError;
-  @NullableUriConverter()
-  Uri? get uri => throw _privateConstructorUsedError;
-  @DateTimeConverter()
-  DateTime get createdAt => throw _privateConstructorUsedError;
-  @NullableDateTimeConverter()
-  DateTime? get updatedAt => throw _privateConstructorUsedError;
-  @NullableDateTimeConverter()
-  DateTime? get lastFetchedAt => throw _privateConstructorUsedError;
-  @NullableUriConverter()
-  Uri? get bannerUrl => throw _privateConstructorUsedError;
-  String? get bannerBlurhash => throw _privateConstructorUsedError;
-  bool get isLocked => throw _privateConstructorUsedError;
-  bool get isSilenced => throw _privateConstructorUsedError;
-  bool get isSuspended => throw _privateConstructorUsedError;
-  String? get description => throw _privateConstructorUsedError;
-  String? get location => throw _privateConstructorUsedError;
-  @NullableDateTimeConverter()
-  DateTime? get birthday => throw _privateConstructorUsedError;
-  String? get lang => throw _privateConstructorUsedError;
-  List<UserField>? get fields => throw _privateConstructorUsedError;
-  int get followersCount => throw _privateConstructorUsedError;
-  int get followingCount => throw _privateConstructorUsedError;
-  int get notesCount => throw _privateConstructorUsedError;
-  List<String>? get pinnedNoteIds => throw _privateConstructorUsedError;
-  String? get pinnedPageId => throw _privateConstructorUsedError;
-  Map<String, dynamic>? get pinnedPage => throw _privateConstructorUsedError;
-  bool get publicReactions => throw _privateConstructorUsedError;
-  String get ffVisibility => throw _privateConstructorUsedError;
-  bool get twoFactorEnabled => throw _privateConstructorUsedError;
-  bool get usePasswordLessLogin => throw _privateConstructorUsedError;
-  bool get securityKeys => throw _privateConstructorUsedError;
-  String? get avatarId => throw _privateConstructorUsedError;
-  String? get bannerId => throw _privateConstructorUsedError;
-  bool get isModerator => throw _privateConstructorUsedError;
-  bool get isAdmin => throw _privateConstructorUsedError;
-  bool get injectFeaturedNote => throw _privateConstructorUsedError;
-  bool get receiveAnnouncementEmail => throw _privateConstructorUsedError;
-  bool get alwaysMarkNsfw => throw _privateConstructorUsedError;
-  bool get autoSensitive => throw _privateConstructorUsedError;
-  bool get carefulBot => throw _privateConstructorUsedError;
-  bool get autoAcceptFollowed => throw _privateConstructorUsedError;
-  bool get noCrawle => throw _privateConstructorUsedError;
-  bool get isExplorable => throw _privateConstructorUsedError;
-  bool get isDeleted => throw _privateConstructorUsedError;
-  bool get hideOnlineStatus => throw _privateConstructorUsedError;
-  bool get hasUnreadSpecifiedNotes => throw _privateConstructorUsedError;
-  bool get hasUnreadMentions => throw _privateConstructorUsedError;
-  bool get hasUnreadAnnouncement => throw _privateConstructorUsedError;
-  bool get hasUnreadAntenna => throw _privateConstructorUsedError;
-  bool get hasUnreadChannel => throw _privateConstructorUsedError;
-  bool get hasUnreadNotification => throw _privateConstructorUsedError;
-  bool get hasPendingReceivedFollowRequest =>
-      throw _privateConstructorUsedError;
-  List<AnnouncementsResponse> get unreadAnnouncements =>
-      throw _privateConstructorUsedError;
-  @MuteWordsConverter()
-  List<MuteWord> get mutedWords => throw _privateConstructorUsedError;
-  List<String> get mutedInstances => throw _privateConstructorUsedError;
-  @Deprecated("Depracted from Misskey 2023.9.2")
-  List<String>? get mutingNotificationTypes =>
-      throw _privateConstructorUsedError;
-  dynamic get notificationRecieveConfig => throw _privateConstructorUsedError;
-  List<String> get emailNotificationTypes =>
-      throw _privateConstructorUsedError; //required bool showTimelineReplies,
-  List<UserAchievement> get achievements => throw _privateConstructorUsedError;
-  int get loggedInDays => throw _privateConstructorUsedError;
-  UserPolicies get policies => throw _privateConstructorUsedError;
-
-  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
-  @JsonKey(ignore: true)
-  $IResponseCopyWith<IResponse> get copyWith =>
-      throw _privateConstructorUsedError;
-}
-
-/// @nodoc
-abstract class $IResponseCopyWith<$Res> {
-  factory $IResponseCopyWith(IResponse value, $Res Function(IResponse) then) =
-      _$IResponseCopyWithImpl<$Res, IResponse>;
-  @useResult
-  $Res call(
-      {String id,
-      String? name,
-      String username,
-      String? host,
-      @UriConverter() Uri avatarUrl,
-      String? avatarBlurhash,
-      List<UserAvatarDecoration> avatarDecorations,
-      bool isBot,
-      bool isCat,
-      @EmojisConverter() Map<String, String>? emojis,
-      String? onlineStatus,
-      List<UserBadgeRole> badgeRoles,
-      @NullableUriConverter() Uri? url,
-      @NullableUriConverter() Uri? uri,
-      @DateTimeConverter() DateTime createdAt,
-      @NullableDateTimeConverter() DateTime? updatedAt,
-      @NullableDateTimeConverter() DateTime? lastFetchedAt,
-      @NullableUriConverter() Uri? bannerUrl,
-      String? bannerBlurhash,
-      bool isLocked,
-      bool isSilenced,
-      bool isSuspended,
-      String? description,
-      String? location,
-      @NullableDateTimeConverter() DateTime? birthday,
-      String? lang,
-      List<UserField>? fields,
-      int followersCount,
-      int followingCount,
-      int notesCount,
-      List<String>? pinnedNoteIds,
-      String? pinnedPageId,
-      Map<String, dynamic>? pinnedPage,
-      bool publicReactions,
-      String ffVisibility,
-      bool twoFactorEnabled,
-      bool usePasswordLessLogin,
-      bool securityKeys,
-      String? avatarId,
-      String? bannerId,
-      bool isModerator,
-      bool isAdmin,
-      bool injectFeaturedNote,
-      bool receiveAnnouncementEmail,
-      bool alwaysMarkNsfw,
-      bool autoSensitive,
-      bool carefulBot,
-      bool autoAcceptFollowed,
-      bool noCrawle,
-      bool isExplorable,
-      bool isDeleted,
-      bool hideOnlineStatus,
-      bool hasUnreadSpecifiedNotes,
-      bool hasUnreadMentions,
-      bool hasUnreadAnnouncement,
-      bool hasUnreadAntenna,
-      bool hasUnreadChannel,
-      bool hasUnreadNotification,
-      bool hasPendingReceivedFollowRequest,
-      List<AnnouncementsResponse> unreadAnnouncements,
-      @MuteWordsConverter() List<MuteWord> mutedWords,
-      List<String> mutedInstances,
-      @Deprecated("Depracted from Misskey 2023.9.2")
-      List<String>? mutingNotificationTypes,
-      dynamic notificationRecieveConfig,
-      List<String> emailNotificationTypes,
-      List<UserAchievement> achievements,
-      int loggedInDays,
-      UserPolicies policies});
-
-  $UserPoliciesCopyWith<$Res> get policies;
-}
-
-/// @nodoc
-class _$IResponseCopyWithImpl<$Res, $Val extends IResponse>
-    implements $IResponseCopyWith<$Res> {
-  _$IResponseCopyWithImpl(this._value, this._then);
-
-  // ignore: unused_field
-  final $Val _value;
-  // ignore: unused_field
-  final $Res Function($Val) _then;
-
-  @pragma('vm:prefer-inline')
-  @override
-  $Res call({
-    Object? id = null,
-    Object? name = freezed,
-    Object? username = null,
-    Object? host = freezed,
-    Object? avatarUrl = null,
-    Object? avatarBlurhash = freezed,
-    Object? avatarDecorations = null,
-    Object? isBot = null,
-    Object? isCat = null,
-    Object? emojis = freezed,
-    Object? onlineStatus = freezed,
-    Object? badgeRoles = null,
-    Object? url = freezed,
-    Object? uri = freezed,
-    Object? createdAt = null,
-    Object? updatedAt = freezed,
-    Object? lastFetchedAt = freezed,
-    Object? bannerUrl = freezed,
-    Object? bannerBlurhash = freezed,
-    Object? isLocked = null,
-    Object? isSilenced = null,
-    Object? isSuspended = null,
-    Object? description = freezed,
-    Object? location = freezed,
-    Object? birthday = freezed,
-    Object? lang = freezed,
-    Object? fields = freezed,
-    Object? followersCount = null,
-    Object? followingCount = null,
-    Object? notesCount = null,
-    Object? pinnedNoteIds = freezed,
-    Object? pinnedPageId = freezed,
-    Object? pinnedPage = freezed,
-    Object? publicReactions = null,
-    Object? ffVisibility = null,
-    Object? twoFactorEnabled = null,
-    Object? usePasswordLessLogin = null,
-    Object? securityKeys = null,
-    Object? avatarId = freezed,
-    Object? bannerId = freezed,
-    Object? isModerator = null,
-    Object? isAdmin = null,
-    Object? injectFeaturedNote = null,
-    Object? receiveAnnouncementEmail = null,
-    Object? alwaysMarkNsfw = null,
-    Object? autoSensitive = null,
-    Object? carefulBot = null,
-    Object? autoAcceptFollowed = null,
-    Object? noCrawle = null,
-    Object? isExplorable = null,
-    Object? isDeleted = null,
-    Object? hideOnlineStatus = null,
-    Object? hasUnreadSpecifiedNotes = null,
-    Object? hasUnreadMentions = null,
-    Object? hasUnreadAnnouncement = null,
-    Object? hasUnreadAntenna = null,
-    Object? hasUnreadChannel = null,
-    Object? hasUnreadNotification = null,
-    Object? hasPendingReceivedFollowRequest = null,
-    Object? unreadAnnouncements = null,
-    Object? mutedWords = null,
-    Object? mutedInstances = null,
-    Object? mutingNotificationTypes = freezed,
-    Object? notificationRecieveConfig = freezed,
-    Object? emailNotificationTypes = null,
-    Object? achievements = null,
-    Object? loggedInDays = null,
-    Object? policies = null,
-  }) {
-    return _then(_value.copyWith(
-      id: null == id
-          ? _value.id
-          : id // ignore: cast_nullable_to_non_nullable
-              as String,
-      name: freezed == name
-          ? _value.name
-          : name // ignore: cast_nullable_to_non_nullable
-              as String?,
-      username: null == username
-          ? _value.username
-          : username // ignore: cast_nullable_to_non_nullable
-              as String,
-      host: freezed == host
-          ? _value.host
-          : host // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarUrl: null == avatarUrl
-          ? _value.avatarUrl
-          : avatarUrl // ignore: cast_nullable_to_non_nullable
-              as Uri,
-      avatarBlurhash: freezed == avatarBlurhash
-          ? _value.avatarBlurhash
-          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarDecorations: null == avatarDecorations
-          ? _value.avatarDecorations
-          : avatarDecorations // ignore: cast_nullable_to_non_nullable
-              as List<UserAvatarDecoration>,
-      isBot: null == isBot
-          ? _value.isBot
-          : isBot // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isCat: null == isCat
-          ? _value.isCat
-          : isCat // ignore: cast_nullable_to_non_nullable
-              as bool,
-      emojis: freezed == emojis
-          ? _value.emojis
-          : emojis // ignore: cast_nullable_to_non_nullable
-              as Map<String, String>?,
-      onlineStatus: freezed == onlineStatus
-          ? _value.onlineStatus
-          : onlineStatus // ignore: cast_nullable_to_non_nullable
-              as String?,
-      badgeRoles: null == badgeRoles
-          ? _value.badgeRoles
-          : badgeRoles // ignore: cast_nullable_to_non_nullable
-              as List<UserBadgeRole>,
-      url: freezed == url
-          ? _value.url
-          : url // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      uri: freezed == uri
-          ? _value.uri
-          : uri // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      createdAt: null == createdAt
-          ? _value.createdAt
-          : createdAt // ignore: cast_nullable_to_non_nullable
-              as DateTime,
-      updatedAt: freezed == updatedAt
-          ? _value.updatedAt
-          : updatedAt // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      lastFetchedAt: freezed == lastFetchedAt
-          ? _value.lastFetchedAt
-          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      bannerUrl: freezed == bannerUrl
-          ? _value.bannerUrl
-          : bannerUrl // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      bannerBlurhash: freezed == bannerBlurhash
-          ? _value.bannerBlurhash
-          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
-              as String?,
-      isLocked: null == isLocked
-          ? _value.isLocked
-          : isLocked // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isSilenced: null == isSilenced
-          ? _value.isSilenced
-          : isSilenced // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isSuspended: null == isSuspended
-          ? _value.isSuspended
-          : isSuspended // ignore: cast_nullable_to_non_nullable
-              as bool,
-      description: freezed == description
-          ? _value.description
-          : description // ignore: cast_nullable_to_non_nullable
-              as String?,
-      location: freezed == location
-          ? _value.location
-          : location // ignore: cast_nullable_to_non_nullable
-              as String?,
-      birthday: freezed == birthday
-          ? _value.birthday
-          : birthday // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      lang: freezed == lang
-          ? _value.lang
-          : lang // ignore: cast_nullable_to_non_nullable
-              as String?,
-      fields: freezed == fields
-          ? _value.fields
-          : fields // ignore: cast_nullable_to_non_nullable
-              as List<UserField>?,
-      followersCount: null == followersCount
-          ? _value.followersCount
-          : followersCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      followingCount: null == followingCount
-          ? _value.followingCount
-          : followingCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      notesCount: null == notesCount
-          ? _value.notesCount
-          : notesCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      pinnedNoteIds: freezed == pinnedNoteIds
-          ? _value.pinnedNoteIds
-          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      pinnedPageId: freezed == pinnedPageId
-          ? _value.pinnedPageId
-          : pinnedPageId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      pinnedPage: freezed == pinnedPage
-          ? _value.pinnedPage
-          : pinnedPage // ignore: cast_nullable_to_non_nullable
-              as Map<String, dynamic>?,
-      publicReactions: null == publicReactions
-          ? _value.publicReactions
-          : publicReactions // ignore: cast_nullable_to_non_nullable
-              as bool,
-      ffVisibility: null == ffVisibility
-          ? _value.ffVisibility
-          : ffVisibility // ignore: cast_nullable_to_non_nullable
-              as String,
-      twoFactorEnabled: null == twoFactorEnabled
-          ? _value.twoFactorEnabled
-          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
-              as bool,
-      usePasswordLessLogin: null == usePasswordLessLogin
-          ? _value.usePasswordLessLogin
-          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
-              as bool,
-      securityKeys: null == securityKeys
-          ? _value.securityKeys
-          : securityKeys // ignore: cast_nullable_to_non_nullable
-              as bool,
-      avatarId: freezed == avatarId
-          ? _value.avatarId
-          : avatarId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      bannerId: freezed == bannerId
-          ? _value.bannerId
-          : bannerId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      isModerator: null == isModerator
-          ? _value.isModerator
-          : isModerator // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isAdmin: null == isAdmin
-          ? _value.isAdmin
-          : isAdmin // ignore: cast_nullable_to_non_nullable
-              as bool,
-      injectFeaturedNote: null == injectFeaturedNote
-          ? _value.injectFeaturedNote
-          : injectFeaturedNote // ignore: cast_nullable_to_non_nullable
-              as bool,
-      receiveAnnouncementEmail: null == receiveAnnouncementEmail
-          ? _value.receiveAnnouncementEmail
-          : receiveAnnouncementEmail // ignore: cast_nullable_to_non_nullable
-              as bool,
-      alwaysMarkNsfw: null == alwaysMarkNsfw
-          ? _value.alwaysMarkNsfw
-          : alwaysMarkNsfw // ignore: cast_nullable_to_non_nullable
-              as bool,
-      autoSensitive: null == autoSensitive
-          ? _value.autoSensitive
-          : autoSensitive // ignore: cast_nullable_to_non_nullable
-              as bool,
-      carefulBot: null == carefulBot
-          ? _value.carefulBot
-          : carefulBot // ignore: cast_nullable_to_non_nullable
-              as bool,
-      autoAcceptFollowed: null == autoAcceptFollowed
-          ? _value.autoAcceptFollowed
-          : autoAcceptFollowed // ignore: cast_nullable_to_non_nullable
-              as bool,
-      noCrawle: null == noCrawle
-          ? _value.noCrawle
-          : noCrawle // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isExplorable: null == isExplorable
-          ? _value.isExplorable
-          : isExplorable // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isDeleted: null == isDeleted
-          ? _value.isDeleted
-          : isDeleted // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hideOnlineStatus: null == hideOnlineStatus
-          ? _value.hideOnlineStatus
-          : hideOnlineStatus // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadSpecifiedNotes: null == hasUnreadSpecifiedNotes
-          ? _value.hasUnreadSpecifiedNotes
-          : hasUnreadSpecifiedNotes // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadMentions: null == hasUnreadMentions
-          ? _value.hasUnreadMentions
-          : hasUnreadMentions // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadAnnouncement: null == hasUnreadAnnouncement
-          ? _value.hasUnreadAnnouncement
-          : hasUnreadAnnouncement // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadAntenna: null == hasUnreadAntenna
-          ? _value.hasUnreadAntenna
-          : hasUnreadAntenna // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadChannel: null == hasUnreadChannel
-          ? _value.hasUnreadChannel
-          : hasUnreadChannel // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadNotification: null == hasUnreadNotification
-          ? _value.hasUnreadNotification
-          : hasUnreadNotification // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasPendingReceivedFollowRequest: null == hasPendingReceivedFollowRequest
-          ? _value.hasPendingReceivedFollowRequest
-          : hasPendingReceivedFollowRequest // ignore: cast_nullable_to_non_nullable
-              as bool,
-      unreadAnnouncements: null == unreadAnnouncements
-          ? _value.unreadAnnouncements
-          : unreadAnnouncements // ignore: cast_nullable_to_non_nullable
-              as List<AnnouncementsResponse>,
-      mutedWords: null == mutedWords
-          ? _value.mutedWords
-          : mutedWords // ignore: cast_nullable_to_non_nullable
-              as List<MuteWord>,
-      mutedInstances: null == mutedInstances
-          ? _value.mutedInstances
-          : mutedInstances // ignore: cast_nullable_to_non_nullable
-              as List<String>,
-      mutingNotificationTypes: freezed == mutingNotificationTypes
-          ? _value.mutingNotificationTypes
-          : mutingNotificationTypes // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      notificationRecieveConfig: freezed == notificationRecieveConfig
-          ? _value.notificationRecieveConfig
-          : notificationRecieveConfig // ignore: cast_nullable_to_non_nullable
-              as dynamic,
-      emailNotificationTypes: null == emailNotificationTypes
-          ? _value.emailNotificationTypes
-          : emailNotificationTypes // ignore: cast_nullable_to_non_nullable
-              as List<String>,
-      achievements: null == achievements
-          ? _value.achievements
-          : achievements // ignore: cast_nullable_to_non_nullable
-              as List<UserAchievement>,
-      loggedInDays: null == loggedInDays
-          ? _value.loggedInDays
-          : loggedInDays // ignore: cast_nullable_to_non_nullable
-              as int,
-      policies: null == policies
-          ? _value.policies
-          : policies // ignore: cast_nullable_to_non_nullable
-              as UserPolicies,
-    ) as $Val);
-  }
-
-  @override
-  @pragma('vm:prefer-inline')
-  $UserPoliciesCopyWith<$Res> get policies {
-    return $UserPoliciesCopyWith<$Res>(_value.policies, (value) {
-      return _then(_value.copyWith(policies: value) as $Val);
-    });
-  }
-}
-
-/// @nodoc
-abstract class _$$_IResponseCopyWith<$Res> implements $IResponseCopyWith<$Res> {
-  factory _$$_IResponseCopyWith(
-          _$_IResponse value, $Res Function(_$_IResponse) then) =
-      __$$_IResponseCopyWithImpl<$Res>;
-  @override
-  @useResult
-  $Res call(
-      {String id,
-      String? name,
-      String username,
-      String? host,
-      @UriConverter() Uri avatarUrl,
-      String? avatarBlurhash,
-      List<UserAvatarDecoration> avatarDecorations,
-      bool isBot,
-      bool isCat,
-      @EmojisConverter() Map<String, String>? emojis,
-      String? onlineStatus,
-      List<UserBadgeRole> badgeRoles,
-      @NullableUriConverter() Uri? url,
-      @NullableUriConverter() Uri? uri,
-      @DateTimeConverter() DateTime createdAt,
-      @NullableDateTimeConverter() DateTime? updatedAt,
-      @NullableDateTimeConverter() DateTime? lastFetchedAt,
-      @NullableUriConverter() Uri? bannerUrl,
-      String? bannerBlurhash,
-      bool isLocked,
-      bool isSilenced,
-      bool isSuspended,
-      String? description,
-      String? location,
-      @NullableDateTimeConverter() DateTime? birthday,
-      String? lang,
-      List<UserField>? fields,
-      int followersCount,
-      int followingCount,
-      int notesCount,
-      List<String>? pinnedNoteIds,
-      String? pinnedPageId,
-      Map<String, dynamic>? pinnedPage,
-      bool publicReactions,
-      String ffVisibility,
-      bool twoFactorEnabled,
-      bool usePasswordLessLogin,
-      bool securityKeys,
-      String? avatarId,
-      String? bannerId,
-      bool isModerator,
-      bool isAdmin,
-      bool injectFeaturedNote,
-      bool receiveAnnouncementEmail,
-      bool alwaysMarkNsfw,
-      bool autoSensitive,
-      bool carefulBot,
-      bool autoAcceptFollowed,
-      bool noCrawle,
-      bool isExplorable,
-      bool isDeleted,
-      bool hideOnlineStatus,
-      bool hasUnreadSpecifiedNotes,
-      bool hasUnreadMentions,
-      bool hasUnreadAnnouncement,
-      bool hasUnreadAntenna,
-      bool hasUnreadChannel,
-      bool hasUnreadNotification,
-      bool hasPendingReceivedFollowRequest,
-      List<AnnouncementsResponse> unreadAnnouncements,
-      @MuteWordsConverter() List<MuteWord> mutedWords,
-      List<String> mutedInstances,
-      @Deprecated("Depracted from Misskey 2023.9.2")
-      List<String>? mutingNotificationTypes,
-      dynamic notificationRecieveConfig,
-      List<String> emailNotificationTypes,
-      List<UserAchievement> achievements,
-      int loggedInDays,
-      UserPolicies policies});
-
-  @override
-  $UserPoliciesCopyWith<$Res> get policies;
-}
-
-/// @nodoc
-class __$$_IResponseCopyWithImpl<$Res>
-    extends _$IResponseCopyWithImpl<$Res, _$_IResponse>
-    implements _$$_IResponseCopyWith<$Res> {
-  __$$_IResponseCopyWithImpl(
-      _$_IResponse _value, $Res Function(_$_IResponse) _then)
-      : super(_value, _then);
-
-  @pragma('vm:prefer-inline')
-  @override
-  $Res call({
-    Object? id = null,
-    Object? name = freezed,
-    Object? username = null,
-    Object? host = freezed,
-    Object? avatarUrl = null,
-    Object? avatarBlurhash = freezed,
-    Object? avatarDecorations = null,
-    Object? isBot = null,
-    Object? isCat = null,
-    Object? emojis = freezed,
-    Object? onlineStatus = freezed,
-    Object? badgeRoles = null,
-    Object? url = freezed,
-    Object? uri = freezed,
-    Object? createdAt = null,
-    Object? updatedAt = freezed,
-    Object? lastFetchedAt = freezed,
-    Object? bannerUrl = freezed,
-    Object? bannerBlurhash = freezed,
-    Object? isLocked = null,
-    Object? isSilenced = null,
-    Object? isSuspended = null,
-    Object? description = freezed,
-    Object? location = freezed,
-    Object? birthday = freezed,
-    Object? lang = freezed,
-    Object? fields = freezed,
-    Object? followersCount = null,
-    Object? followingCount = null,
-    Object? notesCount = null,
-    Object? pinnedNoteIds = freezed,
-    Object? pinnedPageId = freezed,
-    Object? pinnedPage = freezed,
-    Object? publicReactions = null,
-    Object? ffVisibility = null,
-    Object? twoFactorEnabled = null,
-    Object? usePasswordLessLogin = null,
-    Object? securityKeys = null,
-    Object? avatarId = freezed,
-    Object? bannerId = freezed,
-    Object? isModerator = null,
-    Object? isAdmin = null,
-    Object? injectFeaturedNote = null,
-    Object? receiveAnnouncementEmail = null,
-    Object? alwaysMarkNsfw = null,
-    Object? autoSensitive = null,
-    Object? carefulBot = null,
-    Object? autoAcceptFollowed = null,
-    Object? noCrawle = null,
-    Object? isExplorable = null,
-    Object? isDeleted = null,
-    Object? hideOnlineStatus = null,
-    Object? hasUnreadSpecifiedNotes = null,
-    Object? hasUnreadMentions = null,
-    Object? hasUnreadAnnouncement = null,
-    Object? hasUnreadAntenna = null,
-    Object? hasUnreadChannel = null,
-    Object? hasUnreadNotification = null,
-    Object? hasPendingReceivedFollowRequest = null,
-    Object? unreadAnnouncements = null,
-    Object? mutedWords = null,
-    Object? mutedInstances = null,
-    Object? mutingNotificationTypes = freezed,
-    Object? notificationRecieveConfig = freezed,
-    Object? emailNotificationTypes = null,
-    Object? achievements = null,
-    Object? loggedInDays = null,
-    Object? policies = null,
-  }) {
-    return _then(_$_IResponse(
-      id: null == id
-          ? _value.id
-          : id // ignore: cast_nullable_to_non_nullable
-              as String,
-      name: freezed == name
-          ? _value.name
-          : name // ignore: cast_nullable_to_non_nullable
-              as String?,
-      username: null == username
-          ? _value.username
-          : username // ignore: cast_nullable_to_non_nullable
-              as String,
-      host: freezed == host
-          ? _value.host
-          : host // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarUrl: null == avatarUrl
-          ? _value.avatarUrl
-          : avatarUrl // ignore: cast_nullable_to_non_nullable
-              as Uri,
-      avatarBlurhash: freezed == avatarBlurhash
-          ? _value.avatarBlurhash
-          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarDecorations: null == avatarDecorations
-          ? _value._avatarDecorations
-          : avatarDecorations // ignore: cast_nullable_to_non_nullable
-              as List<UserAvatarDecoration>,
-      isBot: null == isBot
-          ? _value.isBot
-          : isBot // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isCat: null == isCat
-          ? _value.isCat
-          : isCat // ignore: cast_nullable_to_non_nullable
-              as bool,
-      emojis: freezed == emojis
-          ? _value._emojis
-          : emojis // ignore: cast_nullable_to_non_nullable
-              as Map<String, String>?,
-      onlineStatus: freezed == onlineStatus
-          ? _value.onlineStatus
-          : onlineStatus // ignore: cast_nullable_to_non_nullable
-              as String?,
-      badgeRoles: null == badgeRoles
-          ? _value._badgeRoles
-          : badgeRoles // ignore: cast_nullable_to_non_nullable
-              as List<UserBadgeRole>,
-      url: freezed == url
-          ? _value.url
-          : url // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      uri: freezed == uri
-          ? _value.uri
-          : uri // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      createdAt: null == createdAt
-          ? _value.createdAt
-          : createdAt // ignore: cast_nullable_to_non_nullable
-              as DateTime,
-      updatedAt: freezed == updatedAt
-          ? _value.updatedAt
-          : updatedAt // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      lastFetchedAt: freezed == lastFetchedAt
-          ? _value.lastFetchedAt
-          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      bannerUrl: freezed == bannerUrl
-          ? _value.bannerUrl
-          : bannerUrl // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      bannerBlurhash: freezed == bannerBlurhash
-          ? _value.bannerBlurhash
-          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
-              as String?,
-      isLocked: null == isLocked
-          ? _value.isLocked
-          : isLocked // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isSilenced: null == isSilenced
-          ? _value.isSilenced
-          : isSilenced // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isSuspended: null == isSuspended
-          ? _value.isSuspended
-          : isSuspended // ignore: cast_nullable_to_non_nullable
-              as bool,
-      description: freezed == description
-          ? _value.description
-          : description // ignore: cast_nullable_to_non_nullable
-              as String?,
-      location: freezed == location
-          ? _value.location
-          : location // ignore: cast_nullable_to_non_nullable
-              as String?,
-      birthday: freezed == birthday
-          ? _value.birthday
-          : birthday // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      lang: freezed == lang
-          ? _value.lang
-          : lang // ignore: cast_nullable_to_non_nullable
-              as String?,
-      fields: freezed == fields
-          ? _value._fields
-          : fields // ignore: cast_nullable_to_non_nullable
-              as List<UserField>?,
-      followersCount: null == followersCount
-          ? _value.followersCount
-          : followersCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      followingCount: null == followingCount
-          ? _value.followingCount
-          : followingCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      notesCount: null == notesCount
-          ? _value.notesCount
-          : notesCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      pinnedNoteIds: freezed == pinnedNoteIds
-          ? _value._pinnedNoteIds
-          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      pinnedPageId: freezed == pinnedPageId
-          ? _value.pinnedPageId
-          : pinnedPageId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      pinnedPage: freezed == pinnedPage
-          ? _value._pinnedPage
-          : pinnedPage // ignore: cast_nullable_to_non_nullable
-              as Map<String, dynamic>?,
-      publicReactions: null == publicReactions
-          ? _value.publicReactions
-          : publicReactions // ignore: cast_nullable_to_non_nullable
-              as bool,
-      ffVisibility: null == ffVisibility
-          ? _value.ffVisibility
-          : ffVisibility // ignore: cast_nullable_to_non_nullable
-              as String,
-      twoFactorEnabled: null == twoFactorEnabled
-          ? _value.twoFactorEnabled
-          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
-              as bool,
-      usePasswordLessLogin: null == usePasswordLessLogin
-          ? _value.usePasswordLessLogin
-          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
-              as bool,
-      securityKeys: null == securityKeys
-          ? _value.securityKeys
-          : securityKeys // ignore: cast_nullable_to_non_nullable
-              as bool,
-      avatarId: freezed == avatarId
-          ? _value.avatarId
-          : avatarId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      bannerId: freezed == bannerId
-          ? _value.bannerId
-          : bannerId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      isModerator: null == isModerator
-          ? _value.isModerator
-          : isModerator // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isAdmin: null == isAdmin
-          ? _value.isAdmin
-          : isAdmin // ignore: cast_nullable_to_non_nullable
-              as bool,
-      injectFeaturedNote: null == injectFeaturedNote
-          ? _value.injectFeaturedNote
-          : injectFeaturedNote // ignore: cast_nullable_to_non_nullable
-              as bool,
-      receiveAnnouncementEmail: null == receiveAnnouncementEmail
-          ? _value.receiveAnnouncementEmail
-          : receiveAnnouncementEmail // ignore: cast_nullable_to_non_nullable
-              as bool,
-      alwaysMarkNsfw: null == alwaysMarkNsfw
-          ? _value.alwaysMarkNsfw
-          : alwaysMarkNsfw // ignore: cast_nullable_to_non_nullable
-              as bool,
-      autoSensitive: null == autoSensitive
-          ? _value.autoSensitive
-          : autoSensitive // ignore: cast_nullable_to_non_nullable
-              as bool,
-      carefulBot: null == carefulBot
-          ? _value.carefulBot
-          : carefulBot // ignore: cast_nullable_to_non_nullable
-              as bool,
-      autoAcceptFollowed: null == autoAcceptFollowed
-          ? _value.autoAcceptFollowed
-          : autoAcceptFollowed // ignore: cast_nullable_to_non_nullable
-              as bool,
-      noCrawle: null == noCrawle
-          ? _value.noCrawle
-          : noCrawle // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isExplorable: null == isExplorable
-          ? _value.isExplorable
-          : isExplorable // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isDeleted: null == isDeleted
-          ? _value.isDeleted
-          : isDeleted // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hideOnlineStatus: null == hideOnlineStatus
-          ? _value.hideOnlineStatus
-          : hideOnlineStatus // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadSpecifiedNotes: null == hasUnreadSpecifiedNotes
-          ? _value.hasUnreadSpecifiedNotes
-          : hasUnreadSpecifiedNotes // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadMentions: null == hasUnreadMentions
-          ? _value.hasUnreadMentions
-          : hasUnreadMentions // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadAnnouncement: null == hasUnreadAnnouncement
-          ? _value.hasUnreadAnnouncement
-          : hasUnreadAnnouncement // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadAntenna: null == hasUnreadAntenna
-          ? _value.hasUnreadAntenna
-          : hasUnreadAntenna // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadChannel: null == hasUnreadChannel
-          ? _value.hasUnreadChannel
-          : hasUnreadChannel // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasUnreadNotification: null == hasUnreadNotification
-          ? _value.hasUnreadNotification
-          : hasUnreadNotification // ignore: cast_nullable_to_non_nullable
-              as bool,
-      hasPendingReceivedFollowRequest: null == hasPendingReceivedFollowRequest
-          ? _value.hasPendingReceivedFollowRequest
-          : hasPendingReceivedFollowRequest // ignore: cast_nullable_to_non_nullable
-              as bool,
-      unreadAnnouncements: null == unreadAnnouncements
-          ? _value._unreadAnnouncements
-          : unreadAnnouncements // ignore: cast_nullable_to_non_nullable
-              as List<AnnouncementsResponse>,
-      mutedWords: null == mutedWords
-          ? _value._mutedWords
-          : mutedWords // ignore: cast_nullable_to_non_nullable
-              as List<MuteWord>,
-      mutedInstances: null == mutedInstances
-          ? _value._mutedInstances
-          : mutedInstances // ignore: cast_nullable_to_non_nullable
-              as List<String>,
-      mutingNotificationTypes: freezed == mutingNotificationTypes
-          ? _value._mutingNotificationTypes
-          : mutingNotificationTypes // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      notificationRecieveConfig: freezed == notificationRecieveConfig
-          ? _value.notificationRecieveConfig
-          : notificationRecieveConfig // ignore: cast_nullable_to_non_nullable
-              as dynamic,
-      emailNotificationTypes: null == emailNotificationTypes
-          ? _value._emailNotificationTypes
-          : emailNotificationTypes // ignore: cast_nullable_to_non_nullable
-              as List<String>,
-      achievements: null == achievements
-          ? _value._achievements
-          : achievements // ignore: cast_nullable_to_non_nullable
-              as List<UserAchievement>,
-      loggedInDays: null == loggedInDays
-          ? _value.loggedInDays
-          : loggedInDays // ignore: cast_nullable_to_non_nullable
-              as int,
-      policies: null == policies
-          ? _value.policies
-          : policies // ignore: cast_nullable_to_non_nullable
-              as UserPolicies,
-    ));
-  }
-}
-
-/// @nodoc
-@JsonSerializable()
-class _$_IResponse implements _IResponse {
-  const _$_IResponse(
-      {required this.id,
-      this.name,
-      required this.username,
-      this.host,
-      @UriConverter() required this.avatarUrl,
-      this.avatarBlurhash,
-      final List<UserAvatarDecoration> avatarDecorations = const [],
-      required this.isBot,
-      required this.isCat,
-      @EmojisConverter() final Map<String, String>? emojis = const {},
-      this.onlineStatus,
-      required final List<UserBadgeRole> badgeRoles,
-      @NullableUriConverter() this.url,
-      @NullableUriConverter() this.uri,
-      @DateTimeConverter() required this.createdAt,
-      @NullableDateTimeConverter() this.updatedAt,
-      @NullableDateTimeConverter() this.lastFetchedAt,
-      @NullableUriConverter() this.bannerUrl,
-      this.bannerBlurhash,
-      required this.isLocked,
-      required this.isSilenced,
-      required this.isSuspended,
-      this.description,
-      this.location,
-      @NullableDateTimeConverter() this.birthday,
-      this.lang,
-      final List<UserField>? fields,
-      required this.followersCount,
-      required this.followingCount,
-      required this.notesCount,
-      final List<String>? pinnedNoteIds,
-      this.pinnedPageId,
-      final Map<String, dynamic>? pinnedPage,
-      required this.publicReactions,
-      required this.ffVisibility,
-      required this.twoFactorEnabled,
-      required this.usePasswordLessLogin,
-      required this.securityKeys,
-      this.avatarId,
-      this.bannerId,
-      required this.isModerator,
-      required this.isAdmin,
-      required this.injectFeaturedNote,
-      required this.receiveAnnouncementEmail,
-      required this.alwaysMarkNsfw,
-      required this.autoSensitive,
-      required this.carefulBot,
-      required this.autoAcceptFollowed,
-      required this.noCrawle,
-      required this.isExplorable,
-      required this.isDeleted,
-      required this.hideOnlineStatus,
-      required this.hasUnreadSpecifiedNotes,
-      required this.hasUnreadMentions,
-      required this.hasUnreadAnnouncement,
-      required this.hasUnreadAntenna,
-      required this.hasUnreadChannel,
-      required this.hasUnreadNotification,
-      required this.hasPendingReceivedFollowRequest,
-      final List<AnnouncementsResponse> unreadAnnouncements = const [],
-      @MuteWordsConverter() required final List<MuteWord> mutedWords,
-      required final List<String> mutedInstances,
-      @Deprecated("Depracted from Misskey 2023.9.2")
-      final List<String>? mutingNotificationTypes,
-      this.notificationRecieveConfig,
-      required final List<String> emailNotificationTypes,
-      required final List<UserAchievement> achievements,
-      required this.loggedInDays,
-      required this.policies})
-      : _avatarDecorations = avatarDecorations,
-        _emojis = emojis,
-        _badgeRoles = badgeRoles,
-        _fields = fields,
-        _pinnedNoteIds = pinnedNoteIds,
-        _pinnedPage = pinnedPage,
-        _unreadAnnouncements = unreadAnnouncements,
-        _mutedWords = mutedWords,
-        _mutedInstances = mutedInstances,
-        _mutingNotificationTypes = mutingNotificationTypes,
-        _emailNotificationTypes = emailNotificationTypes,
-        _achievements = achievements;
-
-  factory _$_IResponse.fromJson(Map<String, dynamic> json) =>
-      _$$_IResponseFromJson(json);
-
-  @override
-  final String id;
-  @override
-  final String? name;
-  @override
-  final String username;
-  @override
-  final String? host;
-  @override
-  @UriConverter()
-  final Uri avatarUrl;
-  @override
-  final String? avatarBlurhash;
-  final List<UserAvatarDecoration> _avatarDecorations;
-  @override
-  @JsonKey()
-  List<UserAvatarDecoration> get avatarDecorations {
-    if (_avatarDecorations is EqualUnmodifiableListView)
-      return _avatarDecorations;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_avatarDecorations);
-  }
-
-  @override
-  final bool isBot;
-  @override
-  final bool isCat;
-  final Map<String, String>? _emojis;
-  @override
-  @JsonKey()
-  @EmojisConverter()
-  Map<String, String>? get emojis {
-    final value = _emojis;
-    if (value == null) return null;
-    if (_emojis is EqualUnmodifiableMapView) return _emojis;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableMapView(value);
-  }
-
-  @override
-  final String? onlineStatus;
-  final List<UserBadgeRole> _badgeRoles;
-  @override
-  List<UserBadgeRole> get badgeRoles {
-    if (_badgeRoles is EqualUnmodifiableListView) return _badgeRoles;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_badgeRoles);
-  }
-
-  @override
-  @NullableUriConverter()
-  final Uri? url;
-  @override
-  @NullableUriConverter()
-  final Uri? uri;
-  @override
-  @DateTimeConverter()
-  final DateTime createdAt;
-  @override
-  @NullableDateTimeConverter()
-  final DateTime? updatedAt;
-  @override
-  @NullableDateTimeConverter()
-  final DateTime? lastFetchedAt;
-  @override
-  @NullableUriConverter()
-  final Uri? bannerUrl;
-  @override
-  final String? bannerBlurhash;
-  @override
-  final bool isLocked;
-  @override
-  final bool isSilenced;
-  @override
-  final bool isSuspended;
-  @override
-  final String? description;
-  @override
-  final String? location;
-  @override
-  @NullableDateTimeConverter()
-  final DateTime? birthday;
-  @override
-  final String? lang;
-  final List<UserField>? _fields;
-  @override
-  List<UserField>? get fields {
-    final value = _fields;
-    if (value == null) return null;
-    if (_fields is EqualUnmodifiableListView) return _fields;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  @override
-  final int followersCount;
-  @override
-  final int followingCount;
-  @override
-  final int notesCount;
-  final List<String>? _pinnedNoteIds;
-  @override
-  List<String>? get pinnedNoteIds {
-    final value = _pinnedNoteIds;
-    if (value == null) return null;
-    if (_pinnedNoteIds is EqualUnmodifiableListView) return _pinnedNoteIds;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  @override
-  final String? pinnedPageId;
-  final Map<String, dynamic>? _pinnedPage;
-  @override
-  Map<String, dynamic>? get pinnedPage {
-    final value = _pinnedPage;
-    if (value == null) return null;
-    if (_pinnedPage is EqualUnmodifiableMapView) return _pinnedPage;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableMapView(value);
-  }
-
-  @override
-  final bool publicReactions;
-  @override
-  final String ffVisibility;
-  @override
-  final bool twoFactorEnabled;
-  @override
-  final bool usePasswordLessLogin;
-  @override
-  final bool securityKeys;
-  @override
-  final String? avatarId;
-  @override
-  final String? bannerId;
-  @override
-  final bool isModerator;
-  @override
-  final bool isAdmin;
-  @override
-  final bool injectFeaturedNote;
-  @override
-  final bool receiveAnnouncementEmail;
-  @override
-  final bool alwaysMarkNsfw;
-  @override
-  final bool autoSensitive;
-  @override
-  final bool carefulBot;
-  @override
-  final bool autoAcceptFollowed;
-  @override
-  final bool noCrawle;
-  @override
-  final bool isExplorable;
-  @override
-  final bool isDeleted;
-  @override
-  final bool hideOnlineStatus;
-  @override
-  final bool hasUnreadSpecifiedNotes;
-  @override
-  final bool hasUnreadMentions;
-  @override
-  final bool hasUnreadAnnouncement;
-  @override
-  final bool hasUnreadAntenna;
-  @override
-  final bool hasUnreadChannel;
-  @override
-  final bool hasUnreadNotification;
-  @override
-  final bool hasPendingReceivedFollowRequest;
-  final List<AnnouncementsResponse> _unreadAnnouncements;
-  @override
-  @JsonKey()
-  List<AnnouncementsResponse> get unreadAnnouncements {
-    if (_unreadAnnouncements is EqualUnmodifiableListView)
-      return _unreadAnnouncements;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_unreadAnnouncements);
-  }
-
-  final List<MuteWord> _mutedWords;
-  @override
-  @MuteWordsConverter()
-  List<MuteWord> get mutedWords {
-    if (_mutedWords is EqualUnmodifiableListView) return _mutedWords;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_mutedWords);
-  }
-
-  final List<String> _mutedInstances;
-  @override
-  List<String> get mutedInstances {
-    if (_mutedInstances is EqualUnmodifiableListView) return _mutedInstances;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_mutedInstances);
-  }
-
-  final List<String>? _mutingNotificationTypes;
-  @override
-  @Deprecated("Depracted from Misskey 2023.9.2")
-  List<String>? get mutingNotificationTypes {
-    final value = _mutingNotificationTypes;
-    if (value == null) return null;
-    if (_mutingNotificationTypes is EqualUnmodifiableListView)
-      return _mutingNotificationTypes;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  @override
-  final dynamic notificationRecieveConfig;
-  final List<String> _emailNotificationTypes;
-  @override
-  List<String> get emailNotificationTypes {
-    if (_emailNotificationTypes is EqualUnmodifiableListView)
-      return _emailNotificationTypes;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_emailNotificationTypes);
-  }
-
-//required bool showTimelineReplies,
-  final List<UserAchievement> _achievements;
-//required bool showTimelineReplies,
-  @override
-  List<UserAchievement> get achievements {
-    if (_achievements is EqualUnmodifiableListView) return _achievements;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_achievements);
-  }
-
-  @override
-  final int loggedInDays;
-  @override
-  final UserPolicies policies;
-
-  @override
-  String toString() {
-    return 'IResponse(id: $id, name: $name, username: $username, host: $host, avatarUrl: $avatarUrl, avatarBlurhash: $avatarBlurhash, avatarDecorations: $avatarDecorations, isBot: $isBot, isCat: $isCat, emojis: $emojis, onlineStatus: $onlineStatus, badgeRoles: $badgeRoles, url: $url, uri: $uri, createdAt: $createdAt, updatedAt: $updatedAt, lastFetchedAt: $lastFetchedAt, bannerUrl: $bannerUrl, bannerBlurhash: $bannerBlurhash, isLocked: $isLocked, isSilenced: $isSilenced, isSuspended: $isSuspended, description: $description, location: $location, birthday: $birthday, lang: $lang, fields: $fields, followersCount: $followersCount, followingCount: $followingCount, notesCount: $notesCount, pinnedNoteIds: $pinnedNoteIds, pinnedPageId: $pinnedPageId, pinnedPage: $pinnedPage, publicReactions: $publicReactions, ffVisibility: $ffVisibility, twoFactorEnabled: $twoFactorEnabled, usePasswordLessLogin: $usePasswordLessLogin, securityKeys: $securityKeys, avatarId: $avatarId, bannerId: $bannerId, isModerator: $isModerator, isAdmin: $isAdmin, injectFeaturedNote: $injectFeaturedNote, receiveAnnouncementEmail: $receiveAnnouncementEmail, alwaysMarkNsfw: $alwaysMarkNsfw, autoSensitive: $autoSensitive, carefulBot: $carefulBot, autoAcceptFollowed: $autoAcceptFollowed, noCrawle: $noCrawle, isExplorable: $isExplorable, isDeleted: $isDeleted, hideOnlineStatus: $hideOnlineStatus, hasUnreadSpecifiedNotes: $hasUnreadSpecifiedNotes, hasUnreadMentions: $hasUnreadMentions, hasUnreadAnnouncement: $hasUnreadAnnouncement, hasUnreadAntenna: $hasUnreadAntenna, hasUnreadChannel: $hasUnreadChannel, hasUnreadNotification: $hasUnreadNotification, hasPendingReceivedFollowRequest: $hasPendingReceivedFollowRequest, unreadAnnouncements: $unreadAnnouncements, mutedWords: $mutedWords, mutedInstances: $mutedInstances, mutingNotificationTypes: $mutingNotificationTypes, notificationRecieveConfig: $notificationRecieveConfig, emailNotificationTypes: $emailNotificationTypes, achievements: $achievements, loggedInDays: $loggedInDays, policies: $policies)';
-  }
-
-  @override
-  bool operator ==(dynamic other) {
-    return identical(this, other) ||
-        (other.runtimeType == runtimeType &&
-            other is _$_IResponse &&
-            (identical(other.id, id) || other.id == id) &&
-            (identical(other.name, name) || other.name == name) &&
-            (identical(other.username, username) ||
-                other.username == username) &&
-            (identical(other.host, host) || other.host == host) &&
-            (identical(other.avatarUrl, avatarUrl) ||
-                other.avatarUrl == avatarUrl) &&
-            (identical(other.avatarBlurhash, avatarBlurhash) ||
-                other.avatarBlurhash == avatarBlurhash) &&
-            const DeepCollectionEquality()
-                .equals(other._avatarDecorations, _avatarDecorations) &&
-            (identical(other.isBot, isBot) || other.isBot == isBot) &&
-            (identical(other.isCat, isCat) || other.isCat == isCat) &&
-            const DeepCollectionEquality().equals(other._emojis, _emojis) &&
-            (identical(other.onlineStatus, onlineStatus) ||
-                other.onlineStatus == onlineStatus) &&
-            const DeepCollectionEquality()
-                .equals(other._badgeRoles, _badgeRoles) &&
-            (identical(other.url, url) || other.url == url) &&
-            (identical(other.uri, uri) || other.uri == uri) &&
-            (identical(other.createdAt, createdAt) ||
-                other.createdAt == createdAt) &&
-            (identical(other.updatedAt, updatedAt) ||
-                other.updatedAt == updatedAt) &&
-            (identical(other.lastFetchedAt, lastFetchedAt) ||
-                other.lastFetchedAt == lastFetchedAt) &&
-            (identical(other.bannerUrl, bannerUrl) ||
-                other.bannerUrl == bannerUrl) &&
-            (identical(other.bannerBlurhash, bannerBlurhash) ||
-                other.bannerBlurhash == bannerBlurhash) &&
-            (identical(other.isLocked, isLocked) ||
-                other.isLocked == isLocked) &&
-            (identical(other.isSilenced, isSilenced) ||
-                other.isSilenced == isSilenced) &&
-            (identical(other.isSuspended, isSuspended) ||
-                other.isSuspended == isSuspended) &&
-            (identical(other.description, description) ||
-                other.description == description) &&
-            (identical(other.location, location) ||
-                other.location == location) &&
-            (identical(other.birthday, birthday) ||
-                other.birthday == birthday) &&
-            (identical(other.lang, lang) || other.lang == lang) &&
-            const DeepCollectionEquality().equals(other._fields, _fields) &&
-            (identical(other.followersCount, followersCount) ||
-                other.followersCount == followersCount) &&
-            (identical(other.followingCount, followingCount) ||
-                other.followingCount == followingCount) &&
-            (identical(other.notesCount, notesCount) ||
-                other.notesCount == notesCount) &&
-            const DeepCollectionEquality()
-                .equals(other._pinnedNoteIds, _pinnedNoteIds) &&
-            (identical(other.pinnedPageId, pinnedPageId) ||
-                other.pinnedPageId == pinnedPageId) &&
-            const DeepCollectionEquality()
-                .equals(other._pinnedPage, _pinnedPage) &&
-            (identical(other.publicReactions, publicReactions) ||
-                other.publicReactions == publicReactions) &&
-            (identical(other.ffVisibility, ffVisibility) ||
-                other.ffVisibility == ffVisibility) &&
-            (identical(other.twoFactorEnabled, twoFactorEnabled) ||
-                other.twoFactorEnabled == twoFactorEnabled) &&
-            (identical(other.usePasswordLessLogin, usePasswordLessLogin) ||
-                other.usePasswordLessLogin == usePasswordLessLogin) &&
-            (identical(other.securityKeys, securityKeys) ||
-                other.securityKeys == securityKeys) &&
-            (identical(other.avatarId, avatarId) ||
-                other.avatarId == avatarId) &&
-            (identical(other.bannerId, bannerId) ||
-                other.bannerId == bannerId) &&
-            (identical(other.isModerator, isModerator) ||
-                other.isModerator == isModerator) &&
-            (identical(other.isAdmin, isAdmin) || other.isAdmin == isAdmin) &&
-            (identical(other.injectFeaturedNote, injectFeaturedNote) ||
-                other.injectFeaturedNote == injectFeaturedNote) &&
-            (identical(other.receiveAnnouncementEmail, receiveAnnouncementEmail) ||
-                other.receiveAnnouncementEmail == receiveAnnouncementEmail) &&
-            (identical(other.alwaysMarkNsfw, alwaysMarkNsfw) ||
-                other.alwaysMarkNsfw == alwaysMarkNsfw) &&
-            (identical(other.autoSensitive, autoSensitive) ||
-                other.autoSensitive == autoSensitive) &&
-            (identical(other.carefulBot, carefulBot) ||
-                other.carefulBot == carefulBot) &&
-            (identical(other.autoAcceptFollowed, autoAcceptFollowed) ||
-                other.autoAcceptFollowed == autoAcceptFollowed) &&
-            (identical(other.noCrawle, noCrawle) ||
-                other.noCrawle == noCrawle) &&
-            (identical(other.isExplorable, isExplorable) ||
-                other.isExplorable == isExplorable) &&
-            (identical(other.isDeleted, isDeleted) ||
-                other.isDeleted == isDeleted) &&
-            (identical(other.hideOnlineStatus, hideOnlineStatus) ||
-                other.hideOnlineStatus == hideOnlineStatus) &&
-            (identical(other.hasUnreadSpecifiedNotes, hasUnreadSpecifiedNotes) ||
-                other.hasUnreadSpecifiedNotes == hasUnreadSpecifiedNotes) &&
-            (identical(other.hasUnreadMentions, hasUnreadMentions) || other.hasUnreadMentions == hasUnreadMentions) &&
-            (identical(other.hasUnreadAnnouncement, hasUnreadAnnouncement) || other.hasUnreadAnnouncement == hasUnreadAnnouncement) &&
-            (identical(other.hasUnreadAntenna, hasUnreadAntenna) || other.hasUnreadAntenna == hasUnreadAntenna) &&
-            (identical(other.hasUnreadChannel, hasUnreadChannel) || other.hasUnreadChannel == hasUnreadChannel) &&
-            (identical(other.hasUnreadNotification, hasUnreadNotification) || other.hasUnreadNotification == hasUnreadNotification) &&
-            (identical(other.hasPendingReceivedFollowRequest, hasPendingReceivedFollowRequest) || other.hasPendingReceivedFollowRequest == hasPendingReceivedFollowRequest) &&
-            const DeepCollectionEquality().equals(other._unreadAnnouncements, _unreadAnnouncements) &&
-            const DeepCollectionEquality().equals(other._mutedWords, _mutedWords) &&
-            const DeepCollectionEquality().equals(other._mutedInstances, _mutedInstances) &&
-            const DeepCollectionEquality().equals(other._mutingNotificationTypes, _mutingNotificationTypes) &&
-            const DeepCollectionEquality().equals(other.notificationRecieveConfig, notificationRecieveConfig) &&
-            const DeepCollectionEquality().equals(other._emailNotificationTypes, _emailNotificationTypes) &&
-            const DeepCollectionEquality().equals(other._achievements, _achievements) &&
-            (identical(other.loggedInDays, loggedInDays) || other.loggedInDays == loggedInDays) &&
-            (identical(other.policies, policies) || other.policies == policies));
-  }
-
-  @JsonKey(ignore: true)
-  @override
-  int get hashCode => Object.hashAll([
-        runtimeType,
-        id,
-        name,
-        username,
-        host,
-        avatarUrl,
-        avatarBlurhash,
-        const DeepCollectionEquality().hash(_avatarDecorations),
-        isBot,
-        isCat,
-        const DeepCollectionEquality().hash(_emojis),
-        onlineStatus,
-        const DeepCollectionEquality().hash(_badgeRoles),
-        url,
-        uri,
-        createdAt,
-        updatedAt,
-        lastFetchedAt,
-        bannerUrl,
-        bannerBlurhash,
-        isLocked,
-        isSilenced,
-        isSuspended,
-        description,
-        location,
-        birthday,
-        lang,
-        const DeepCollectionEquality().hash(_fields),
-        followersCount,
-        followingCount,
-        notesCount,
-        const DeepCollectionEquality().hash(_pinnedNoteIds),
-        pinnedPageId,
-        const DeepCollectionEquality().hash(_pinnedPage),
-        publicReactions,
-        ffVisibility,
-        twoFactorEnabled,
-        usePasswordLessLogin,
-        securityKeys,
-        avatarId,
-        bannerId,
-        isModerator,
-        isAdmin,
-        injectFeaturedNote,
-        receiveAnnouncementEmail,
-        alwaysMarkNsfw,
-        autoSensitive,
-        carefulBot,
-        autoAcceptFollowed,
-        noCrawle,
-        isExplorable,
-        isDeleted,
-        hideOnlineStatus,
-        hasUnreadSpecifiedNotes,
-        hasUnreadMentions,
-        hasUnreadAnnouncement,
-        hasUnreadAntenna,
-        hasUnreadChannel,
-        hasUnreadNotification,
-        hasPendingReceivedFollowRequest,
-        const DeepCollectionEquality().hash(_unreadAnnouncements),
-        const DeepCollectionEquality().hash(_mutedWords),
-        const DeepCollectionEquality().hash(_mutedInstances),
-        const DeepCollectionEquality().hash(_mutingNotificationTypes),
-        const DeepCollectionEquality().hash(notificationRecieveConfig),
-        const DeepCollectionEquality().hash(_emailNotificationTypes),
-        const DeepCollectionEquality().hash(_achievements),
-        loggedInDays,
-        policies
-      ]);
-
-  @JsonKey(ignore: true)
-  @override
-  @pragma('vm:prefer-inline')
-  _$$_IResponseCopyWith<_$_IResponse> get copyWith =>
-      __$$_IResponseCopyWithImpl<_$_IResponse>(this, _$identity);
-
-  @override
-  Map<String, dynamic> toJson() {
-    return _$$_IResponseToJson(
-      this,
-    );
-  }
-}
-
-abstract class _IResponse implements IResponse {
-  const factory _IResponse(
-      {required final String id,
-      final String? name,
-      required final String username,
-      final String? host,
-      @UriConverter() required final Uri avatarUrl,
-      final String? avatarBlurhash,
-      final List<UserAvatarDecoration> avatarDecorations,
-      required final bool isBot,
-      required final bool isCat,
-      @EmojisConverter() final Map<String, String>? emojis,
-      final String? onlineStatus,
-      required final List<UserBadgeRole> badgeRoles,
-      @NullableUriConverter() final Uri? url,
-      @NullableUriConverter() final Uri? uri,
-      @DateTimeConverter() required final DateTime createdAt,
-      @NullableDateTimeConverter() final DateTime? updatedAt,
-      @NullableDateTimeConverter() final DateTime? lastFetchedAt,
-      @NullableUriConverter() final Uri? bannerUrl,
-      final String? bannerBlurhash,
-      required final bool isLocked,
-      required final bool isSilenced,
-      required final bool isSuspended,
-      final String? description,
-      final String? location,
-      @NullableDateTimeConverter() final DateTime? birthday,
-      final String? lang,
-      final List<UserField>? fields,
-      required final int followersCount,
-      required final int followingCount,
-      required final int notesCount,
-      final List<String>? pinnedNoteIds,
-      final String? pinnedPageId,
-      final Map<String, dynamic>? pinnedPage,
-      required final bool publicReactions,
-      required final String ffVisibility,
-      required final bool twoFactorEnabled,
-      required final bool usePasswordLessLogin,
-      required final bool securityKeys,
-      final String? avatarId,
-      final String? bannerId,
-      required final bool isModerator,
-      required final bool isAdmin,
-      required final bool injectFeaturedNote,
-      required final bool receiveAnnouncementEmail,
-      required final bool alwaysMarkNsfw,
-      required final bool autoSensitive,
-      required final bool carefulBot,
-      required final bool autoAcceptFollowed,
-      required final bool noCrawle,
-      required final bool isExplorable,
-      required final bool isDeleted,
-      required final bool hideOnlineStatus,
-      required final bool hasUnreadSpecifiedNotes,
-      required final bool hasUnreadMentions,
-      required final bool hasUnreadAnnouncement,
-      required final bool hasUnreadAntenna,
-      required final bool hasUnreadChannel,
-      required final bool hasUnreadNotification,
-      required final bool hasPendingReceivedFollowRequest,
-      final List<AnnouncementsResponse> unreadAnnouncements,
-      @MuteWordsConverter() required final List<MuteWord> mutedWords,
-      required final List<String> mutedInstances,
-      @Deprecated("Depracted from Misskey 2023.9.2")
-      final List<String>? mutingNotificationTypes,
-      final dynamic notificationRecieveConfig,
-      required final List<String> emailNotificationTypes,
-      required final List<UserAchievement> achievements,
-      required final int loggedInDays,
-      required final UserPolicies policies}) = _$_IResponse;
-
-  factory _IResponse.fromJson(Map<String, dynamic> json) =
-      _$_IResponse.fromJson;
-
-  @override
-  String get id;
-  @override
-  String? get name;
-  @override
-  String get username;
-  @override
-  String? get host;
-  @override
-  @UriConverter()
-  Uri get avatarUrl;
-  @override
-  String? get avatarBlurhash;
-  @override
-  List<UserAvatarDecoration> get avatarDecorations;
-  @override
-  bool get isBot;
-  @override
-  bool get isCat;
-  @override
-  @EmojisConverter()
-  Map<String, String>? get emojis;
-  @override
-  String? get onlineStatus;
-  @override
-  List<UserBadgeRole> get badgeRoles;
-  @override
-  @NullableUriConverter()
-  Uri? get url;
-  @override
-  @NullableUriConverter()
-  Uri? get uri;
-  @override
-  @DateTimeConverter()
-  DateTime get createdAt;
-  @override
-  @NullableDateTimeConverter()
-  DateTime? get updatedAt;
-  @override
-  @NullableDateTimeConverter()
-  DateTime? get lastFetchedAt;
-  @override
-  @NullableUriConverter()
-  Uri? get bannerUrl;
-  @override
-  String? get bannerBlurhash;
-  @override
-  bool get isLocked;
-  @override
-  bool get isSilenced;
-  @override
-  bool get isSuspended;
-  @override
-  String? get description;
-  @override
-  String? get location;
-  @override
-  @NullableDateTimeConverter()
-  DateTime? get birthday;
-  @override
-  String? get lang;
-  @override
-  List<UserField>? get fields;
-  @override
-  int get followersCount;
-  @override
-  int get followingCount;
-  @override
-  int get notesCount;
-  @override
-  List<String>? get pinnedNoteIds;
-  @override
-  String? get pinnedPageId;
-  @override
-  Map<String, dynamic>? get pinnedPage;
-  @override
-  bool get publicReactions;
-  @override
-  String get ffVisibility;
-  @override
-  bool get twoFactorEnabled;
-  @override
-  bool get usePasswordLessLogin;
-  @override
-  bool get securityKeys;
-  @override
-  String? get avatarId;
-  @override
-  String? get bannerId;
-  @override
-  bool get isModerator;
-  @override
-  bool get isAdmin;
-  @override
-  bool get injectFeaturedNote;
-  @override
-  bool get receiveAnnouncementEmail;
-  @override
-  bool get alwaysMarkNsfw;
-  @override
-  bool get autoSensitive;
-  @override
-  bool get carefulBot;
-  @override
-  bool get autoAcceptFollowed;
-  @override
-  bool get noCrawle;
-  @override
-  bool get isExplorable;
-  @override
-  bool get isDeleted;
-  @override
-  bool get hideOnlineStatus;
-  @override
-  bool get hasUnreadSpecifiedNotes;
-  @override
-  bool get hasUnreadMentions;
-  @override
-  bool get hasUnreadAnnouncement;
-  @override
-  bool get hasUnreadAntenna;
-  @override
-  bool get hasUnreadChannel;
-  @override
-  bool get hasUnreadNotification;
-  @override
-  bool get hasPendingReceivedFollowRequest;
-  @override
-  List<AnnouncementsResponse> get unreadAnnouncements;
-  @override
-  @MuteWordsConverter()
-  List<MuteWord> get mutedWords;
-  @override
-  List<String> get mutedInstances;
-  @override
-  @Deprecated("Depracted from Misskey 2023.9.2")
-  List<String>? get mutingNotificationTypes;
-  @override
-  dynamic get notificationRecieveConfig;
-  @override
-  List<String> get emailNotificationTypes;
-  @override //required bool showTimelineReplies,
-  List<UserAchievement> get achievements;
-  @override
-  int get loggedInDays;
-  @override
-  UserPolicies get policies;
-  @override
-  @JsonKey(ignore: true)
-  _$$_IResponseCopyWith<_$_IResponse> get copyWith =>
-      throw _privateConstructorUsedError;
-}
diff --git a/lib/src/data/i_response.g.dart b/lib/src/data/i_response.g.dart
deleted file mode 100644
index 7f641b21..00000000
--- a/lib/src/data/i_response.g.dart
+++ /dev/null
@@ -1,201 +0,0 @@
-// GENERATED CODE - DO NOT MODIFY BY HAND
-
-part of 'i_response.dart';
-
-// **************************************************************************
-// JsonSerializableGenerator
-// **************************************************************************
-
-_$_IResponse _$$_IResponseFromJson(Map<String, dynamic> json) => _$_IResponse(
-      id: json['id'] as String,
-      name: json['name'] as String?,
-      username: json['username'] as String,
-      host: json['host'] as String?,
-      avatarUrl: const UriConverter().fromJson(json['avatarUrl'] as String),
-      avatarBlurhash: json['avatarBlurhash'] as String?,
-      avatarDecorations: (json['avatarDecorations'] as List<dynamic>?)
-              ?.map((e) =>
-                  UserAvatarDecoration.fromJson(e as Map<String, dynamic>))
-              .toList() ??
-          const [],
-      isBot: json['isBot'] as bool,
-      isCat: json['isCat'] as bool,
-      emojis: json['emojis'] == null
-          ? const {}
-          : const EmojisConverter().fromJson(json['emojis']),
-      onlineStatus: json['onlineStatus'] as String?,
-      badgeRoles: (json['badgeRoles'] as List<dynamic>)
-          .map((e) => UserBadgeRole.fromJson(e as Map<String, dynamic>))
-          .toList(),
-      url: _$JsonConverterFromJson<String, Uri?>(
-          json['url'], const NullableUriConverter().fromJson),
-      uri: _$JsonConverterFromJson<String, Uri?>(
-          json['uri'], const NullableUriConverter().fromJson),
-      createdAt:
-          const DateTimeConverter().fromJson(json['createdAt'] as String),
-      updatedAt: _$JsonConverterFromJson<String, DateTime?>(
-          json['updatedAt'], const NullableDateTimeConverter().fromJson),
-      lastFetchedAt: _$JsonConverterFromJson<String, DateTime?>(
-          json['lastFetchedAt'], const NullableDateTimeConverter().fromJson),
-      bannerUrl: _$JsonConverterFromJson<String, Uri?>(
-          json['bannerUrl'], const NullableUriConverter().fromJson),
-      bannerBlurhash: json['bannerBlurhash'] as String?,
-      isLocked: json['isLocked'] as bool,
-      isSilenced: json['isSilenced'] as bool,
-      isSuspended: json['isSuspended'] as bool,
-      description: json['description'] as String?,
-      location: json['location'] as String?,
-      birthday: _$JsonConverterFromJson<String, DateTime?>(
-          json['birthday'], const NullableDateTimeConverter().fromJson),
-      lang: json['lang'] as String?,
-      fields: (json['fields'] as List<dynamic>?)
-          ?.map((e) => UserField.fromJson(e as Map<String, dynamic>))
-          .toList(),
-      followersCount: json['followersCount'] as int,
-      followingCount: json['followingCount'] as int,
-      notesCount: json['notesCount'] as int,
-      pinnedNoteIds: (json['pinnedNoteIds'] as List<dynamic>?)
-          ?.map((e) => e as String)
-          .toList(),
-      pinnedPageId: json['pinnedPageId'] as String?,
-      pinnedPage: json['pinnedPage'] as Map<String, dynamic>?,
-      publicReactions: json['publicReactions'] as bool,
-      ffVisibility: json['ffVisibility'] as String,
-      twoFactorEnabled: json['twoFactorEnabled'] as bool,
-      usePasswordLessLogin: json['usePasswordLessLogin'] as bool,
-      securityKeys: json['securityKeys'] as bool,
-      avatarId: json['avatarId'] as String?,
-      bannerId: json['bannerId'] as String?,
-      isModerator: json['isModerator'] as bool,
-      isAdmin: json['isAdmin'] as bool,
-      injectFeaturedNote: json['injectFeaturedNote'] as bool,
-      receiveAnnouncementEmail: json['receiveAnnouncementEmail'] as bool,
-      alwaysMarkNsfw: json['alwaysMarkNsfw'] as bool,
-      autoSensitive: json['autoSensitive'] as bool,
-      carefulBot: json['carefulBot'] as bool,
-      autoAcceptFollowed: json['autoAcceptFollowed'] as bool,
-      noCrawle: json['noCrawle'] as bool,
-      isExplorable: json['isExplorable'] as bool,
-      isDeleted: json['isDeleted'] as bool,
-      hideOnlineStatus: json['hideOnlineStatus'] as bool,
-      hasUnreadSpecifiedNotes: json['hasUnreadSpecifiedNotes'] as bool,
-      hasUnreadMentions: json['hasUnreadMentions'] as bool,
-      hasUnreadAnnouncement: json['hasUnreadAnnouncement'] as bool,
-      hasUnreadAntenna: json['hasUnreadAntenna'] as bool,
-      hasUnreadChannel: json['hasUnreadChannel'] as bool,
-      hasUnreadNotification: json['hasUnreadNotification'] as bool,
-      hasPendingReceivedFollowRequest:
-          json['hasPendingReceivedFollowRequest'] as bool,
-      unreadAnnouncements: (json['unreadAnnouncements'] as List<dynamic>?)
-              ?.map((e) =>
-                  AnnouncementsResponse.fromJson(e as Map<String, dynamic>))
-              .toList() ??
-          const [],
-      mutedWords: (json['mutedWords'] as List<dynamic>)
-          .map(const MuteWordsConverter().fromJson)
-          .toList(),
-      mutedInstances: (json['mutedInstances'] as List<dynamic>)
-          .map((e) => e as String)
-          .toList(),
-      mutingNotificationTypes:
-          (json['mutingNotificationTypes'] as List<dynamic>?)
-              ?.map((e) => e as String)
-              .toList(),
-      notificationRecieveConfig: json['notificationRecieveConfig'],
-      emailNotificationTypes: (json['emailNotificationTypes'] as List<dynamic>)
-          .map((e) => e as String)
-          .toList(),
-      achievements: (json['achievements'] as List<dynamic>)
-          .map((e) => UserAchievement.fromJson(e as Map<String, dynamic>))
-          .toList(),
-      loggedInDays: json['loggedInDays'] as int,
-      policies: UserPolicies.fromJson(json['policies'] as Map<String, dynamic>),
-    );
-
-Map<String, dynamic> _$$_IResponseToJson(_$_IResponse instance) =>
-    <String, dynamic>{
-      'id': instance.id,
-      'name': instance.name,
-      'username': instance.username,
-      'host': instance.host,
-      'avatarUrl': const UriConverter().toJson(instance.avatarUrl),
-      'avatarBlurhash': instance.avatarBlurhash,
-      'avatarDecorations': instance.avatarDecorations,
-      'isBot': instance.isBot,
-      'isCat': instance.isCat,
-      'emojis': _$JsonConverterToJson<dynamic, Map<String, String>>(
-          instance.emojis, const EmojisConverter().toJson),
-      'onlineStatus': instance.onlineStatus,
-      'badgeRoles': instance.badgeRoles,
-      'url': const NullableUriConverter().toJson(instance.url),
-      'uri': const NullableUriConverter().toJson(instance.uri),
-      'createdAt': const DateTimeConverter().toJson(instance.createdAt),
-      'updatedAt': const NullableDateTimeConverter().toJson(instance.updatedAt),
-      'lastFetchedAt':
-          const NullableDateTimeConverter().toJson(instance.lastFetchedAt),
-      'bannerUrl': const NullableUriConverter().toJson(instance.bannerUrl),
-      'bannerBlurhash': instance.bannerBlurhash,
-      'isLocked': instance.isLocked,
-      'isSilenced': instance.isSilenced,
-      'isSuspended': instance.isSuspended,
-      'description': instance.description,
-      'location': instance.location,
-      'birthday': const NullableDateTimeConverter().toJson(instance.birthday),
-      'lang': instance.lang,
-      'fields': instance.fields,
-      'followersCount': instance.followersCount,
-      'followingCount': instance.followingCount,
-      'notesCount': instance.notesCount,
-      'pinnedNoteIds': instance.pinnedNoteIds,
-      'pinnedPageId': instance.pinnedPageId,
-      'pinnedPage': instance.pinnedPage,
-      'publicReactions': instance.publicReactions,
-      'ffVisibility': instance.ffVisibility,
-      'twoFactorEnabled': instance.twoFactorEnabled,
-      'usePasswordLessLogin': instance.usePasswordLessLogin,
-      'securityKeys': instance.securityKeys,
-      'avatarId': instance.avatarId,
-      'bannerId': instance.bannerId,
-      'isModerator': instance.isModerator,
-      'isAdmin': instance.isAdmin,
-      'injectFeaturedNote': instance.injectFeaturedNote,
-      'receiveAnnouncementEmail': instance.receiveAnnouncementEmail,
-      'alwaysMarkNsfw': instance.alwaysMarkNsfw,
-      'autoSensitive': instance.autoSensitive,
-      'carefulBot': instance.carefulBot,
-      'autoAcceptFollowed': instance.autoAcceptFollowed,
-      'noCrawle': instance.noCrawle,
-      'isExplorable': instance.isExplorable,
-      'isDeleted': instance.isDeleted,
-      'hideOnlineStatus': instance.hideOnlineStatus,
-      'hasUnreadSpecifiedNotes': instance.hasUnreadSpecifiedNotes,
-      'hasUnreadMentions': instance.hasUnreadMentions,
-      'hasUnreadAnnouncement': instance.hasUnreadAnnouncement,
-      'hasUnreadAntenna': instance.hasUnreadAntenna,
-      'hasUnreadChannel': instance.hasUnreadChannel,
-      'hasUnreadNotification': instance.hasUnreadNotification,
-      'hasPendingReceivedFollowRequest':
-          instance.hasPendingReceivedFollowRequest,
-      'unreadAnnouncements': instance.unreadAnnouncements,
-      'mutedWords':
-          instance.mutedWords.map(const MuteWordsConverter().toJson).toList(),
-      'mutedInstances': instance.mutedInstances,
-      'mutingNotificationTypes': instance.mutingNotificationTypes,
-      'notificationRecieveConfig': instance.notificationRecieveConfig,
-      'emailNotificationTypes': instance.emailNotificationTypes,
-      'achievements': instance.achievements,
-      'loggedInDays': instance.loggedInDays,
-      'policies': instance.policies,
-    };
-
-Value? _$JsonConverterFromJson<Json, Value>(
-  Object? json,
-  Value? Function(Json json) fromJson,
-) =>
-    json == null ? null : fromJson(json as Json);
-
-Json? _$JsonConverterToJson<Json, Value>(
-  Value? value,
-  Json? Function(Value value) toJson,
-) =>
-    value == null ? null : toJson(value);
diff --git a/lib/src/data/notes/notes_reactions_response.dart b/lib/src/data/notes/notes_reactions_response.dart
index 40aa1a87..a34a234a 100644
--- a/lib/src/data/notes/notes_reactions_response.dart
+++ b/lib/src/data/notes/notes_reactions_response.dart
@@ -10,7 +10,7 @@ class NotesReactionsResponse with _$NotesReactionsResponse {
   const factory NotesReactionsResponse({
     required String id,
     @DateTimeConverter() required DateTime createdAt,
-    required User user,
+    required UserLite user,
     required String type,
   }) = _NotesReactionsResponse;
 
diff --git a/lib/src/data/notes/notes_reactions_response.freezed.dart b/lib/src/data/notes/notes_reactions_response.freezed.dart
index 738b451f..9a97a828 100644
--- a/lib/src/data/notes/notes_reactions_response.freezed.dart
+++ b/lib/src/data/notes/notes_reactions_response.freezed.dart
@@ -24,7 +24,7 @@ mixin _$NotesReactionsResponse {
   String get id => throw _privateConstructorUsedError;
   @DateTimeConverter()
   DateTime get createdAt => throw _privateConstructorUsedError;
-  User get user => throw _privateConstructorUsedError;
+  UserLite get user => throw _privateConstructorUsedError;
   String get type => throw _privateConstructorUsedError;
 
   Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
@@ -42,10 +42,10 @@ abstract class $NotesReactionsResponseCopyWith<$Res> {
   $Res call(
       {String id,
       @DateTimeConverter() DateTime createdAt,
-      User user,
+      UserLite user,
       String type});
 
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
 }
 
 /// @nodoc
@@ -79,7 +79,7 @@ class _$NotesReactionsResponseCopyWithImpl<$Res,
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       type: null == type
           ? _value.type
           : type // ignore: cast_nullable_to_non_nullable
@@ -89,8 +89,8 @@ class _$NotesReactionsResponseCopyWithImpl<$Res,
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get user {
-    return $UserCopyWith<$Res>(_value.user, (value) {
+  $UserLiteCopyWith<$Res> get user {
+    return $UserLiteCopyWith<$Res>(_value.user, (value) {
       return _then(_value.copyWith(user: value) as $Val);
     });
   }
@@ -107,11 +107,11 @@ abstract class _$$_NotesReactionsResponseCopyWith<$Res>
   $Res call(
       {String id,
       @DateTimeConverter() DateTime createdAt,
-      User user,
+      UserLite user,
       String type});
 
   @override
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
 }
 
 /// @nodoc
@@ -143,7 +143,7 @@ class __$$_NotesReactionsResponseCopyWithImpl<$Res>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       type: null == type
           ? _value.type
           : type // ignore: cast_nullable_to_non_nullable
@@ -170,7 +170,7 @@ class _$_NotesReactionsResponse implements _NotesReactionsResponse {
   @DateTimeConverter()
   final DateTime createdAt;
   @override
-  final User user;
+  final UserLite user;
   @override
   final String type;
 
@@ -214,7 +214,7 @@ abstract class _NotesReactionsResponse implements NotesReactionsResponse {
   const factory _NotesReactionsResponse(
       {required final String id,
       @DateTimeConverter() required final DateTime createdAt,
-      required final User user,
+      required final UserLite user,
       required final String type}) = _$_NotesReactionsResponse;
 
   factory _NotesReactionsResponse.fromJson(Map<String, dynamic> json) =
@@ -226,7 +226,7 @@ abstract class _NotesReactionsResponse implements NotesReactionsResponse {
   @DateTimeConverter()
   DateTime get createdAt;
   @override
-  User get user;
+  UserLite get user;
   @override
   String get type;
   @override
diff --git a/lib/src/data/notes/notes_reactions_response.g.dart b/lib/src/data/notes/notes_reactions_response.g.dart
index ce9fed8d..d029e19a 100644
--- a/lib/src/data/notes/notes_reactions_response.g.dart
+++ b/lib/src/data/notes/notes_reactions_response.g.dart
@@ -12,7 +12,7 @@ _$_NotesReactionsResponse _$$_NotesReactionsResponseFromJson(
       id: json['id'] as String,
       createdAt:
           const DateTimeConverter().fromJson(json['createdAt'] as String),
-      user: User.fromJson(json['user'] as Map<String, dynamic>),
+      user: UserLite.fromJson(json['user'] as Map<String, dynamic>),
       type: json['type'] as String,
     );
 
diff --git a/lib/src/data/roles/roles_users_response.dart b/lib/src/data/roles/roles_users_response.dart
index 7f632e36..b9ceb4e8 100644
--- a/lib/src/data/roles/roles_users_response.dart
+++ b/lib/src/data/roles/roles_users_response.dart
@@ -6,8 +6,10 @@ part 'roles_users_response.g.dart';
 
 @freezed
 class RolesUsersResponse with _$RolesUsersResponse {
-  const factory RolesUsersResponse({required String id, required User user}) =
-      _RolesUsersResponse;
+  const factory RolesUsersResponse({
+    required String id,
+    required UserDetailed user,
+  }) = _RolesUsersResponse;
 
   factory RolesUsersResponse.fromJson(Map<String, dynamic> json) =>
       _$RolesUsersResponseFromJson(json);
diff --git a/lib/src/data/roles/roles_users_response.freezed.dart b/lib/src/data/roles/roles_users_response.freezed.dart
index d271a58b..464b6d0b 100644
--- a/lib/src/data/roles/roles_users_response.freezed.dart
+++ b/lib/src/data/roles/roles_users_response.freezed.dart
@@ -21,7 +21,7 @@ RolesUsersResponse _$RolesUsersResponseFromJson(Map<String, dynamic> json) {
 /// @nodoc
 mixin _$RolesUsersResponse {
   String get id => throw _privateConstructorUsedError;
-  User get user => throw _privateConstructorUsedError;
+  UserDetailed get user => throw _privateConstructorUsedError;
 
   Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
   @JsonKey(ignore: true)
@@ -35,9 +35,7 @@ abstract class $RolesUsersResponseCopyWith<$Res> {
           RolesUsersResponse value, $Res Function(RolesUsersResponse) then) =
       _$RolesUsersResponseCopyWithImpl<$Res, RolesUsersResponse>;
   @useResult
-  $Res call({String id, User user});
-
-  $UserCopyWith<$Res> get user;
+  $Res call({String id, UserDetailed user});
 }
 
 /// @nodoc
@@ -64,17 +62,9 @@ class _$RolesUsersResponseCopyWithImpl<$Res, $Val extends RolesUsersResponse>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserDetailed,
     ) as $Val);
   }
-
-  @override
-  @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get user {
-    return $UserCopyWith<$Res>(_value.user, (value) {
-      return _then(_value.copyWith(user: value) as $Val);
-    });
-  }
 }
 
 /// @nodoc
@@ -85,10 +75,7 @@ abstract class _$$_RolesUsersResponseCopyWith<$Res>
       __$$_RolesUsersResponseCopyWithImpl<$Res>;
   @override
   @useResult
-  $Res call({String id, User user});
-
-  @override
-  $UserCopyWith<$Res> get user;
+  $Res call({String id, UserDetailed user});
 }
 
 /// @nodoc
@@ -113,7 +100,7 @@ class __$$_RolesUsersResponseCopyWithImpl<$Res>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserDetailed,
     ));
   }
 }
@@ -129,7 +116,7 @@ class _$_RolesUsersResponse implements _RolesUsersResponse {
   @override
   final String id;
   @override
-  final User user;
+  final UserDetailed user;
 
   @override
   String toString() {
@@ -167,7 +154,7 @@ class _$_RolesUsersResponse implements _RolesUsersResponse {
 abstract class _RolesUsersResponse implements RolesUsersResponse {
   const factory _RolesUsersResponse(
       {required final String id,
-      required final User user}) = _$_RolesUsersResponse;
+      required final UserDetailed user}) = _$_RolesUsersResponse;
 
   factory _RolesUsersResponse.fromJson(Map<String, dynamic> json) =
       _$_RolesUsersResponse.fromJson;
@@ -175,7 +162,7 @@ abstract class _RolesUsersResponse implements RolesUsersResponse {
   @override
   String get id;
   @override
-  User get user;
+  UserDetailed get user;
   @override
   @JsonKey(ignore: true)
   _$$_RolesUsersResponseCopyWith<_$_RolesUsersResponse> get copyWith =>
diff --git a/lib/src/data/roles/roles_users_response.g.dart b/lib/src/data/roles/roles_users_response.g.dart
index e46c76d1..e27e4c15 100644
--- a/lib/src/data/roles/roles_users_response.g.dart
+++ b/lib/src/data/roles/roles_users_response.g.dart
@@ -10,7 +10,7 @@ _$_RolesUsersResponse _$$_RolesUsersResponseFromJson(
         Map<String, dynamic> json) =>
     _$_RolesUsersResponse(
       id: json['id'] as String,
-      user: User.fromJson(json['user'] as Map<String, dynamic>),
+      user: UserDetailed.fromJson(json['user'] as Map<String, dynamic>),
     );
 
 Map<String, dynamic> _$$_RolesUsersResponseToJson(
diff --git a/lib/src/data/users/users_reactions_response.dart b/lib/src/data/users/users_reactions_response.dart
index 0a74e1c3..2f451cf3 100644
--- a/lib/src/data/users/users_reactions_response.dart
+++ b/lib/src/data/users/users_reactions_response.dart
@@ -10,7 +10,7 @@ class UsersReactionsResponse with _$UsersReactionsResponse {
   const factory UsersReactionsResponse({
     required String id,
     @DateTimeConverter() required DateTime createdAt,
-    required User user,
+    required UserLite user,
     required String type,
     required Note note,
   }) = _UsersReactionsResponse;
diff --git a/lib/src/data/users/users_reactions_response.freezed.dart b/lib/src/data/users/users_reactions_response.freezed.dart
index b4f3d404..ea35c182 100644
--- a/lib/src/data/users/users_reactions_response.freezed.dart
+++ b/lib/src/data/users/users_reactions_response.freezed.dart
@@ -24,7 +24,7 @@ mixin _$UsersReactionsResponse {
   String get id => throw _privateConstructorUsedError;
   @DateTimeConverter()
   DateTime get createdAt => throw _privateConstructorUsedError;
-  User get user => throw _privateConstructorUsedError;
+  UserLite get user => throw _privateConstructorUsedError;
   String get type => throw _privateConstructorUsedError;
   Note get note => throw _privateConstructorUsedError;
 
@@ -43,11 +43,11 @@ abstract class $UsersReactionsResponseCopyWith<$Res> {
   $Res call(
       {String id,
       @DateTimeConverter() DateTime createdAt,
-      User user,
+      UserLite user,
       String type,
       Note note});
 
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
   $NoteCopyWith<$Res> get note;
 }
 
@@ -83,7 +83,7 @@ class _$UsersReactionsResponseCopyWithImpl<$Res,
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       type: null == type
           ? _value.type
           : type // ignore: cast_nullable_to_non_nullable
@@ -97,8 +97,8 @@ class _$UsersReactionsResponseCopyWithImpl<$Res,
 
   @override
   @pragma('vm:prefer-inline')
-  $UserCopyWith<$Res> get user {
-    return $UserCopyWith<$Res>(_value.user, (value) {
+  $UserLiteCopyWith<$Res> get user {
+    return $UserLiteCopyWith<$Res>(_value.user, (value) {
       return _then(_value.copyWith(user: value) as $Val);
     });
   }
@@ -123,12 +123,12 @@ abstract class _$$_UsersReactionsResponseCopyWith<$Res>
   $Res call(
       {String id,
       @DateTimeConverter() DateTime createdAt,
-      User user,
+      UserLite user,
       String type,
       Note note});
 
   @override
-  $UserCopyWith<$Res> get user;
+  $UserLiteCopyWith<$Res> get user;
   @override
   $NoteCopyWith<$Res> get note;
 }
@@ -163,7 +163,7 @@ class __$$_UsersReactionsResponseCopyWithImpl<$Res>
       user: null == user
           ? _value.user
           : user // ignore: cast_nullable_to_non_nullable
-              as User,
+              as UserLite,
       type: null == type
           ? _value.type
           : type // ignore: cast_nullable_to_non_nullable
@@ -195,7 +195,7 @@ class _$_UsersReactionsResponse implements _UsersReactionsResponse {
   @DateTimeConverter()
   final DateTime createdAt;
   @override
-  final User user;
+  final UserLite user;
   @override
   final String type;
   @override
@@ -242,7 +242,7 @@ abstract class _UsersReactionsResponse implements UsersReactionsResponse {
   const factory _UsersReactionsResponse(
       {required final String id,
       @DateTimeConverter() required final DateTime createdAt,
-      required final User user,
+      required final UserLite user,
       required final String type,
       required final Note note}) = _$_UsersReactionsResponse;
 
@@ -255,7 +255,7 @@ abstract class _UsersReactionsResponse implements UsersReactionsResponse {
   @DateTimeConverter()
   DateTime get createdAt;
   @override
-  User get user;
+  UserLite get user;
   @override
   String get type;
   @override
diff --git a/lib/src/data/users/users_reactions_response.g.dart b/lib/src/data/users/users_reactions_response.g.dart
index 0f49db54..fb783194 100644
--- a/lib/src/data/users/users_reactions_response.g.dart
+++ b/lib/src/data/users/users_reactions_response.g.dart
@@ -12,7 +12,7 @@ _$_UsersReactionsResponse _$$_UsersReactionsResponseFromJson(
       id: json['id'] as String,
       createdAt:
           const DateTimeConverter().fromJson(json['createdAt'] as String),
-      user: User.fromJson(json['user'] as Map<String, dynamic>),
+      user: UserLite.fromJson(json['user'] as Map<String, dynamic>),
       type: json['type'] as String,
       note: Note.fromJson(json['note'] as Map<String, dynamic>),
     );
diff --git a/lib/src/data/users/users_show_response.dart b/lib/src/data/users/users_show_response.dart
deleted file mode 100644
index 35657866..00000000
--- a/lib/src/data/users/users_show_response.dart
+++ /dev/null
@@ -1,119 +0,0 @@
-import 'package:freezed_annotation/freezed_annotation.dart';
-import 'package:misskey_dart/misskey_dart.dart';
-import 'package:misskey_dart/src/converters/date_time_converter.dart';
-import 'package:misskey_dart/src/converters/emojis_converter.dart';
-import 'package:misskey_dart/src/converters/mute_words_converter.dart';
-import 'package:misskey_dart/src/converters/uri_converter.dart';
-import 'package:misskey_dart/src/enums/online_status.dart';
-
-part 'users_show_response.freezed.dart';
-part 'users_show_response.g.dart';
-
-@freezed
-class UsersShowResponse with _$UsersShowResponse {
-  const UsersShowResponse._();
-
-  const factory UsersShowResponse({
-    required String id,
-    String? name,
-    required String username,
-    String? host,
-    @UriConverter() required Uri avatarUrl,
-    String? avatarBlurhash,
-    @Default([]) List<UserAvatarDecoration> avatarDecorations,
-    required bool isBot,
-    required bool isCat,
-    UserInstanceInfo? instance,
-    @EmojisConverter() Map<String, String>? emojis,
-    @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
-    @NullableUriConverter() Uri? url,
-    @NullableUriConverter() Uri? uri,
-    //dynamic movedToUri,
-    //dynamic alsoKnownAs,
-    @DateTimeConverter() required DateTime createdAt,
-    @NullableDateTimeConverter() DateTime? updatedAt,
-    @NullableDateTimeConverter() DateTime? lastFetchedAt,
-    @NullableUriConverter() Uri? bannerUrl,
-    String? bannerBlurhash,
-    required bool isLocked,
-    required bool isSilenced,
-    required bool isSuspended,
-    String? description,
-    String? location,
-    @NullableDateTimeConverter() DateTime? birthday,
-    String? lang,
-    List<UserField>? fields,
-    required int followersCount,
-    required int followingCount,
-    required int notesCount,
-    List<String>? pinnedNoteIds,
-    List<Note>? pinnedNotes,
-    String? pinnedPageId,
-    Map<String, dynamic>? pinnedPage,
-    required bool publicReactions,
-    required String ffVisibility,
-    required bool twoFactorEnabled,
-    required bool usePasswordLessLogin,
-    required bool securityKeys,
-    List<UserRole>? roles,
-    String? memo,
-    // 以下ログイン時のみ
-    String? avatarId,
-    String? bannerId,
-    bool? isModerator,
-    bool? isAdmin,
-    bool? injectFeaturedNote,
-    bool? receiveAnnouncementEmail,
-    bool? alwaysMarkNsfw,
-    bool? autoSensitive,
-    bool? carefulBot,
-    bool? autoAcceptFollowed,
-    bool? noCrawle,
-    bool? preventAiLearning,
-    bool? isExplorable,
-    bool? isDeleted,
-    bool? hideOnlineStatus,
-    bool? hasUnreadSpecifiedNotes,
-    bool? hasUnreadMentions,
-    bool? hasUnreadAnnouncement,
-    bool? hasUnreadAntenna,
-    bool? hasUnreadNotification,
-    bool? hasPendingReceivedFollowRequest,
-    @MuteWordsConverter() List<MuteWord>? mutedWords,
-    List<String>? mutedInstances,
-    List<String>? mutingNotificationTypes,
-    List<String>? emailNotificationTypes,
-    List<UserAchievement>? achievements,
-    int? loggedInDays,
-    UserPolicies? policies,
-    bool? isFollowing,
-    bool? isFollowed,
-    bool? hasPendingFollowRequestFromYou,
-    bool? hasPendingFollowRequestToYou,
-    bool? isBlocking,
-    bool? isBlocked,
-    bool? isMuted,
-    bool? isRenoteMuted,
-  }) = _UsersShowResponse;
-
-  factory UsersShowResponse.fromJson(Map<String, Object?> json) =>
-      _$UsersShowResponseFromJson(json);
-
-  User toUser() => User(
-        id: id,
-        username: username,
-        host: host,
-        name: name,
-        onlineStatus: onlineStatus,
-        badgeRoles: roles
-                ?.map((e) => UserBadgeRole(name: e.name, iconUrl: e.iconUrl))
-                .toList() ??
-            [],
-        avatarUrl: avatarUrl,
-        avatarBlurhash: avatarBlurhash,
-        instance: instance,
-        isCat: isCat,
-        isBot: isBot,
-        emojis: emojis ?? {},
-      );
-}
diff --git a/lib/src/data/users/users_show_response.freezed.dart b/lib/src/data/users/users_show_response.freezed.dart
deleted file mode 100644
index 82d367e8..00000000
--- a/lib/src/data/users/users_show_response.freezed.dart
+++ /dev/null
@@ -1,1986 +0,0 @@
-// coverage:ignore-file
-// GENERATED CODE - DO NOT MODIFY BY HAND
-// ignore_for_file: type=lint
-// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
-
-part of 'users_show_response.dart';
-
-// **************************************************************************
-// FreezedGenerator
-// **************************************************************************
-
-T _$identity<T>(T value) => value;
-
-final _privateConstructorUsedError = UnsupportedError(
-    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
-
-UsersShowResponse _$UsersShowResponseFromJson(Map<String, dynamic> json) {
-  return _UsersShowResponse.fromJson(json);
-}
-
-/// @nodoc
-mixin _$UsersShowResponse {
-  String get id => throw _privateConstructorUsedError;
-  String? get name => throw _privateConstructorUsedError;
-  String get username => throw _privateConstructorUsedError;
-  String? get host => throw _privateConstructorUsedError;
-  @UriConverter()
-  Uri get avatarUrl => throw _privateConstructorUsedError;
-  String? get avatarBlurhash => throw _privateConstructorUsedError;
-  List<UserAvatarDecoration> get avatarDecorations =>
-      throw _privateConstructorUsedError;
-  bool get isBot => throw _privateConstructorUsedError;
-  bool get isCat => throw _privateConstructorUsedError;
-  UserInstanceInfo? get instance => throw _privateConstructorUsedError;
-  @EmojisConverter()
-  Map<String, String>? get emojis => throw _privateConstructorUsedError;
-  @OnlineStatusJsonConverter()
-  OnlineStatus? get onlineStatus => throw _privateConstructorUsedError;
-  @NullableUriConverter()
-  Uri? get url => throw _privateConstructorUsedError;
-  @NullableUriConverter()
-  Uri? get uri => throw _privateConstructorUsedError; //dynamic movedToUri,
-//dynamic alsoKnownAs,
-  @DateTimeConverter()
-  DateTime get createdAt => throw _privateConstructorUsedError;
-  @NullableDateTimeConverter()
-  DateTime? get updatedAt => throw _privateConstructorUsedError;
-  @NullableDateTimeConverter()
-  DateTime? get lastFetchedAt => throw _privateConstructorUsedError;
-  @NullableUriConverter()
-  Uri? get bannerUrl => throw _privateConstructorUsedError;
-  String? get bannerBlurhash => throw _privateConstructorUsedError;
-  bool get isLocked => throw _privateConstructorUsedError;
-  bool get isSilenced => throw _privateConstructorUsedError;
-  bool get isSuspended => throw _privateConstructorUsedError;
-  String? get description => throw _privateConstructorUsedError;
-  String? get location => throw _privateConstructorUsedError;
-  @NullableDateTimeConverter()
-  DateTime? get birthday => throw _privateConstructorUsedError;
-  String? get lang => throw _privateConstructorUsedError;
-  List<UserField>? get fields => throw _privateConstructorUsedError;
-  int get followersCount => throw _privateConstructorUsedError;
-  int get followingCount => throw _privateConstructorUsedError;
-  int get notesCount => throw _privateConstructorUsedError;
-  List<String>? get pinnedNoteIds => throw _privateConstructorUsedError;
-  List<Note>? get pinnedNotes => throw _privateConstructorUsedError;
-  String? get pinnedPageId => throw _privateConstructorUsedError;
-  Map<String, dynamic>? get pinnedPage => throw _privateConstructorUsedError;
-  bool get publicReactions => throw _privateConstructorUsedError;
-  String get ffVisibility => throw _privateConstructorUsedError;
-  bool get twoFactorEnabled => throw _privateConstructorUsedError;
-  bool get usePasswordLessLogin => throw _privateConstructorUsedError;
-  bool get securityKeys => throw _privateConstructorUsedError;
-  List<UserRole>? get roles => throw _privateConstructorUsedError;
-  String? get memo => throw _privateConstructorUsedError; // 以下ログイン時のみ
-  String? get avatarId => throw _privateConstructorUsedError;
-  String? get bannerId => throw _privateConstructorUsedError;
-  bool? get isModerator => throw _privateConstructorUsedError;
-  bool? get isAdmin => throw _privateConstructorUsedError;
-  bool? get injectFeaturedNote => throw _privateConstructorUsedError;
-  bool? get receiveAnnouncementEmail => throw _privateConstructorUsedError;
-  bool? get alwaysMarkNsfw => throw _privateConstructorUsedError;
-  bool? get autoSensitive => throw _privateConstructorUsedError;
-  bool? get carefulBot => throw _privateConstructorUsedError;
-  bool? get autoAcceptFollowed => throw _privateConstructorUsedError;
-  bool? get noCrawle => throw _privateConstructorUsedError;
-  bool? get preventAiLearning => throw _privateConstructorUsedError;
-  bool? get isExplorable => throw _privateConstructorUsedError;
-  bool? get isDeleted => throw _privateConstructorUsedError;
-  bool? get hideOnlineStatus => throw _privateConstructorUsedError;
-  bool? get hasUnreadSpecifiedNotes => throw _privateConstructorUsedError;
-  bool? get hasUnreadMentions => throw _privateConstructorUsedError;
-  bool? get hasUnreadAnnouncement => throw _privateConstructorUsedError;
-  bool? get hasUnreadAntenna => throw _privateConstructorUsedError;
-  bool? get hasUnreadNotification => throw _privateConstructorUsedError;
-  bool? get hasPendingReceivedFollowRequest =>
-      throw _privateConstructorUsedError;
-  @MuteWordsConverter()
-  List<MuteWord>? get mutedWords => throw _privateConstructorUsedError;
-  List<String>? get mutedInstances => throw _privateConstructorUsedError;
-  List<String>? get mutingNotificationTypes =>
-      throw _privateConstructorUsedError;
-  List<String>? get emailNotificationTypes =>
-      throw _privateConstructorUsedError;
-  List<UserAchievement>? get achievements => throw _privateConstructorUsedError;
-  int? get loggedInDays => throw _privateConstructorUsedError;
-  UserPolicies? get policies => throw _privateConstructorUsedError;
-  bool? get isFollowing => throw _privateConstructorUsedError;
-  bool? get isFollowed => throw _privateConstructorUsedError;
-  bool? get hasPendingFollowRequestFromYou =>
-      throw _privateConstructorUsedError;
-  bool? get hasPendingFollowRequestToYou => throw _privateConstructorUsedError;
-  bool? get isBlocking => throw _privateConstructorUsedError;
-  bool? get isBlocked => throw _privateConstructorUsedError;
-  bool? get isMuted => throw _privateConstructorUsedError;
-  bool? get isRenoteMuted => throw _privateConstructorUsedError;
-
-  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
-  @JsonKey(ignore: true)
-  $UsersShowResponseCopyWith<UsersShowResponse> get copyWith =>
-      throw _privateConstructorUsedError;
-}
-
-/// @nodoc
-abstract class $UsersShowResponseCopyWith<$Res> {
-  factory $UsersShowResponseCopyWith(
-          UsersShowResponse value, $Res Function(UsersShowResponse) then) =
-      _$UsersShowResponseCopyWithImpl<$Res, UsersShowResponse>;
-  @useResult
-  $Res call(
-      {String id,
-      String? name,
-      String username,
-      String? host,
-      @UriConverter() Uri avatarUrl,
-      String? avatarBlurhash,
-      List<UserAvatarDecoration> avatarDecorations,
-      bool isBot,
-      bool isCat,
-      UserInstanceInfo? instance,
-      @EmojisConverter() Map<String, String>? emojis,
-      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
-      @NullableUriConverter() Uri? url,
-      @NullableUriConverter() Uri? uri,
-      @DateTimeConverter() DateTime createdAt,
-      @NullableDateTimeConverter() DateTime? updatedAt,
-      @NullableDateTimeConverter() DateTime? lastFetchedAt,
-      @NullableUriConverter() Uri? bannerUrl,
-      String? bannerBlurhash,
-      bool isLocked,
-      bool isSilenced,
-      bool isSuspended,
-      String? description,
-      String? location,
-      @NullableDateTimeConverter() DateTime? birthday,
-      String? lang,
-      List<UserField>? fields,
-      int followersCount,
-      int followingCount,
-      int notesCount,
-      List<String>? pinnedNoteIds,
-      List<Note>? pinnedNotes,
-      String? pinnedPageId,
-      Map<String, dynamic>? pinnedPage,
-      bool publicReactions,
-      String ffVisibility,
-      bool twoFactorEnabled,
-      bool usePasswordLessLogin,
-      bool securityKeys,
-      List<UserRole>? roles,
-      String? memo,
-      String? avatarId,
-      String? bannerId,
-      bool? isModerator,
-      bool? isAdmin,
-      bool? injectFeaturedNote,
-      bool? receiveAnnouncementEmail,
-      bool? alwaysMarkNsfw,
-      bool? autoSensitive,
-      bool? carefulBot,
-      bool? autoAcceptFollowed,
-      bool? noCrawle,
-      bool? preventAiLearning,
-      bool? isExplorable,
-      bool? isDeleted,
-      bool? hideOnlineStatus,
-      bool? hasUnreadSpecifiedNotes,
-      bool? hasUnreadMentions,
-      bool? hasUnreadAnnouncement,
-      bool? hasUnreadAntenna,
-      bool? hasUnreadNotification,
-      bool? hasPendingReceivedFollowRequest,
-      @MuteWordsConverter() List<MuteWord>? mutedWords,
-      List<String>? mutedInstances,
-      List<String>? mutingNotificationTypes,
-      List<String>? emailNotificationTypes,
-      List<UserAchievement>? achievements,
-      int? loggedInDays,
-      UserPolicies? policies,
-      bool? isFollowing,
-      bool? isFollowed,
-      bool? hasPendingFollowRequestFromYou,
-      bool? hasPendingFollowRequestToYou,
-      bool? isBlocking,
-      bool? isBlocked,
-      bool? isMuted,
-      bool? isRenoteMuted});
-
-  $UserInstanceInfoCopyWith<$Res>? get instance;
-  $UserPoliciesCopyWith<$Res>? get policies;
-}
-
-/// @nodoc
-class _$UsersShowResponseCopyWithImpl<$Res, $Val extends UsersShowResponse>
-    implements $UsersShowResponseCopyWith<$Res> {
-  _$UsersShowResponseCopyWithImpl(this._value, this._then);
-
-  // ignore: unused_field
-  final $Val _value;
-  // ignore: unused_field
-  final $Res Function($Val) _then;
-
-  @pragma('vm:prefer-inline')
-  @override
-  $Res call({
-    Object? id = null,
-    Object? name = freezed,
-    Object? username = null,
-    Object? host = freezed,
-    Object? avatarUrl = null,
-    Object? avatarBlurhash = freezed,
-    Object? avatarDecorations = null,
-    Object? isBot = null,
-    Object? isCat = null,
-    Object? instance = freezed,
-    Object? emojis = freezed,
-    Object? onlineStatus = freezed,
-    Object? url = freezed,
-    Object? uri = freezed,
-    Object? createdAt = null,
-    Object? updatedAt = freezed,
-    Object? lastFetchedAt = freezed,
-    Object? bannerUrl = freezed,
-    Object? bannerBlurhash = freezed,
-    Object? isLocked = null,
-    Object? isSilenced = null,
-    Object? isSuspended = null,
-    Object? description = freezed,
-    Object? location = freezed,
-    Object? birthday = freezed,
-    Object? lang = freezed,
-    Object? fields = freezed,
-    Object? followersCount = null,
-    Object? followingCount = null,
-    Object? notesCount = null,
-    Object? pinnedNoteIds = freezed,
-    Object? pinnedNotes = freezed,
-    Object? pinnedPageId = freezed,
-    Object? pinnedPage = freezed,
-    Object? publicReactions = null,
-    Object? ffVisibility = null,
-    Object? twoFactorEnabled = null,
-    Object? usePasswordLessLogin = null,
-    Object? securityKeys = null,
-    Object? roles = freezed,
-    Object? memo = freezed,
-    Object? avatarId = freezed,
-    Object? bannerId = freezed,
-    Object? isModerator = freezed,
-    Object? isAdmin = freezed,
-    Object? injectFeaturedNote = freezed,
-    Object? receiveAnnouncementEmail = freezed,
-    Object? alwaysMarkNsfw = freezed,
-    Object? autoSensitive = freezed,
-    Object? carefulBot = freezed,
-    Object? autoAcceptFollowed = freezed,
-    Object? noCrawle = freezed,
-    Object? preventAiLearning = freezed,
-    Object? isExplorable = freezed,
-    Object? isDeleted = freezed,
-    Object? hideOnlineStatus = freezed,
-    Object? hasUnreadSpecifiedNotes = freezed,
-    Object? hasUnreadMentions = freezed,
-    Object? hasUnreadAnnouncement = freezed,
-    Object? hasUnreadAntenna = freezed,
-    Object? hasUnreadNotification = freezed,
-    Object? hasPendingReceivedFollowRequest = freezed,
-    Object? mutedWords = freezed,
-    Object? mutedInstances = freezed,
-    Object? mutingNotificationTypes = freezed,
-    Object? emailNotificationTypes = freezed,
-    Object? achievements = freezed,
-    Object? loggedInDays = freezed,
-    Object? policies = freezed,
-    Object? isFollowing = freezed,
-    Object? isFollowed = freezed,
-    Object? hasPendingFollowRequestFromYou = freezed,
-    Object? hasPendingFollowRequestToYou = freezed,
-    Object? isBlocking = freezed,
-    Object? isBlocked = freezed,
-    Object? isMuted = freezed,
-    Object? isRenoteMuted = freezed,
-  }) {
-    return _then(_value.copyWith(
-      id: null == id
-          ? _value.id
-          : id // ignore: cast_nullable_to_non_nullable
-              as String,
-      name: freezed == name
-          ? _value.name
-          : name // ignore: cast_nullable_to_non_nullable
-              as String?,
-      username: null == username
-          ? _value.username
-          : username // ignore: cast_nullable_to_non_nullable
-              as String,
-      host: freezed == host
-          ? _value.host
-          : host // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarUrl: null == avatarUrl
-          ? _value.avatarUrl
-          : avatarUrl // ignore: cast_nullable_to_non_nullable
-              as Uri,
-      avatarBlurhash: freezed == avatarBlurhash
-          ? _value.avatarBlurhash
-          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarDecorations: null == avatarDecorations
-          ? _value.avatarDecorations
-          : avatarDecorations // ignore: cast_nullable_to_non_nullable
-              as List<UserAvatarDecoration>,
-      isBot: null == isBot
-          ? _value.isBot
-          : isBot // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isCat: null == isCat
-          ? _value.isCat
-          : isCat // ignore: cast_nullable_to_non_nullable
-              as bool,
-      instance: freezed == instance
-          ? _value.instance
-          : instance // ignore: cast_nullable_to_non_nullable
-              as UserInstanceInfo?,
-      emojis: freezed == emojis
-          ? _value.emojis
-          : emojis // ignore: cast_nullable_to_non_nullable
-              as Map<String, String>?,
-      onlineStatus: freezed == onlineStatus
-          ? _value.onlineStatus
-          : onlineStatus // ignore: cast_nullable_to_non_nullable
-              as OnlineStatus?,
-      url: freezed == url
-          ? _value.url
-          : url // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      uri: freezed == uri
-          ? _value.uri
-          : uri // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      createdAt: null == createdAt
-          ? _value.createdAt
-          : createdAt // ignore: cast_nullable_to_non_nullable
-              as DateTime,
-      updatedAt: freezed == updatedAt
-          ? _value.updatedAt
-          : updatedAt // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      lastFetchedAt: freezed == lastFetchedAt
-          ? _value.lastFetchedAt
-          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      bannerUrl: freezed == bannerUrl
-          ? _value.bannerUrl
-          : bannerUrl // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      bannerBlurhash: freezed == bannerBlurhash
-          ? _value.bannerBlurhash
-          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
-              as String?,
-      isLocked: null == isLocked
-          ? _value.isLocked
-          : isLocked // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isSilenced: null == isSilenced
-          ? _value.isSilenced
-          : isSilenced // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isSuspended: null == isSuspended
-          ? _value.isSuspended
-          : isSuspended // ignore: cast_nullable_to_non_nullable
-              as bool,
-      description: freezed == description
-          ? _value.description
-          : description // ignore: cast_nullable_to_non_nullable
-              as String?,
-      location: freezed == location
-          ? _value.location
-          : location // ignore: cast_nullable_to_non_nullable
-              as String?,
-      birthday: freezed == birthday
-          ? _value.birthday
-          : birthday // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      lang: freezed == lang
-          ? _value.lang
-          : lang // ignore: cast_nullable_to_non_nullable
-              as String?,
-      fields: freezed == fields
-          ? _value.fields
-          : fields // ignore: cast_nullable_to_non_nullable
-              as List<UserField>?,
-      followersCount: null == followersCount
-          ? _value.followersCount
-          : followersCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      followingCount: null == followingCount
-          ? _value.followingCount
-          : followingCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      notesCount: null == notesCount
-          ? _value.notesCount
-          : notesCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      pinnedNoteIds: freezed == pinnedNoteIds
-          ? _value.pinnedNoteIds
-          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      pinnedNotes: freezed == pinnedNotes
-          ? _value.pinnedNotes
-          : pinnedNotes // ignore: cast_nullable_to_non_nullable
-              as List<Note>?,
-      pinnedPageId: freezed == pinnedPageId
-          ? _value.pinnedPageId
-          : pinnedPageId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      pinnedPage: freezed == pinnedPage
-          ? _value.pinnedPage
-          : pinnedPage // ignore: cast_nullable_to_non_nullable
-              as Map<String, dynamic>?,
-      publicReactions: null == publicReactions
-          ? _value.publicReactions
-          : publicReactions // ignore: cast_nullable_to_non_nullable
-              as bool,
-      ffVisibility: null == ffVisibility
-          ? _value.ffVisibility
-          : ffVisibility // ignore: cast_nullable_to_non_nullable
-              as String,
-      twoFactorEnabled: null == twoFactorEnabled
-          ? _value.twoFactorEnabled
-          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
-              as bool,
-      usePasswordLessLogin: null == usePasswordLessLogin
-          ? _value.usePasswordLessLogin
-          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
-              as bool,
-      securityKeys: null == securityKeys
-          ? _value.securityKeys
-          : securityKeys // ignore: cast_nullable_to_non_nullable
-              as bool,
-      roles: freezed == roles
-          ? _value.roles
-          : roles // ignore: cast_nullable_to_non_nullable
-              as List<UserRole>?,
-      memo: freezed == memo
-          ? _value.memo
-          : memo // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarId: freezed == avatarId
-          ? _value.avatarId
-          : avatarId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      bannerId: freezed == bannerId
-          ? _value.bannerId
-          : bannerId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      isModerator: freezed == isModerator
-          ? _value.isModerator
-          : isModerator // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isAdmin: freezed == isAdmin
-          ? _value.isAdmin
-          : isAdmin // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      injectFeaturedNote: freezed == injectFeaturedNote
-          ? _value.injectFeaturedNote
-          : injectFeaturedNote // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      receiveAnnouncementEmail: freezed == receiveAnnouncementEmail
-          ? _value.receiveAnnouncementEmail
-          : receiveAnnouncementEmail // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      alwaysMarkNsfw: freezed == alwaysMarkNsfw
-          ? _value.alwaysMarkNsfw
-          : alwaysMarkNsfw // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      autoSensitive: freezed == autoSensitive
-          ? _value.autoSensitive
-          : autoSensitive // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      carefulBot: freezed == carefulBot
-          ? _value.carefulBot
-          : carefulBot // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      autoAcceptFollowed: freezed == autoAcceptFollowed
-          ? _value.autoAcceptFollowed
-          : autoAcceptFollowed // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      noCrawle: freezed == noCrawle
-          ? _value.noCrawle
-          : noCrawle // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      preventAiLearning: freezed == preventAiLearning
-          ? _value.preventAiLearning
-          : preventAiLearning // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isExplorable: freezed == isExplorable
-          ? _value.isExplorable
-          : isExplorable // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isDeleted: freezed == isDeleted
-          ? _value.isDeleted
-          : isDeleted // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hideOnlineStatus: freezed == hideOnlineStatus
-          ? _value.hideOnlineStatus
-          : hideOnlineStatus // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadSpecifiedNotes: freezed == hasUnreadSpecifiedNotes
-          ? _value.hasUnreadSpecifiedNotes
-          : hasUnreadSpecifiedNotes // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadMentions: freezed == hasUnreadMentions
-          ? _value.hasUnreadMentions
-          : hasUnreadMentions // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadAnnouncement: freezed == hasUnreadAnnouncement
-          ? _value.hasUnreadAnnouncement
-          : hasUnreadAnnouncement // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadAntenna: freezed == hasUnreadAntenna
-          ? _value.hasUnreadAntenna
-          : hasUnreadAntenna // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadNotification: freezed == hasUnreadNotification
-          ? _value.hasUnreadNotification
-          : hasUnreadNotification // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasPendingReceivedFollowRequest: freezed ==
-              hasPendingReceivedFollowRequest
-          ? _value.hasPendingReceivedFollowRequest
-          : hasPendingReceivedFollowRequest // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      mutedWords: freezed == mutedWords
-          ? _value.mutedWords
-          : mutedWords // ignore: cast_nullable_to_non_nullable
-              as List<MuteWord>?,
-      mutedInstances: freezed == mutedInstances
-          ? _value.mutedInstances
-          : mutedInstances // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      mutingNotificationTypes: freezed == mutingNotificationTypes
-          ? _value.mutingNotificationTypes
-          : mutingNotificationTypes // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      emailNotificationTypes: freezed == emailNotificationTypes
-          ? _value.emailNotificationTypes
-          : emailNotificationTypes // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      achievements: freezed == achievements
-          ? _value.achievements
-          : achievements // ignore: cast_nullable_to_non_nullable
-              as List<UserAchievement>?,
-      loggedInDays: freezed == loggedInDays
-          ? _value.loggedInDays
-          : loggedInDays // ignore: cast_nullable_to_non_nullable
-              as int?,
-      policies: freezed == policies
-          ? _value.policies
-          : policies // ignore: cast_nullable_to_non_nullable
-              as UserPolicies?,
-      isFollowing: freezed == isFollowing
-          ? _value.isFollowing
-          : isFollowing // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isFollowed: freezed == isFollowed
-          ? _value.isFollowed
-          : isFollowed // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasPendingFollowRequestFromYou: freezed == hasPendingFollowRequestFromYou
-          ? _value.hasPendingFollowRequestFromYou
-          : hasPendingFollowRequestFromYou // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasPendingFollowRequestToYou: freezed == hasPendingFollowRequestToYou
-          ? _value.hasPendingFollowRequestToYou
-          : hasPendingFollowRequestToYou // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isBlocking: freezed == isBlocking
-          ? _value.isBlocking
-          : isBlocking // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isBlocked: freezed == isBlocked
-          ? _value.isBlocked
-          : isBlocked // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isMuted: freezed == isMuted
-          ? _value.isMuted
-          : isMuted // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isRenoteMuted: freezed == isRenoteMuted
-          ? _value.isRenoteMuted
-          : isRenoteMuted // ignore: cast_nullable_to_non_nullable
-              as bool?,
-    ) as $Val);
-  }
-
-  @override
-  @pragma('vm:prefer-inline')
-  $UserInstanceInfoCopyWith<$Res>? get instance {
-    if (_value.instance == null) {
-      return null;
-    }
-
-    return $UserInstanceInfoCopyWith<$Res>(_value.instance!, (value) {
-      return _then(_value.copyWith(instance: value) as $Val);
-    });
-  }
-
-  @override
-  @pragma('vm:prefer-inline')
-  $UserPoliciesCopyWith<$Res>? get policies {
-    if (_value.policies == null) {
-      return null;
-    }
-
-    return $UserPoliciesCopyWith<$Res>(_value.policies!, (value) {
-      return _then(_value.copyWith(policies: value) as $Val);
-    });
-  }
-}
-
-/// @nodoc
-abstract class _$$_UsersShowResponseCopyWith<$Res>
-    implements $UsersShowResponseCopyWith<$Res> {
-  factory _$$_UsersShowResponseCopyWith(_$_UsersShowResponse value,
-          $Res Function(_$_UsersShowResponse) then) =
-      __$$_UsersShowResponseCopyWithImpl<$Res>;
-  @override
-  @useResult
-  $Res call(
-      {String id,
-      String? name,
-      String username,
-      String? host,
-      @UriConverter() Uri avatarUrl,
-      String? avatarBlurhash,
-      List<UserAvatarDecoration> avatarDecorations,
-      bool isBot,
-      bool isCat,
-      UserInstanceInfo? instance,
-      @EmojisConverter() Map<String, String>? emojis,
-      @OnlineStatusJsonConverter() OnlineStatus? onlineStatus,
-      @NullableUriConverter() Uri? url,
-      @NullableUriConverter() Uri? uri,
-      @DateTimeConverter() DateTime createdAt,
-      @NullableDateTimeConverter() DateTime? updatedAt,
-      @NullableDateTimeConverter() DateTime? lastFetchedAt,
-      @NullableUriConverter() Uri? bannerUrl,
-      String? bannerBlurhash,
-      bool isLocked,
-      bool isSilenced,
-      bool isSuspended,
-      String? description,
-      String? location,
-      @NullableDateTimeConverter() DateTime? birthday,
-      String? lang,
-      List<UserField>? fields,
-      int followersCount,
-      int followingCount,
-      int notesCount,
-      List<String>? pinnedNoteIds,
-      List<Note>? pinnedNotes,
-      String? pinnedPageId,
-      Map<String, dynamic>? pinnedPage,
-      bool publicReactions,
-      String ffVisibility,
-      bool twoFactorEnabled,
-      bool usePasswordLessLogin,
-      bool securityKeys,
-      List<UserRole>? roles,
-      String? memo,
-      String? avatarId,
-      String? bannerId,
-      bool? isModerator,
-      bool? isAdmin,
-      bool? injectFeaturedNote,
-      bool? receiveAnnouncementEmail,
-      bool? alwaysMarkNsfw,
-      bool? autoSensitive,
-      bool? carefulBot,
-      bool? autoAcceptFollowed,
-      bool? noCrawle,
-      bool? preventAiLearning,
-      bool? isExplorable,
-      bool? isDeleted,
-      bool? hideOnlineStatus,
-      bool? hasUnreadSpecifiedNotes,
-      bool? hasUnreadMentions,
-      bool? hasUnreadAnnouncement,
-      bool? hasUnreadAntenna,
-      bool? hasUnreadNotification,
-      bool? hasPendingReceivedFollowRequest,
-      @MuteWordsConverter() List<MuteWord>? mutedWords,
-      List<String>? mutedInstances,
-      List<String>? mutingNotificationTypes,
-      List<String>? emailNotificationTypes,
-      List<UserAchievement>? achievements,
-      int? loggedInDays,
-      UserPolicies? policies,
-      bool? isFollowing,
-      bool? isFollowed,
-      bool? hasPendingFollowRequestFromYou,
-      bool? hasPendingFollowRequestToYou,
-      bool? isBlocking,
-      bool? isBlocked,
-      bool? isMuted,
-      bool? isRenoteMuted});
-
-  @override
-  $UserInstanceInfoCopyWith<$Res>? get instance;
-  @override
-  $UserPoliciesCopyWith<$Res>? get policies;
-}
-
-/// @nodoc
-class __$$_UsersShowResponseCopyWithImpl<$Res>
-    extends _$UsersShowResponseCopyWithImpl<$Res, _$_UsersShowResponse>
-    implements _$$_UsersShowResponseCopyWith<$Res> {
-  __$$_UsersShowResponseCopyWithImpl(
-      _$_UsersShowResponse _value, $Res Function(_$_UsersShowResponse) _then)
-      : super(_value, _then);
-
-  @pragma('vm:prefer-inline')
-  @override
-  $Res call({
-    Object? id = null,
-    Object? name = freezed,
-    Object? username = null,
-    Object? host = freezed,
-    Object? avatarUrl = null,
-    Object? avatarBlurhash = freezed,
-    Object? avatarDecorations = null,
-    Object? isBot = null,
-    Object? isCat = null,
-    Object? instance = freezed,
-    Object? emojis = freezed,
-    Object? onlineStatus = freezed,
-    Object? url = freezed,
-    Object? uri = freezed,
-    Object? createdAt = null,
-    Object? updatedAt = freezed,
-    Object? lastFetchedAt = freezed,
-    Object? bannerUrl = freezed,
-    Object? bannerBlurhash = freezed,
-    Object? isLocked = null,
-    Object? isSilenced = null,
-    Object? isSuspended = null,
-    Object? description = freezed,
-    Object? location = freezed,
-    Object? birthday = freezed,
-    Object? lang = freezed,
-    Object? fields = freezed,
-    Object? followersCount = null,
-    Object? followingCount = null,
-    Object? notesCount = null,
-    Object? pinnedNoteIds = freezed,
-    Object? pinnedNotes = freezed,
-    Object? pinnedPageId = freezed,
-    Object? pinnedPage = freezed,
-    Object? publicReactions = null,
-    Object? ffVisibility = null,
-    Object? twoFactorEnabled = null,
-    Object? usePasswordLessLogin = null,
-    Object? securityKeys = null,
-    Object? roles = freezed,
-    Object? memo = freezed,
-    Object? avatarId = freezed,
-    Object? bannerId = freezed,
-    Object? isModerator = freezed,
-    Object? isAdmin = freezed,
-    Object? injectFeaturedNote = freezed,
-    Object? receiveAnnouncementEmail = freezed,
-    Object? alwaysMarkNsfw = freezed,
-    Object? autoSensitive = freezed,
-    Object? carefulBot = freezed,
-    Object? autoAcceptFollowed = freezed,
-    Object? noCrawle = freezed,
-    Object? preventAiLearning = freezed,
-    Object? isExplorable = freezed,
-    Object? isDeleted = freezed,
-    Object? hideOnlineStatus = freezed,
-    Object? hasUnreadSpecifiedNotes = freezed,
-    Object? hasUnreadMentions = freezed,
-    Object? hasUnreadAnnouncement = freezed,
-    Object? hasUnreadAntenna = freezed,
-    Object? hasUnreadNotification = freezed,
-    Object? hasPendingReceivedFollowRequest = freezed,
-    Object? mutedWords = freezed,
-    Object? mutedInstances = freezed,
-    Object? mutingNotificationTypes = freezed,
-    Object? emailNotificationTypes = freezed,
-    Object? achievements = freezed,
-    Object? loggedInDays = freezed,
-    Object? policies = freezed,
-    Object? isFollowing = freezed,
-    Object? isFollowed = freezed,
-    Object? hasPendingFollowRequestFromYou = freezed,
-    Object? hasPendingFollowRequestToYou = freezed,
-    Object? isBlocking = freezed,
-    Object? isBlocked = freezed,
-    Object? isMuted = freezed,
-    Object? isRenoteMuted = freezed,
-  }) {
-    return _then(_$_UsersShowResponse(
-      id: null == id
-          ? _value.id
-          : id // ignore: cast_nullable_to_non_nullable
-              as String,
-      name: freezed == name
-          ? _value.name
-          : name // ignore: cast_nullable_to_non_nullable
-              as String?,
-      username: null == username
-          ? _value.username
-          : username // ignore: cast_nullable_to_non_nullable
-              as String,
-      host: freezed == host
-          ? _value.host
-          : host // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarUrl: null == avatarUrl
-          ? _value.avatarUrl
-          : avatarUrl // ignore: cast_nullable_to_non_nullable
-              as Uri,
-      avatarBlurhash: freezed == avatarBlurhash
-          ? _value.avatarBlurhash
-          : avatarBlurhash // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarDecorations: null == avatarDecorations
-          ? _value._avatarDecorations
-          : avatarDecorations // ignore: cast_nullable_to_non_nullable
-              as List<UserAvatarDecoration>,
-      isBot: null == isBot
-          ? _value.isBot
-          : isBot // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isCat: null == isCat
-          ? _value.isCat
-          : isCat // ignore: cast_nullable_to_non_nullable
-              as bool,
-      instance: freezed == instance
-          ? _value.instance
-          : instance // ignore: cast_nullable_to_non_nullable
-              as UserInstanceInfo?,
-      emojis: freezed == emojis
-          ? _value._emojis
-          : emojis // ignore: cast_nullable_to_non_nullable
-              as Map<String, String>?,
-      onlineStatus: freezed == onlineStatus
-          ? _value.onlineStatus
-          : onlineStatus // ignore: cast_nullable_to_non_nullable
-              as OnlineStatus?,
-      url: freezed == url
-          ? _value.url
-          : url // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      uri: freezed == uri
-          ? _value.uri
-          : uri // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      createdAt: null == createdAt
-          ? _value.createdAt
-          : createdAt // ignore: cast_nullable_to_non_nullable
-              as DateTime,
-      updatedAt: freezed == updatedAt
-          ? _value.updatedAt
-          : updatedAt // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      lastFetchedAt: freezed == lastFetchedAt
-          ? _value.lastFetchedAt
-          : lastFetchedAt // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      bannerUrl: freezed == bannerUrl
-          ? _value.bannerUrl
-          : bannerUrl // ignore: cast_nullable_to_non_nullable
-              as Uri?,
-      bannerBlurhash: freezed == bannerBlurhash
-          ? _value.bannerBlurhash
-          : bannerBlurhash // ignore: cast_nullable_to_non_nullable
-              as String?,
-      isLocked: null == isLocked
-          ? _value.isLocked
-          : isLocked // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isSilenced: null == isSilenced
-          ? _value.isSilenced
-          : isSilenced // ignore: cast_nullable_to_non_nullable
-              as bool,
-      isSuspended: null == isSuspended
-          ? _value.isSuspended
-          : isSuspended // ignore: cast_nullable_to_non_nullable
-              as bool,
-      description: freezed == description
-          ? _value.description
-          : description // ignore: cast_nullable_to_non_nullable
-              as String?,
-      location: freezed == location
-          ? _value.location
-          : location // ignore: cast_nullable_to_non_nullable
-              as String?,
-      birthday: freezed == birthday
-          ? _value.birthday
-          : birthday // ignore: cast_nullable_to_non_nullable
-              as DateTime?,
-      lang: freezed == lang
-          ? _value.lang
-          : lang // ignore: cast_nullable_to_non_nullable
-              as String?,
-      fields: freezed == fields
-          ? _value._fields
-          : fields // ignore: cast_nullable_to_non_nullable
-              as List<UserField>?,
-      followersCount: null == followersCount
-          ? _value.followersCount
-          : followersCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      followingCount: null == followingCount
-          ? _value.followingCount
-          : followingCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      notesCount: null == notesCount
-          ? _value.notesCount
-          : notesCount // ignore: cast_nullable_to_non_nullable
-              as int,
-      pinnedNoteIds: freezed == pinnedNoteIds
-          ? _value._pinnedNoteIds
-          : pinnedNoteIds // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      pinnedNotes: freezed == pinnedNotes
-          ? _value._pinnedNotes
-          : pinnedNotes // ignore: cast_nullable_to_non_nullable
-              as List<Note>?,
-      pinnedPageId: freezed == pinnedPageId
-          ? _value.pinnedPageId
-          : pinnedPageId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      pinnedPage: freezed == pinnedPage
-          ? _value._pinnedPage
-          : pinnedPage // ignore: cast_nullable_to_non_nullable
-              as Map<String, dynamic>?,
-      publicReactions: null == publicReactions
-          ? _value.publicReactions
-          : publicReactions // ignore: cast_nullable_to_non_nullable
-              as bool,
-      ffVisibility: null == ffVisibility
-          ? _value.ffVisibility
-          : ffVisibility // ignore: cast_nullable_to_non_nullable
-              as String,
-      twoFactorEnabled: null == twoFactorEnabled
-          ? _value.twoFactorEnabled
-          : twoFactorEnabled // ignore: cast_nullable_to_non_nullable
-              as bool,
-      usePasswordLessLogin: null == usePasswordLessLogin
-          ? _value.usePasswordLessLogin
-          : usePasswordLessLogin // ignore: cast_nullable_to_non_nullable
-              as bool,
-      securityKeys: null == securityKeys
-          ? _value.securityKeys
-          : securityKeys // ignore: cast_nullable_to_non_nullable
-              as bool,
-      roles: freezed == roles
-          ? _value._roles
-          : roles // ignore: cast_nullable_to_non_nullable
-              as List<UserRole>?,
-      memo: freezed == memo
-          ? _value.memo
-          : memo // ignore: cast_nullable_to_non_nullable
-              as String?,
-      avatarId: freezed == avatarId
-          ? _value.avatarId
-          : avatarId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      bannerId: freezed == bannerId
-          ? _value.bannerId
-          : bannerId // ignore: cast_nullable_to_non_nullable
-              as String?,
-      isModerator: freezed == isModerator
-          ? _value.isModerator
-          : isModerator // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isAdmin: freezed == isAdmin
-          ? _value.isAdmin
-          : isAdmin // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      injectFeaturedNote: freezed == injectFeaturedNote
-          ? _value.injectFeaturedNote
-          : injectFeaturedNote // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      receiveAnnouncementEmail: freezed == receiveAnnouncementEmail
-          ? _value.receiveAnnouncementEmail
-          : receiveAnnouncementEmail // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      alwaysMarkNsfw: freezed == alwaysMarkNsfw
-          ? _value.alwaysMarkNsfw
-          : alwaysMarkNsfw // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      autoSensitive: freezed == autoSensitive
-          ? _value.autoSensitive
-          : autoSensitive // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      carefulBot: freezed == carefulBot
-          ? _value.carefulBot
-          : carefulBot // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      autoAcceptFollowed: freezed == autoAcceptFollowed
-          ? _value.autoAcceptFollowed
-          : autoAcceptFollowed // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      noCrawle: freezed == noCrawle
-          ? _value.noCrawle
-          : noCrawle // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      preventAiLearning: freezed == preventAiLearning
-          ? _value.preventAiLearning
-          : preventAiLearning // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isExplorable: freezed == isExplorable
-          ? _value.isExplorable
-          : isExplorable // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isDeleted: freezed == isDeleted
-          ? _value.isDeleted
-          : isDeleted // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hideOnlineStatus: freezed == hideOnlineStatus
-          ? _value.hideOnlineStatus
-          : hideOnlineStatus // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadSpecifiedNotes: freezed == hasUnreadSpecifiedNotes
-          ? _value.hasUnreadSpecifiedNotes
-          : hasUnreadSpecifiedNotes // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadMentions: freezed == hasUnreadMentions
-          ? _value.hasUnreadMentions
-          : hasUnreadMentions // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadAnnouncement: freezed == hasUnreadAnnouncement
-          ? _value.hasUnreadAnnouncement
-          : hasUnreadAnnouncement // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadAntenna: freezed == hasUnreadAntenna
-          ? _value.hasUnreadAntenna
-          : hasUnreadAntenna // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasUnreadNotification: freezed == hasUnreadNotification
-          ? _value.hasUnreadNotification
-          : hasUnreadNotification // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasPendingReceivedFollowRequest: freezed ==
-              hasPendingReceivedFollowRequest
-          ? _value.hasPendingReceivedFollowRequest
-          : hasPendingReceivedFollowRequest // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      mutedWords: freezed == mutedWords
-          ? _value._mutedWords
-          : mutedWords // ignore: cast_nullable_to_non_nullable
-              as List<MuteWord>?,
-      mutedInstances: freezed == mutedInstances
-          ? _value._mutedInstances
-          : mutedInstances // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      mutingNotificationTypes: freezed == mutingNotificationTypes
-          ? _value._mutingNotificationTypes
-          : mutingNotificationTypes // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      emailNotificationTypes: freezed == emailNotificationTypes
-          ? _value._emailNotificationTypes
-          : emailNotificationTypes // ignore: cast_nullable_to_non_nullable
-              as List<String>?,
-      achievements: freezed == achievements
-          ? _value._achievements
-          : achievements // ignore: cast_nullable_to_non_nullable
-              as List<UserAchievement>?,
-      loggedInDays: freezed == loggedInDays
-          ? _value.loggedInDays
-          : loggedInDays // ignore: cast_nullable_to_non_nullable
-              as int?,
-      policies: freezed == policies
-          ? _value.policies
-          : policies // ignore: cast_nullable_to_non_nullable
-              as UserPolicies?,
-      isFollowing: freezed == isFollowing
-          ? _value.isFollowing
-          : isFollowing // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isFollowed: freezed == isFollowed
-          ? _value.isFollowed
-          : isFollowed // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasPendingFollowRequestFromYou: freezed == hasPendingFollowRequestFromYou
-          ? _value.hasPendingFollowRequestFromYou
-          : hasPendingFollowRequestFromYou // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      hasPendingFollowRequestToYou: freezed == hasPendingFollowRequestToYou
-          ? _value.hasPendingFollowRequestToYou
-          : hasPendingFollowRequestToYou // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isBlocking: freezed == isBlocking
-          ? _value.isBlocking
-          : isBlocking // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isBlocked: freezed == isBlocked
-          ? _value.isBlocked
-          : isBlocked // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isMuted: freezed == isMuted
-          ? _value.isMuted
-          : isMuted // ignore: cast_nullable_to_non_nullable
-              as bool?,
-      isRenoteMuted: freezed == isRenoteMuted
-          ? _value.isRenoteMuted
-          : isRenoteMuted // ignore: cast_nullable_to_non_nullable
-              as bool?,
-    ));
-  }
-}
-
-/// @nodoc
-@JsonSerializable()
-class _$_UsersShowResponse extends _UsersShowResponse {
-  const _$_UsersShowResponse(
-      {required this.id,
-      this.name,
-      required this.username,
-      this.host,
-      @UriConverter() required this.avatarUrl,
-      this.avatarBlurhash,
-      final List<UserAvatarDecoration> avatarDecorations = const [],
-      required this.isBot,
-      required this.isCat,
-      this.instance,
-      @EmojisConverter() final Map<String, String>? emojis,
-      @OnlineStatusJsonConverter() this.onlineStatus,
-      @NullableUriConverter() this.url,
-      @NullableUriConverter() this.uri,
-      @DateTimeConverter() required this.createdAt,
-      @NullableDateTimeConverter() this.updatedAt,
-      @NullableDateTimeConverter() this.lastFetchedAt,
-      @NullableUriConverter() this.bannerUrl,
-      this.bannerBlurhash,
-      required this.isLocked,
-      required this.isSilenced,
-      required this.isSuspended,
-      this.description,
-      this.location,
-      @NullableDateTimeConverter() this.birthday,
-      this.lang,
-      final List<UserField>? fields,
-      required this.followersCount,
-      required this.followingCount,
-      required this.notesCount,
-      final List<String>? pinnedNoteIds,
-      final List<Note>? pinnedNotes,
-      this.pinnedPageId,
-      final Map<String, dynamic>? pinnedPage,
-      required this.publicReactions,
-      required this.ffVisibility,
-      required this.twoFactorEnabled,
-      required this.usePasswordLessLogin,
-      required this.securityKeys,
-      final List<UserRole>? roles,
-      this.memo,
-      this.avatarId,
-      this.bannerId,
-      this.isModerator,
-      this.isAdmin,
-      this.injectFeaturedNote,
-      this.receiveAnnouncementEmail,
-      this.alwaysMarkNsfw,
-      this.autoSensitive,
-      this.carefulBot,
-      this.autoAcceptFollowed,
-      this.noCrawle,
-      this.preventAiLearning,
-      this.isExplorable,
-      this.isDeleted,
-      this.hideOnlineStatus,
-      this.hasUnreadSpecifiedNotes,
-      this.hasUnreadMentions,
-      this.hasUnreadAnnouncement,
-      this.hasUnreadAntenna,
-      this.hasUnreadNotification,
-      this.hasPendingReceivedFollowRequest,
-      @MuteWordsConverter() final List<MuteWord>? mutedWords,
-      final List<String>? mutedInstances,
-      final List<String>? mutingNotificationTypes,
-      final List<String>? emailNotificationTypes,
-      final List<UserAchievement>? achievements,
-      this.loggedInDays,
-      this.policies,
-      this.isFollowing,
-      this.isFollowed,
-      this.hasPendingFollowRequestFromYou,
-      this.hasPendingFollowRequestToYou,
-      this.isBlocking,
-      this.isBlocked,
-      this.isMuted,
-      this.isRenoteMuted})
-      : _avatarDecorations = avatarDecorations,
-        _emojis = emojis,
-        _fields = fields,
-        _pinnedNoteIds = pinnedNoteIds,
-        _pinnedNotes = pinnedNotes,
-        _pinnedPage = pinnedPage,
-        _roles = roles,
-        _mutedWords = mutedWords,
-        _mutedInstances = mutedInstances,
-        _mutingNotificationTypes = mutingNotificationTypes,
-        _emailNotificationTypes = emailNotificationTypes,
-        _achievements = achievements,
-        super._();
-
-  factory _$_UsersShowResponse.fromJson(Map<String, dynamic> json) =>
-      _$$_UsersShowResponseFromJson(json);
-
-  @override
-  final String id;
-  @override
-  final String? name;
-  @override
-  final String username;
-  @override
-  final String? host;
-  @override
-  @UriConverter()
-  final Uri avatarUrl;
-  @override
-  final String? avatarBlurhash;
-  final List<UserAvatarDecoration> _avatarDecorations;
-  @override
-  @JsonKey()
-  List<UserAvatarDecoration> get avatarDecorations {
-    if (_avatarDecorations is EqualUnmodifiableListView)
-      return _avatarDecorations;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(_avatarDecorations);
-  }
-
-  @override
-  final bool isBot;
-  @override
-  final bool isCat;
-  @override
-  final UserInstanceInfo? instance;
-  final Map<String, String>? _emojis;
-  @override
-  @EmojisConverter()
-  Map<String, String>? get emojis {
-    final value = _emojis;
-    if (value == null) return null;
-    if (_emojis is EqualUnmodifiableMapView) return _emojis;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableMapView(value);
-  }
-
-  @override
-  @OnlineStatusJsonConverter()
-  final OnlineStatus? onlineStatus;
-  @override
-  @NullableUriConverter()
-  final Uri? url;
-  @override
-  @NullableUriConverter()
-  final Uri? uri;
-//dynamic movedToUri,
-//dynamic alsoKnownAs,
-  @override
-  @DateTimeConverter()
-  final DateTime createdAt;
-  @override
-  @NullableDateTimeConverter()
-  final DateTime? updatedAt;
-  @override
-  @NullableDateTimeConverter()
-  final DateTime? lastFetchedAt;
-  @override
-  @NullableUriConverter()
-  final Uri? bannerUrl;
-  @override
-  final String? bannerBlurhash;
-  @override
-  final bool isLocked;
-  @override
-  final bool isSilenced;
-  @override
-  final bool isSuspended;
-  @override
-  final String? description;
-  @override
-  final String? location;
-  @override
-  @NullableDateTimeConverter()
-  final DateTime? birthday;
-  @override
-  final String? lang;
-  final List<UserField>? _fields;
-  @override
-  List<UserField>? get fields {
-    final value = _fields;
-    if (value == null) return null;
-    if (_fields is EqualUnmodifiableListView) return _fields;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  @override
-  final int followersCount;
-  @override
-  final int followingCount;
-  @override
-  final int notesCount;
-  final List<String>? _pinnedNoteIds;
-  @override
-  List<String>? get pinnedNoteIds {
-    final value = _pinnedNoteIds;
-    if (value == null) return null;
-    if (_pinnedNoteIds is EqualUnmodifiableListView) return _pinnedNoteIds;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  final List<Note>? _pinnedNotes;
-  @override
-  List<Note>? get pinnedNotes {
-    final value = _pinnedNotes;
-    if (value == null) return null;
-    if (_pinnedNotes is EqualUnmodifiableListView) return _pinnedNotes;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  @override
-  final String? pinnedPageId;
-  final Map<String, dynamic>? _pinnedPage;
-  @override
-  Map<String, dynamic>? get pinnedPage {
-    final value = _pinnedPage;
-    if (value == null) return null;
-    if (_pinnedPage is EqualUnmodifiableMapView) return _pinnedPage;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableMapView(value);
-  }
-
-  @override
-  final bool publicReactions;
-  @override
-  final String ffVisibility;
-  @override
-  final bool twoFactorEnabled;
-  @override
-  final bool usePasswordLessLogin;
-  @override
-  final bool securityKeys;
-  final List<UserRole>? _roles;
-  @override
-  List<UserRole>? get roles {
-    final value = _roles;
-    if (value == null) return null;
-    if (_roles is EqualUnmodifiableListView) return _roles;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  @override
-  final String? memo;
-// 以下ログイン時のみ
-  @override
-  final String? avatarId;
-  @override
-  final String? bannerId;
-  @override
-  final bool? isModerator;
-  @override
-  final bool? isAdmin;
-  @override
-  final bool? injectFeaturedNote;
-  @override
-  final bool? receiveAnnouncementEmail;
-  @override
-  final bool? alwaysMarkNsfw;
-  @override
-  final bool? autoSensitive;
-  @override
-  final bool? carefulBot;
-  @override
-  final bool? autoAcceptFollowed;
-  @override
-  final bool? noCrawle;
-  @override
-  final bool? preventAiLearning;
-  @override
-  final bool? isExplorable;
-  @override
-  final bool? isDeleted;
-  @override
-  final bool? hideOnlineStatus;
-  @override
-  final bool? hasUnreadSpecifiedNotes;
-  @override
-  final bool? hasUnreadMentions;
-  @override
-  final bool? hasUnreadAnnouncement;
-  @override
-  final bool? hasUnreadAntenna;
-  @override
-  final bool? hasUnreadNotification;
-  @override
-  final bool? hasPendingReceivedFollowRequest;
-  final List<MuteWord>? _mutedWords;
-  @override
-  @MuteWordsConverter()
-  List<MuteWord>? get mutedWords {
-    final value = _mutedWords;
-    if (value == null) return null;
-    if (_mutedWords is EqualUnmodifiableListView) return _mutedWords;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  final List<String>? _mutedInstances;
-  @override
-  List<String>? get mutedInstances {
-    final value = _mutedInstances;
-    if (value == null) return null;
-    if (_mutedInstances is EqualUnmodifiableListView) return _mutedInstances;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  final List<String>? _mutingNotificationTypes;
-  @override
-  List<String>? get mutingNotificationTypes {
-    final value = _mutingNotificationTypes;
-    if (value == null) return null;
-    if (_mutingNotificationTypes is EqualUnmodifiableListView)
-      return _mutingNotificationTypes;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  final List<String>? _emailNotificationTypes;
-  @override
-  List<String>? get emailNotificationTypes {
-    final value = _emailNotificationTypes;
-    if (value == null) return null;
-    if (_emailNotificationTypes is EqualUnmodifiableListView)
-      return _emailNotificationTypes;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  final List<UserAchievement>? _achievements;
-  @override
-  List<UserAchievement>? get achievements {
-    final value = _achievements;
-    if (value == null) return null;
-    if (_achievements is EqualUnmodifiableListView) return _achievements;
-    // ignore: implicit_dynamic_type
-    return EqualUnmodifiableListView(value);
-  }
-
-  @override
-  final int? loggedInDays;
-  @override
-  final UserPolicies? policies;
-  @override
-  final bool? isFollowing;
-  @override
-  final bool? isFollowed;
-  @override
-  final bool? hasPendingFollowRequestFromYou;
-  @override
-  final bool? hasPendingFollowRequestToYou;
-  @override
-  final bool? isBlocking;
-  @override
-  final bool? isBlocked;
-  @override
-  final bool? isMuted;
-  @override
-  final bool? isRenoteMuted;
-
-  @override
-  String toString() {
-    return 'UsersShowResponse(id: $id, name: $name, username: $username, host: $host, avatarUrl: $avatarUrl, avatarBlurhash: $avatarBlurhash, avatarDecorations: $avatarDecorations, isBot: $isBot, isCat: $isCat, instance: $instance, emojis: $emojis, onlineStatus: $onlineStatus, url: $url, uri: $uri, createdAt: $createdAt, updatedAt: $updatedAt, lastFetchedAt: $lastFetchedAt, bannerUrl: $bannerUrl, bannerBlurhash: $bannerBlurhash, isLocked: $isLocked, isSilenced: $isSilenced, isSuspended: $isSuspended, description: $description, location: $location, birthday: $birthday, lang: $lang, fields: $fields, followersCount: $followersCount, followingCount: $followingCount, notesCount: $notesCount, pinnedNoteIds: $pinnedNoteIds, pinnedNotes: $pinnedNotes, pinnedPageId: $pinnedPageId, pinnedPage: $pinnedPage, publicReactions: $publicReactions, ffVisibility: $ffVisibility, twoFactorEnabled: $twoFactorEnabled, usePasswordLessLogin: $usePasswordLessLogin, securityKeys: $securityKeys, roles: $roles, memo: $memo, avatarId: $avatarId, bannerId: $bannerId, isModerator: $isModerator, isAdmin: $isAdmin, injectFeaturedNote: $injectFeaturedNote, receiveAnnouncementEmail: $receiveAnnouncementEmail, alwaysMarkNsfw: $alwaysMarkNsfw, autoSensitive: $autoSensitive, carefulBot: $carefulBot, autoAcceptFollowed: $autoAcceptFollowed, noCrawle: $noCrawle, preventAiLearning: $preventAiLearning, isExplorable: $isExplorable, isDeleted: $isDeleted, hideOnlineStatus: $hideOnlineStatus, hasUnreadSpecifiedNotes: $hasUnreadSpecifiedNotes, hasUnreadMentions: $hasUnreadMentions, hasUnreadAnnouncement: $hasUnreadAnnouncement, hasUnreadAntenna: $hasUnreadAntenna, hasUnreadNotification: $hasUnreadNotification, hasPendingReceivedFollowRequest: $hasPendingReceivedFollowRequest, mutedWords: $mutedWords, mutedInstances: $mutedInstances, mutingNotificationTypes: $mutingNotificationTypes, emailNotificationTypes: $emailNotificationTypes, achievements: $achievements, loggedInDays: $loggedInDays, policies: $policies, isFollowing: $isFollowing, isFollowed: $isFollowed, hasPendingFollowRequestFromYou: $hasPendingFollowRequestFromYou, hasPendingFollowRequestToYou: $hasPendingFollowRequestToYou, isBlocking: $isBlocking, isBlocked: $isBlocked, isMuted: $isMuted, isRenoteMuted: $isRenoteMuted)';
-  }
-
-  @override
-  bool operator ==(dynamic other) {
-    return identical(this, other) ||
-        (other.runtimeType == runtimeType &&
-            other is _$_UsersShowResponse &&
-            (identical(other.id, id) || other.id == id) &&
-            (identical(other.name, name) || other.name == name) &&
-            (identical(other.username, username) ||
-                other.username == username) &&
-            (identical(other.host, host) || other.host == host) &&
-            (identical(other.avatarUrl, avatarUrl) ||
-                other.avatarUrl == avatarUrl) &&
-            (identical(other.avatarBlurhash, avatarBlurhash) ||
-                other.avatarBlurhash == avatarBlurhash) &&
-            const DeepCollectionEquality()
-                .equals(other._avatarDecorations, _avatarDecorations) &&
-            (identical(other.isBot, isBot) || other.isBot == isBot) &&
-            (identical(other.isCat, isCat) || other.isCat == isCat) &&
-            (identical(other.instance, instance) ||
-                other.instance == instance) &&
-            const DeepCollectionEquality().equals(other._emojis, _emojis) &&
-            (identical(other.onlineStatus, onlineStatus) ||
-                other.onlineStatus == onlineStatus) &&
-            (identical(other.url, url) || other.url == url) &&
-            (identical(other.uri, uri) || other.uri == uri) &&
-            (identical(other.createdAt, createdAt) ||
-                other.createdAt == createdAt) &&
-            (identical(other.updatedAt, updatedAt) ||
-                other.updatedAt == updatedAt) &&
-            (identical(other.lastFetchedAt, lastFetchedAt) ||
-                other.lastFetchedAt == lastFetchedAt) &&
-            (identical(other.bannerUrl, bannerUrl) ||
-                other.bannerUrl == bannerUrl) &&
-            (identical(other.bannerBlurhash, bannerBlurhash) ||
-                other.bannerBlurhash == bannerBlurhash) &&
-            (identical(other.isLocked, isLocked) ||
-                other.isLocked == isLocked) &&
-            (identical(other.isSilenced, isSilenced) ||
-                other.isSilenced == isSilenced) &&
-            (identical(other.isSuspended, isSuspended) ||
-                other.isSuspended == isSuspended) &&
-            (identical(other.description, description) ||
-                other.description == description) &&
-            (identical(other.location, location) ||
-                other.location == location) &&
-            (identical(other.birthday, birthday) ||
-                other.birthday == birthday) &&
-            (identical(other.lang, lang) || other.lang == lang) &&
-            const DeepCollectionEquality().equals(other._fields, _fields) &&
-            (identical(other.followersCount, followersCount) ||
-                other.followersCount == followersCount) &&
-            (identical(other.followingCount, followingCount) ||
-                other.followingCount == followingCount) &&
-            (identical(other.notesCount, notesCount) ||
-                other.notesCount == notesCount) &&
-            const DeepCollectionEquality()
-                .equals(other._pinnedNoteIds, _pinnedNoteIds) &&
-            const DeepCollectionEquality()
-                .equals(other._pinnedNotes, _pinnedNotes) &&
-            (identical(other.pinnedPageId, pinnedPageId) ||
-                other.pinnedPageId == pinnedPageId) &&
-            const DeepCollectionEquality()
-                .equals(other._pinnedPage, _pinnedPage) &&
-            (identical(other.publicReactions, publicReactions) ||
-                other.publicReactions == publicReactions) &&
-            (identical(other.ffVisibility, ffVisibility) ||
-                other.ffVisibility == ffVisibility) &&
-            (identical(other.twoFactorEnabled, twoFactorEnabled) ||
-                other.twoFactorEnabled == twoFactorEnabled) &&
-            (identical(other.usePasswordLessLogin, usePasswordLessLogin) ||
-                other.usePasswordLessLogin == usePasswordLessLogin) &&
-            (identical(other.securityKeys, securityKeys) ||
-                other.securityKeys == securityKeys) &&
-            const DeepCollectionEquality().equals(other._roles, _roles) &&
-            (identical(other.memo, memo) || other.memo == memo) &&
-            (identical(other.avatarId, avatarId) ||
-                other.avatarId == avatarId) &&
-            (identical(other.bannerId, bannerId) ||
-                other.bannerId == bannerId) &&
-            (identical(other.isModerator, isModerator) ||
-                other.isModerator == isModerator) &&
-            (identical(other.isAdmin, isAdmin) || other.isAdmin == isAdmin) &&
-            (identical(other.injectFeaturedNote, injectFeaturedNote) ||
-                other.injectFeaturedNote == injectFeaturedNote) &&
-            (identical(other.receiveAnnouncementEmail, receiveAnnouncementEmail) ||
-                other.receiveAnnouncementEmail == receiveAnnouncementEmail) &&
-            (identical(other.alwaysMarkNsfw, alwaysMarkNsfw) ||
-                other.alwaysMarkNsfw == alwaysMarkNsfw) &&
-            (identical(other.autoSensitive, autoSensitive) ||
-                other.autoSensitive == autoSensitive) &&
-            (identical(other.carefulBot, carefulBot) ||
-                other.carefulBot == carefulBot) &&
-            (identical(other.autoAcceptFollowed, autoAcceptFollowed) ||
-                other.autoAcceptFollowed == autoAcceptFollowed) &&
-            (identical(other.noCrawle, noCrawle) ||
-                other.noCrawle == noCrawle) &&
-            (identical(other.preventAiLearning, preventAiLearning) ||
-                other.preventAiLearning == preventAiLearning) &&
-            (identical(other.isExplorable, isExplorable) ||
-                other.isExplorable == isExplorable) &&
-            (identical(other.isDeleted, isDeleted) ||
-                other.isDeleted == isDeleted) &&
-            (identical(other.hideOnlineStatus, hideOnlineStatus) || other.hideOnlineStatus == hideOnlineStatus) &&
-            (identical(other.hasUnreadSpecifiedNotes, hasUnreadSpecifiedNotes) || other.hasUnreadSpecifiedNotes == hasUnreadSpecifiedNotes) &&
-            (identical(other.hasUnreadMentions, hasUnreadMentions) || other.hasUnreadMentions == hasUnreadMentions) &&
-            (identical(other.hasUnreadAnnouncement, hasUnreadAnnouncement) || other.hasUnreadAnnouncement == hasUnreadAnnouncement) &&
-            (identical(other.hasUnreadAntenna, hasUnreadAntenna) || other.hasUnreadAntenna == hasUnreadAntenna) &&
-            (identical(other.hasUnreadNotification, hasUnreadNotification) || other.hasUnreadNotification == hasUnreadNotification) &&
-            (identical(other.hasPendingReceivedFollowRequest, hasPendingReceivedFollowRequest) || other.hasPendingReceivedFollowRequest == hasPendingReceivedFollowRequest) &&
-            const DeepCollectionEquality().equals(other._mutedWords, _mutedWords) &&
-            const DeepCollectionEquality().equals(other._mutedInstances, _mutedInstances) &&
-            const DeepCollectionEquality().equals(other._mutingNotificationTypes, _mutingNotificationTypes) &&
-            const DeepCollectionEquality().equals(other._emailNotificationTypes, _emailNotificationTypes) &&
-            const DeepCollectionEquality().equals(other._achievements, _achievements) &&
-            (identical(other.loggedInDays, loggedInDays) || other.loggedInDays == loggedInDays) &&
-            (identical(other.policies, policies) || other.policies == policies) &&
-            (identical(other.isFollowing, isFollowing) || other.isFollowing == isFollowing) &&
-            (identical(other.isFollowed, isFollowed) || other.isFollowed == isFollowed) &&
-            (identical(other.hasPendingFollowRequestFromYou, hasPendingFollowRequestFromYou) || other.hasPendingFollowRequestFromYou == hasPendingFollowRequestFromYou) &&
-            (identical(other.hasPendingFollowRequestToYou, hasPendingFollowRequestToYou) || other.hasPendingFollowRequestToYou == hasPendingFollowRequestToYou) &&
-            (identical(other.isBlocking, isBlocking) || other.isBlocking == isBlocking) &&
-            (identical(other.isBlocked, isBlocked) || other.isBlocked == isBlocked) &&
-            (identical(other.isMuted, isMuted) || other.isMuted == isMuted) &&
-            (identical(other.isRenoteMuted, isRenoteMuted) || other.isRenoteMuted == isRenoteMuted));
-  }
-
-  @JsonKey(ignore: true)
-  @override
-  int get hashCode => Object.hashAll([
-        runtimeType,
-        id,
-        name,
-        username,
-        host,
-        avatarUrl,
-        avatarBlurhash,
-        const DeepCollectionEquality().hash(_avatarDecorations),
-        isBot,
-        isCat,
-        instance,
-        const DeepCollectionEquality().hash(_emojis),
-        onlineStatus,
-        url,
-        uri,
-        createdAt,
-        updatedAt,
-        lastFetchedAt,
-        bannerUrl,
-        bannerBlurhash,
-        isLocked,
-        isSilenced,
-        isSuspended,
-        description,
-        location,
-        birthday,
-        lang,
-        const DeepCollectionEquality().hash(_fields),
-        followersCount,
-        followingCount,
-        notesCount,
-        const DeepCollectionEquality().hash(_pinnedNoteIds),
-        const DeepCollectionEquality().hash(_pinnedNotes),
-        pinnedPageId,
-        const DeepCollectionEquality().hash(_pinnedPage),
-        publicReactions,
-        ffVisibility,
-        twoFactorEnabled,
-        usePasswordLessLogin,
-        securityKeys,
-        const DeepCollectionEquality().hash(_roles),
-        memo,
-        avatarId,
-        bannerId,
-        isModerator,
-        isAdmin,
-        injectFeaturedNote,
-        receiveAnnouncementEmail,
-        alwaysMarkNsfw,
-        autoSensitive,
-        carefulBot,
-        autoAcceptFollowed,
-        noCrawle,
-        preventAiLearning,
-        isExplorable,
-        isDeleted,
-        hideOnlineStatus,
-        hasUnreadSpecifiedNotes,
-        hasUnreadMentions,
-        hasUnreadAnnouncement,
-        hasUnreadAntenna,
-        hasUnreadNotification,
-        hasPendingReceivedFollowRequest,
-        const DeepCollectionEquality().hash(_mutedWords),
-        const DeepCollectionEquality().hash(_mutedInstances),
-        const DeepCollectionEquality().hash(_mutingNotificationTypes),
-        const DeepCollectionEquality().hash(_emailNotificationTypes),
-        const DeepCollectionEquality().hash(_achievements),
-        loggedInDays,
-        policies,
-        isFollowing,
-        isFollowed,
-        hasPendingFollowRequestFromYou,
-        hasPendingFollowRequestToYou,
-        isBlocking,
-        isBlocked,
-        isMuted,
-        isRenoteMuted
-      ]);
-
-  @JsonKey(ignore: true)
-  @override
-  @pragma('vm:prefer-inline')
-  _$$_UsersShowResponseCopyWith<_$_UsersShowResponse> get copyWith =>
-      __$$_UsersShowResponseCopyWithImpl<_$_UsersShowResponse>(
-          this, _$identity);
-
-  @override
-  Map<String, dynamic> toJson() {
-    return _$$_UsersShowResponseToJson(
-      this,
-    );
-  }
-}
-
-abstract class _UsersShowResponse extends UsersShowResponse {
-  const factory _UsersShowResponse(
-      {required final String id,
-      final String? name,
-      required final String username,
-      final String? host,
-      @UriConverter() required final Uri avatarUrl,
-      final String? avatarBlurhash,
-      final List<UserAvatarDecoration> avatarDecorations,
-      required final bool isBot,
-      required final bool isCat,
-      final UserInstanceInfo? instance,
-      @EmojisConverter() final Map<String, String>? emojis,
-      @OnlineStatusJsonConverter() final OnlineStatus? onlineStatus,
-      @NullableUriConverter() final Uri? url,
-      @NullableUriConverter() final Uri? uri,
-      @DateTimeConverter() required final DateTime createdAt,
-      @NullableDateTimeConverter() final DateTime? updatedAt,
-      @NullableDateTimeConverter() final DateTime? lastFetchedAt,
-      @NullableUriConverter() final Uri? bannerUrl,
-      final String? bannerBlurhash,
-      required final bool isLocked,
-      required final bool isSilenced,
-      required final bool isSuspended,
-      final String? description,
-      final String? location,
-      @NullableDateTimeConverter() final DateTime? birthday,
-      final String? lang,
-      final List<UserField>? fields,
-      required final int followersCount,
-      required final int followingCount,
-      required final int notesCount,
-      final List<String>? pinnedNoteIds,
-      final List<Note>? pinnedNotes,
-      final String? pinnedPageId,
-      final Map<String, dynamic>? pinnedPage,
-      required final bool publicReactions,
-      required final String ffVisibility,
-      required final bool twoFactorEnabled,
-      required final bool usePasswordLessLogin,
-      required final bool securityKeys,
-      final List<UserRole>? roles,
-      final String? memo,
-      final String? avatarId,
-      final String? bannerId,
-      final bool? isModerator,
-      final bool? isAdmin,
-      final bool? injectFeaturedNote,
-      final bool? receiveAnnouncementEmail,
-      final bool? alwaysMarkNsfw,
-      final bool? autoSensitive,
-      final bool? carefulBot,
-      final bool? autoAcceptFollowed,
-      final bool? noCrawle,
-      final bool? preventAiLearning,
-      final bool? isExplorable,
-      final bool? isDeleted,
-      final bool? hideOnlineStatus,
-      final bool? hasUnreadSpecifiedNotes,
-      final bool? hasUnreadMentions,
-      final bool? hasUnreadAnnouncement,
-      final bool? hasUnreadAntenna,
-      final bool? hasUnreadNotification,
-      final bool? hasPendingReceivedFollowRequest,
-      @MuteWordsConverter() final List<MuteWord>? mutedWords,
-      final List<String>? mutedInstances,
-      final List<String>? mutingNotificationTypes,
-      final List<String>? emailNotificationTypes,
-      final List<UserAchievement>? achievements,
-      final int? loggedInDays,
-      final UserPolicies? policies,
-      final bool? isFollowing,
-      final bool? isFollowed,
-      final bool? hasPendingFollowRequestFromYou,
-      final bool? hasPendingFollowRequestToYou,
-      final bool? isBlocking,
-      final bool? isBlocked,
-      final bool? isMuted,
-      final bool? isRenoteMuted}) = _$_UsersShowResponse;
-  const _UsersShowResponse._() : super._();
-
-  factory _UsersShowResponse.fromJson(Map<String, dynamic> json) =
-      _$_UsersShowResponse.fromJson;
-
-  @override
-  String get id;
-  @override
-  String? get name;
-  @override
-  String get username;
-  @override
-  String? get host;
-  @override
-  @UriConverter()
-  Uri get avatarUrl;
-  @override
-  String? get avatarBlurhash;
-  @override
-  List<UserAvatarDecoration> get avatarDecorations;
-  @override
-  bool get isBot;
-  @override
-  bool get isCat;
-  @override
-  UserInstanceInfo? get instance;
-  @override
-  @EmojisConverter()
-  Map<String, String>? get emojis;
-  @override
-  @OnlineStatusJsonConverter()
-  OnlineStatus? get onlineStatus;
-  @override
-  @NullableUriConverter()
-  Uri? get url;
-  @override
-  @NullableUriConverter()
-  Uri? get uri;
-  @override //dynamic movedToUri,
-//dynamic alsoKnownAs,
-  @DateTimeConverter()
-  DateTime get createdAt;
-  @override
-  @NullableDateTimeConverter()
-  DateTime? get updatedAt;
-  @override
-  @NullableDateTimeConverter()
-  DateTime? get lastFetchedAt;
-  @override
-  @NullableUriConverter()
-  Uri? get bannerUrl;
-  @override
-  String? get bannerBlurhash;
-  @override
-  bool get isLocked;
-  @override
-  bool get isSilenced;
-  @override
-  bool get isSuspended;
-  @override
-  String? get description;
-  @override
-  String? get location;
-  @override
-  @NullableDateTimeConverter()
-  DateTime? get birthday;
-  @override
-  String? get lang;
-  @override
-  List<UserField>? get fields;
-  @override
-  int get followersCount;
-  @override
-  int get followingCount;
-  @override
-  int get notesCount;
-  @override
-  List<String>? get pinnedNoteIds;
-  @override
-  List<Note>? get pinnedNotes;
-  @override
-  String? get pinnedPageId;
-  @override
-  Map<String, dynamic>? get pinnedPage;
-  @override
-  bool get publicReactions;
-  @override
-  String get ffVisibility;
-  @override
-  bool get twoFactorEnabled;
-  @override
-  bool get usePasswordLessLogin;
-  @override
-  bool get securityKeys;
-  @override
-  List<UserRole>? get roles;
-  @override
-  String? get memo;
-  @override // 以下ログイン時のみ
-  String? get avatarId;
-  @override
-  String? get bannerId;
-  @override
-  bool? get isModerator;
-  @override
-  bool? get isAdmin;
-  @override
-  bool? get injectFeaturedNote;
-  @override
-  bool? get receiveAnnouncementEmail;
-  @override
-  bool? get alwaysMarkNsfw;
-  @override
-  bool? get autoSensitive;
-  @override
-  bool? get carefulBot;
-  @override
-  bool? get autoAcceptFollowed;
-  @override
-  bool? get noCrawle;
-  @override
-  bool? get preventAiLearning;
-  @override
-  bool? get isExplorable;
-  @override
-  bool? get isDeleted;
-  @override
-  bool? get hideOnlineStatus;
-  @override
-  bool? get hasUnreadSpecifiedNotes;
-  @override
-  bool? get hasUnreadMentions;
-  @override
-  bool? get hasUnreadAnnouncement;
-  @override
-  bool? get hasUnreadAntenna;
-  @override
-  bool? get hasUnreadNotification;
-  @override
-  bool? get hasPendingReceivedFollowRequest;
-  @override
-  @MuteWordsConverter()
-  List<MuteWord>? get mutedWords;
-  @override
-  List<String>? get mutedInstances;
-  @override
-  List<String>? get mutingNotificationTypes;
-  @override
-  List<String>? get emailNotificationTypes;
-  @override
-  List<UserAchievement>? get achievements;
-  @override
-  int? get loggedInDays;
-  @override
-  UserPolicies? get policies;
-  @override
-  bool? get isFollowing;
-  @override
-  bool? get isFollowed;
-  @override
-  bool? get hasPendingFollowRequestFromYou;
-  @override
-  bool? get hasPendingFollowRequestToYou;
-  @override
-  bool? get isBlocking;
-  @override
-  bool? get isBlocked;
-  @override
-  bool? get isMuted;
-  @override
-  bool? get isRenoteMuted;
-  @override
-  @JsonKey(ignore: true)
-  _$$_UsersShowResponseCopyWith<_$_UsersShowResponse> get copyWith =>
-      throw _privateConstructorUsedError;
-}
diff --git a/lib/src/data/users/users_show_response.g.dart b/lib/src/data/users/users_show_response.g.dart
deleted file mode 100644
index 11c434fb..00000000
--- a/lib/src/data/users/users_show_response.g.dart
+++ /dev/null
@@ -1,225 +0,0 @@
-// GENERATED CODE - DO NOT MODIFY BY HAND
-
-part of 'users_show_response.dart';
-
-// **************************************************************************
-// JsonSerializableGenerator
-// **************************************************************************
-
-_$_UsersShowResponse _$$_UsersShowResponseFromJson(Map<String, dynamic> json) =>
-    _$_UsersShowResponse(
-      id: json['id'] as String,
-      name: json['name'] as String?,
-      username: json['username'] as String,
-      host: json['host'] as String?,
-      avatarUrl: const UriConverter().fromJson(json['avatarUrl'] as String),
-      avatarBlurhash: json['avatarBlurhash'] as String?,
-      avatarDecorations: (json['avatarDecorations'] as List<dynamic>?)
-              ?.map((e) =>
-                  UserAvatarDecoration.fromJson(e as Map<String, dynamic>))
-              .toList() ??
-          const [],
-      isBot: json['isBot'] as bool,
-      isCat: json['isCat'] as bool,
-      instance: json['instance'] == null
-          ? null
-          : UserInstanceInfo.fromJson(json['instance'] as Map<String, dynamic>),
-      emojis: const EmojisConverter().fromJson(json['emojis']),
-      onlineStatus: const OnlineStatusJsonConverter()
-          .fromJson(json['onlineStatus'] as String?),
-      url: _$JsonConverterFromJson<String, Uri?>(
-          json['url'], const NullableUriConverter().fromJson),
-      uri: _$JsonConverterFromJson<String, Uri?>(
-          json['uri'], const NullableUriConverter().fromJson),
-      createdAt:
-          const DateTimeConverter().fromJson(json['createdAt'] as String),
-      updatedAt: _$JsonConverterFromJson<String, DateTime?>(
-          json['updatedAt'], const NullableDateTimeConverter().fromJson),
-      lastFetchedAt: _$JsonConverterFromJson<String, DateTime?>(
-          json['lastFetchedAt'], const NullableDateTimeConverter().fromJson),
-      bannerUrl: _$JsonConverterFromJson<String, Uri?>(
-          json['bannerUrl'], const NullableUriConverter().fromJson),
-      bannerBlurhash: json['bannerBlurhash'] as String?,
-      isLocked: json['isLocked'] as bool,
-      isSilenced: json['isSilenced'] as bool,
-      isSuspended: json['isSuspended'] as bool,
-      description: json['description'] as String?,
-      location: json['location'] as String?,
-      birthday: _$JsonConverterFromJson<String, DateTime?>(
-          json['birthday'], const NullableDateTimeConverter().fromJson),
-      lang: json['lang'] as String?,
-      fields: (json['fields'] as List<dynamic>?)
-          ?.map((e) => UserField.fromJson(e as Map<String, dynamic>))
-          .toList(),
-      followersCount: json['followersCount'] as int,
-      followingCount: json['followingCount'] as int,
-      notesCount: json['notesCount'] as int,
-      pinnedNoteIds: (json['pinnedNoteIds'] as List<dynamic>?)
-          ?.map((e) => e as String)
-          .toList(),
-      pinnedNotes: (json['pinnedNotes'] as List<dynamic>?)
-          ?.map((e) => Note.fromJson(e as Map<String, dynamic>))
-          .toList(),
-      pinnedPageId: json['pinnedPageId'] as String?,
-      pinnedPage: json['pinnedPage'] as Map<String, dynamic>?,
-      publicReactions: json['publicReactions'] as bool,
-      ffVisibility: json['ffVisibility'] as String,
-      twoFactorEnabled: json['twoFactorEnabled'] as bool,
-      usePasswordLessLogin: json['usePasswordLessLogin'] as bool,
-      securityKeys: json['securityKeys'] as bool,
-      roles: (json['roles'] as List<dynamic>?)
-          ?.map((e) => UserRole.fromJson(e as Map<String, dynamic>))
-          .toList(),
-      memo: json['memo'] as String?,
-      avatarId: json['avatarId'] as String?,
-      bannerId: json['bannerId'] as String?,
-      isModerator: json['isModerator'] as bool?,
-      isAdmin: json['isAdmin'] as bool?,
-      injectFeaturedNote: json['injectFeaturedNote'] as bool?,
-      receiveAnnouncementEmail: json['receiveAnnouncementEmail'] as bool?,
-      alwaysMarkNsfw: json['alwaysMarkNsfw'] as bool?,
-      autoSensitive: json['autoSensitive'] as bool?,
-      carefulBot: json['carefulBot'] as bool?,
-      autoAcceptFollowed: json['autoAcceptFollowed'] as bool?,
-      noCrawle: json['noCrawle'] as bool?,
-      preventAiLearning: json['preventAiLearning'] as bool?,
-      isExplorable: json['isExplorable'] as bool?,
-      isDeleted: json['isDeleted'] as bool?,
-      hideOnlineStatus: json['hideOnlineStatus'] as bool?,
-      hasUnreadSpecifiedNotes: json['hasUnreadSpecifiedNotes'] as bool?,
-      hasUnreadMentions: json['hasUnreadMentions'] as bool?,
-      hasUnreadAnnouncement: json['hasUnreadAnnouncement'] as bool?,
-      hasUnreadAntenna: json['hasUnreadAntenna'] as bool?,
-      hasUnreadNotification: json['hasUnreadNotification'] as bool?,
-      hasPendingReceivedFollowRequest:
-          json['hasPendingReceivedFollowRequest'] as bool?,
-      mutedWords: (json['mutedWords'] as List<dynamic>?)
-          ?.map(const MuteWordsConverter().fromJson)
-          .toList(),
-      mutedInstances: (json['mutedInstances'] as List<dynamic>?)
-          ?.map((e) => e as String)
-          .toList(),
-      mutingNotificationTypes:
-          (json['mutingNotificationTypes'] as List<dynamic>?)
-              ?.map((e) => e as String)
-              .toList(),
-      emailNotificationTypes: (json['emailNotificationTypes'] as List<dynamic>?)
-          ?.map((e) => e as String)
-          .toList(),
-      achievements: (json['achievements'] as List<dynamic>?)
-          ?.map((e) => UserAchievement.fromJson(e as Map<String, dynamic>))
-          .toList(),
-      loggedInDays: json['loggedInDays'] as int?,
-      policies: json['policies'] == null
-          ? null
-          : UserPolicies.fromJson(json['policies'] as Map<String, dynamic>),
-      isFollowing: json['isFollowing'] as bool?,
-      isFollowed: json['isFollowed'] as bool?,
-      hasPendingFollowRequestFromYou:
-          json['hasPendingFollowRequestFromYou'] as bool?,
-      hasPendingFollowRequestToYou:
-          json['hasPendingFollowRequestToYou'] as bool?,
-      isBlocking: json['isBlocking'] as bool?,
-      isBlocked: json['isBlocked'] as bool?,
-      isMuted: json['isMuted'] as bool?,
-      isRenoteMuted: json['isRenoteMuted'] as bool?,
-    );
-
-Map<String, dynamic> _$$_UsersShowResponseToJson(
-        _$_UsersShowResponse instance) =>
-    <String, dynamic>{
-      'id': instance.id,
-      'name': instance.name,
-      'username': instance.username,
-      'host': instance.host,
-      'avatarUrl': const UriConverter().toJson(instance.avatarUrl),
-      'avatarBlurhash': instance.avatarBlurhash,
-      'avatarDecorations': instance.avatarDecorations,
-      'isBot': instance.isBot,
-      'isCat': instance.isCat,
-      'instance': instance.instance,
-      'emojis': _$JsonConverterToJson<dynamic, Map<String, String>>(
-          instance.emojis, const EmojisConverter().toJson),
-      'onlineStatus':
-          const OnlineStatusJsonConverter().toJson(instance.onlineStatus),
-      'url': const NullableUriConverter().toJson(instance.url),
-      'uri': const NullableUriConverter().toJson(instance.uri),
-      'createdAt': const DateTimeConverter().toJson(instance.createdAt),
-      'updatedAt': const NullableDateTimeConverter().toJson(instance.updatedAt),
-      'lastFetchedAt':
-          const NullableDateTimeConverter().toJson(instance.lastFetchedAt),
-      'bannerUrl': const NullableUriConverter().toJson(instance.bannerUrl),
-      'bannerBlurhash': instance.bannerBlurhash,
-      'isLocked': instance.isLocked,
-      'isSilenced': instance.isSilenced,
-      'isSuspended': instance.isSuspended,
-      'description': instance.description,
-      'location': instance.location,
-      'birthday': const NullableDateTimeConverter().toJson(instance.birthday),
-      'lang': instance.lang,
-      'fields': instance.fields,
-      'followersCount': instance.followersCount,
-      'followingCount': instance.followingCount,
-      'notesCount': instance.notesCount,
-      'pinnedNoteIds': instance.pinnedNoteIds,
-      'pinnedNotes': instance.pinnedNotes,
-      'pinnedPageId': instance.pinnedPageId,
-      'pinnedPage': instance.pinnedPage,
-      'publicReactions': instance.publicReactions,
-      'ffVisibility': instance.ffVisibility,
-      'twoFactorEnabled': instance.twoFactorEnabled,
-      'usePasswordLessLogin': instance.usePasswordLessLogin,
-      'securityKeys': instance.securityKeys,
-      'roles': instance.roles,
-      'memo': instance.memo,
-      'avatarId': instance.avatarId,
-      'bannerId': instance.bannerId,
-      'isModerator': instance.isModerator,
-      'isAdmin': instance.isAdmin,
-      'injectFeaturedNote': instance.injectFeaturedNote,
-      'receiveAnnouncementEmail': instance.receiveAnnouncementEmail,
-      'alwaysMarkNsfw': instance.alwaysMarkNsfw,
-      'autoSensitive': instance.autoSensitive,
-      'carefulBot': instance.carefulBot,
-      'autoAcceptFollowed': instance.autoAcceptFollowed,
-      'noCrawle': instance.noCrawle,
-      'preventAiLearning': instance.preventAiLearning,
-      'isExplorable': instance.isExplorable,
-      'isDeleted': instance.isDeleted,
-      'hideOnlineStatus': instance.hideOnlineStatus,
-      'hasUnreadSpecifiedNotes': instance.hasUnreadSpecifiedNotes,
-      'hasUnreadMentions': instance.hasUnreadMentions,
-      'hasUnreadAnnouncement': instance.hasUnreadAnnouncement,
-      'hasUnreadAntenna': instance.hasUnreadAntenna,
-      'hasUnreadNotification': instance.hasUnreadNotification,
-      'hasPendingReceivedFollowRequest':
-          instance.hasPendingReceivedFollowRequest,
-      'mutedWords':
-          instance.mutedWords?.map(const MuteWordsConverter().toJson).toList(),
-      'mutedInstances': instance.mutedInstances,
-      'mutingNotificationTypes': instance.mutingNotificationTypes,
-      'emailNotificationTypes': instance.emailNotificationTypes,
-      'achievements': instance.achievements,
-      'loggedInDays': instance.loggedInDays,
-      'policies': instance.policies,
-      'isFollowing': instance.isFollowing,
-      'isFollowed': instance.isFollowed,
-      'hasPendingFollowRequestFromYou': instance.hasPendingFollowRequestFromYou,
-      'hasPendingFollowRequestToYou': instance.hasPendingFollowRequestToYou,
-      'isBlocking': instance.isBlocking,
-      'isBlocked': instance.isBlocked,
-      'isMuted': instance.isMuted,
-      'isRenoteMuted': instance.isRenoteMuted,
-    };
-
-Value? _$JsonConverterFromJson<Json, Value>(
-  Object? json,
-  Value? Function(Json json) fromJson,
-) =>
-    json == null ? null : fromJson(json as Json);
-
-Json? _$JsonConverterToJson<Json, Value>(
-  Value? value,
-  Json? Function(Value value) toJson,
-) =>
-    value == null ? null : toJson(value);
diff --git a/lib/src/misskey_dart_base.dart b/lib/src/misskey_dart_base.dart
index 2525d1ee..227ae363 100644
--- a/lib/src/misskey_dart_base.dart
+++ b/lib/src/misskey_dart_base.dart
@@ -147,9 +147,9 @@ class Misskey {
   }
 
   /// ピン留めされたユーザーを取得します。
-  Future<Iterable<User>> pinnedUsers() async {
+  Future<Iterable<UserDetailed>> pinnedUsers() async {
     final response = await apiService.post<List>("pinned-users", {});
-    return response.map((e) => User.fromJson(e));
+    return response.map((e) => UserDetailed.fromJson(e));
   }
 
   /// ホームタイムラインに接続します。
@@ -320,6 +320,7 @@ class Misskey {
     FutureOr<void> Function(String id, TimelineReacted reaction)? onUnreacted,
     FutureOr<void> Function(String id, DateTime deletedAt)? onDeleted,
     FutureOr<void> Function(String id, TimelineVoted vote)? onVoted,
+    FutureOr<void> Function(String id, NoteEdited note)? onUpdated,
   }) =>
       streamingService.connect(
         channel: Channel.roleTimeline,
@@ -343,6 +344,9 @@ class Misskey {
             case NoteUpdatedEventType.pollVoted:
               await onVoted?.call(id, TimelineVoted.fromJson(response));
               return;
+            case NoteUpdatedEventType.updated:
+              await onUpdated?.call(id, NoteEdited.fromJson(response));
+              return;
           }
         },
         parameters: {"roleId": roleId},
@@ -393,8 +397,8 @@ class Misskey {
   SocketController userListStream({
     required String listId,
     FutureOr<void> Function(Note note)? onNoteReceived,
-    FutureOr<void> Function(User user)? onUserAdded,
-    FutureOr<void> Function(User user)? onUserRemoved,
+    FutureOr<void> Function(UserLite user)? onUserAdded,
+    FutureOr<void> Function(UserLite user)? onUserRemoved,
     FutureOr<void> Function(String id, TimelineReacted reaction)? onReacted,
     FutureOr<void> Function(String id, TimelineReacted reaction)? onUnreacted,
     FutureOr<void> Function(String id, NoteEdited note)? onUpdated,
@@ -408,13 +412,13 @@ class Misskey {
           if (response == null) return;
 
           if (type == ChannelEventType.userAdded) {
-            final user = User.fromJson(response);
+            final user = UserLite.fromJson(response);
             await onUserAdded?.call(user);
             return;
           }
 
           if (type == ChannelEventType.userRemoved) {
-            final user = User.fromJson(response);
+            final user = UserLite.fromJson(response);
             await onUserRemoved?.call(user);
             return;
           }
@@ -541,10 +545,10 @@ class Misskey {
     FutureOr<void> Function(Note note)? onMention,
     FutureOr<void> Function(Note note)? onReply,
     FutureOr<void> Function(Note note)? onRenote,
-    FutureOr<void> Function(User user)? onFollow,
-    FutureOr<void> Function(User user)? onFollowed,
-    FutureOr<void> Function(User user)? onUnfollow,
-    FutureOr<void> Function(User user)? onMeUpdated,
+    FutureOr<void> Function(UserDetailedNotMe user)? onFollow,
+    FutureOr<void> Function(UserLite user)? onFollowed,
+    FutureOr<void> Function(UserDetailedNotMe user)? onUnfollow,
+    FutureOr<void> Function(MeDetailed me)? onMeUpdated,
     FutureOr<void> Function()? onReadAllNotifications,
     FutureOr<void> Function(INotificationsResponse notification)?
         onUnreadNotification,
@@ -552,7 +556,7 @@ class Misskey {
     FutureOr<void> Function()? onReadAllUnreadMentions,
     FutureOr<void> Function(String noteId)? onUnreadSpecifiedNote,
     FutureOr<void> Function()? onReadAllUnreadSpecifiedNotes,
-    FutureOr<void> Function(User user)? onReceiveFollowRequest,
+    FutureOr<void> Function(UserLite user)? onReceiveFollowRequest,
     FutureOr<void> Function()? onReadAllAnnouncements,
   }) =>
       streamingService.connect(
@@ -574,13 +578,16 @@ class Misskey {
               await onRenote?.call(Note.fromJson(response));
               break;
             case ChannelEventType.follow:
-              await onFollow?.call(User.fromJson(response));
+              await onFollow?.call(UserDetailedNotMe.fromJson(response));
               break;
             case ChannelEventType.followed:
-              await onFollowed?.call(User.fromJson(response));
+              await onFollowed?.call(UserLite.fromJson(response));
+              break;
+            case ChannelEventType.unfollow:
+              await onUnfollow?.call(UserDetailedNotMe.fromJson(response));
               break;
             case ChannelEventType.meUpdated:
-              await onMeUpdated?.call(User.fromJson(response));
+              await onMeUpdated?.call(MeDetailed.fromJson(response));
               break;
             case ChannelEventType.readAllNotifications:
               await onReadAllNotifications?.call();
@@ -602,7 +609,7 @@ class Misskey {
               await onReadAllUnreadSpecifiedNotes?.call();
               break;
             case ChannelEventType.receiveFollowRequest:
-              await onReceiveFollowRequest?.call(User.fromJson(response));
+              await onReceiveFollowRequest?.call(UserLite.fromJson(response));
               break;
             case ChannelEventType.readAllAnnouncements:
               await onReadAllAnnouncements?.call();
diff --git a/lib/src/misskey_federation.dart b/lib/src/misskey_federation.dart
index 629d279e..7e53165d 100644
--- a/lib/src/misskey_federation.dart
+++ b/lib/src/misskey_federation.dart
@@ -16,9 +16,9 @@ class MisskeyFederation {
   }
 
   /// 自身のサーバーが保持する外部サーバーにいるユーザーの一覧を取得します。
-  Future<Iterable<User>> users(FederationUsersRequest request) async {
+  Future<Iterable<UserDetailed>> users(FederationUsersRequest request) async {
     final response =
         await _apiService.post<List>("federation/users", request.toJson());
-    return response.map((e) => User.fromJson(e));
+    return response.map((e) => UserDetailed.fromJson(e));
   }
 }
diff --git a/lib/src/misskey_following.dart b/lib/src/misskey_following.dart
index a51cbec9..35f405e2 100644
--- a/lib/src/misskey_following.dart
+++ b/lib/src/misskey_following.dart
@@ -12,26 +12,26 @@ class MisskeyFollowing {
         requests = MisskeyFollowingRequests(apiService: apiService);
 
   /// ユーザーをフォローします。
-  Future<User> create(FollowingCreateRequest request) async {
+  Future<UserLite> create(FollowingCreateRequest request) async {
     final response = await _apiService.post<Map<String, dynamic>>(
         "following/create", request.toJson());
-    return User.fromJson(response);
+    return UserLite.fromJson(response);
   }
 
   /// ユーザーに対するフォローを解除します。
-  Future<User> delete(FollowingDeleteRequest request) async {
+  Future<UserLite> delete(FollowingDeleteRequest request) async {
     final response = await _apiService.post<Map<String, dynamic>>(
         "following/delete", request.toJson());
-    return User.fromJson(response);
+    return UserLite.fromJson(response);
   }
 
   /// ユーザーからのフォローを解除します。
-  Future<User> invalidate(FollowingInvalidateRequest request) async {
+  Future<UserLite> invalidate(FollowingInvalidateRequest request) async {
     final response = await _apiService.post<Map<String, dynamic>>(
       "following/invalidate",
       request.toJson(),
     );
-    return User.fromJson(response);
+    return UserLite.fromJson(response);
   }
 
   /// フォロー中のすべての人の状態を変更します。
diff --git a/lib/src/misskey_hashtags.dart b/lib/src/misskey_hashtags.dart
index bf775195..02cc8776 100644
--- a/lib/src/misskey_hashtags.dart
+++ b/lib/src/misskey_hashtags.dart
@@ -32,9 +32,9 @@ class MisskeyHashtags {
     return response.map((e) => HashtagsTrendResponse.fromJson(e));
   }
 
-  Future<Iterable<User>> users(HashtagsUsersRequest request) async {
+  Future<Iterable<UserDetailed>> users(HashtagsUsersRequest request) async {
     final response =
         await _apiService.post<List>("hashtags/users", request.toJson());
-    return response.map((e) => User.fromJson(e));
+    return response.map((e) => UserDetailed.fromJson(e));
   }
 }
diff --git a/lib/src/misskey_i.dart b/lib/src/misskey_i.dart
index 753d050f..5eabf49d 100644
--- a/lib/src/misskey_i.dart
+++ b/lib/src/misskey_i.dart
@@ -1,5 +1,4 @@
 import 'package:misskey_dart/misskey_dart.dart';
-import 'package:misskey_dart/src/data/i/i_read_announcement_request.dart';
 import 'package:misskey_dart/src/services/api_service.dart';
 
 class MisskeyI {
@@ -8,9 +7,9 @@ class MisskeyI {
   MisskeyI({required ApiService apiService}) : _apiService = apiService;
 
   /// 自分自身の情報を取得します。
-  Future<IResponse> i() async {
+  Future<MeDetailed> i() async {
     final response = await _apiService.post<Map<String, dynamic>>("i", {});
-    return IResponse.fromJson(response);
+    return MeDetailed.fromJson(response);
   }
 
   /// 通知を取得します。
@@ -35,11 +34,11 @@ class MisskeyI {
   }
 
   /// 自身の情報を更新します。
-  Future<IResponse> update(IUpdateRequest request) async {
+  Future<MeDetailed> update(IUpdateRequest request) async {
     final response = await _apiService.post<Map<String, dynamic>>(
       "i/update",
       request.toJson(),
     );
-    return IResponse.fromJson(response);
+    return MeDetailed.fromJson(response);
   }
 }
diff --git a/lib/src/misskey_users.dart b/lib/src/misskey_users.dart
index 607b477f..5a6bad33 100644
--- a/lib/src/misskey_users.dart
+++ b/lib/src/misskey_users.dart
@@ -12,27 +12,26 @@ class MisskeyUsers {
         list = MisskeyUsersLists(apiService: apiService);
 
   /// ユーザー情報をIDから取得します。
-  Future<UsersShowResponse> show(UsersShowRequest request) async {
+  Future<UserDetailed> show(UsersShowRequest request) async {
     final response = await _apiService.post<Map<String, dynamic>>(
         "users/show", request.toJson());
-    return UsersShowResponse.fromJson(response);
+    return UserDetailed.fromJson(response);
   }
 
   /// ユーザー情報を複数のIDから取得します。
-  Future<Iterable<UsersShowResponse>> showByIds(
+  Future<Iterable<UserDetailed>> showByIds(
       UsersShowByIdsRequest request) async {
     final response =
         await _apiService.post<List>("users/show", request.toJson());
-    return response.map((e) => UsersShowResponse.fromJson(e));
+    return response.map((e) => UserDetailed.fromJson(e));
   }
 
   /// ユーザー情報をスクリーンネームから取得します。
   /// 自分自身のホストのユーザーを取得する場合、hostはnullである必要があります。
-  Future<UsersShowResponse> showByName(
-      UsersShowByUserNameRequest request) async {
+  Future<UserDetailed> showByName(UsersShowByUserNameRequest request) async {
     final response = await _apiService.post<Map<String, dynamic>>(
         "users/show", request.toJson());
-    return UsersShowResponse.fromJson(response);
+    return UserDetailed.fromJson(response);
   }
 
   /// ユーザーが投稿したノートを取得します。
@@ -77,6 +76,9 @@ class MisskeyUsers {
   }
 
   /// ユーザーを検索します。
+  ///
+  /// [UsersSearchRequest.detail] が false のとき 返り値の各要素は [UserLite]
+  /// そうでなければ [UserDetailed]
   Future<Iterable<User>> search(UsersSearchRequest request) async {
     final response =
         await _apiService.post<List>("users/search", request.toJson());
@@ -91,9 +93,9 @@ class MisskeyUsers {
     return response.map((e) => User.fromJson(e));
   }
 
-  Future<Iterable<User>> users(UsersUsersRequest request) async {
+  Future<Iterable<UserDetailed>> users(UsersUsersRequest request) async {
     final response = await _apiService.post<List>("users", request.toJson());
-    return response.map((e) => User.fromJson(e));
+    return response.map((e) => UserDetailed.fromJson(e));
   }
 
   /// A personal memo for the target user. If null or empty, delete the memo.
diff --git a/pubspec.yaml b/pubspec.yaml
index c90e05b0..4d0eb6a9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -20,4 +20,4 @@ dependencies:
   freezed_annotation: ^2.2.0
   json_annotation: ^4.8.0
   path: ^1.8.2
-  web_socket_channel: ^2.3.0
\ No newline at end of file
+  web_socket_channel: ^2.3.0
diff --git a/test/misskey_ap_test.dart b/test/misskey_ap_test.dart
index 4dcb72e8..2ce4aea0 100644
--- a/test/misskey_ap_test.dart
+++ b/test/misskey_ap_test.dart
@@ -28,7 +28,7 @@ void main() async {
         ),
       );
       expect(response.type, equals("User"));
-      User.fromJson(response.object);
+      MeDetailed.fromJson(response.object);
     });
   });
 }
diff --git a/test/misskey_blocking_test.dart b/test/misskey_blocking_test.dart
index 65088aee..15629ca8 100644
--- a/test/misskey_blocking_test.dart
+++ b/test/misskey_blocking_test.dart
@@ -9,7 +9,7 @@ void main() async {
     await userClient.blocking.create(BlockCreateRequest(userId: newUser.id));
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
-    expect(userDetailed.isBlocking, isTrue);
+    expect((userDetailed as UserDetailedNotMeWithRelations).isBlocking, isTrue);
   });
 
   test("delete", () async {
@@ -19,7 +19,7 @@ void main() async {
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
     expect(
-      userDetailed.isBlocking,
+      (userDetailed as UserDetailedNotMeWithRelations).isBlocking,
       isFalse,
     );
   });
diff --git a/test/misskey_dart_base_test.dart b/test/misskey_dart_base_test.dart
index 862c8a58..fd422408 100644
--- a/test/misskey_dart_base_test.dart
+++ b/test/misskey_dart_base_test.dart
@@ -165,7 +165,7 @@ void main() async {
         });
 
         test("userAdded", () async {
-          final completer = Completer<User>();
+          final completer = Completer<UserLite>();
           final client = userClient;
           final list = await client.users.list
               .create(UsersListsCreateRequest(name: "test"));
@@ -185,7 +185,7 @@ void main() async {
         });
 
         test("userRemoved", () async {
-          final completer = Completer<User>();
+          final completer = Completer<UserLite>();
           final client = userClient;
           final list = await client.users.list
               .create(UsersListsCreateRequest(name: "test"));
@@ -323,7 +323,7 @@ void main() async {
         });
 
         test("follow", () async {
-          final completer = Completer<User>();
+          final completer = Completer<UserDetailedNotMe>();
           final client = userClient;
           final newUser = (await adminClient.createUser()).user;
           final controller = client.mainStream(onFollow: completer.complete);
@@ -335,7 +335,7 @@ void main() async {
         });
 
         test("followed", () async {
-          final completer = Completer<User>();
+          final completer = Completer<UserLite>();
           final client = userClient;
           final newClient = (await adminClient.createUser()).client;
           final controller = client.mainStream(onFollowed: completer.complete);
@@ -346,8 +346,22 @@ void main() async {
           controller.disconnect();
         });
 
+        test("unfollow", () async {
+          final completer = Completer<UserDetailedNotMe>();
+          final client = userClient;
+          final newUser = (await adminClient.createUser()).user;
+          final controller = client.mainStream(onUnfollow: completer.complete);
+          await client.following
+              .create(FollowingCreateRequest(userId: newUser.id));
+          await client.startStreaming();
+          await client.following
+              .delete(FollowingDeleteRequest(userId: newUser.id));
+          await completer.future;
+          controller.disconnect();
+        });
+
         test("meUpdated", () async {
-          final completer = Completer<User>();
+          final completer = Completer<MeDetailed>();
           final client = userClient;
           final controller = client.mainStream(onMeUpdated: completer.complete);
           await client.startStreaming();
@@ -432,7 +446,7 @@ void main() async {
         });
 
         test("receiveFollowRequest", () async {
-          final completer = Completer<User>();
+          final completer = Completer<UserLite>();
           final newClient = (await adminClient.createUser()).client;
           final newUser =
               await newClient.i.update(IUpdateRequest(isLocked: true));
diff --git a/test/misskey_following_test.dart b/test/misskey_following_test.dart
index 6062864b..8655e06b 100644
--- a/test/misskey_following_test.dart
+++ b/test/misskey_following_test.dart
@@ -13,7 +13,7 @@ void main() async {
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
     expect(
-      userDetailed.isFollowing,
+      (userDetailed as UserDetailedNotMeWithRelations).isFollowing,
       isTrue,
     );
   });
@@ -27,7 +27,7 @@ void main() async {
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
     expect(
-      userDetailed.isFollowing,
+      (userDetailed as UserDetailedNotMeWithRelations).isFollowing,
       isFalse,
     );
   });
@@ -43,7 +43,7 @@ void main() async {
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
     expect(
-      userDetailed.isFollowed,
+      (userDetailed as UserDetailedNotMeWithRelations).isFollowed,
       isFalse,
     );
   });
@@ -66,7 +66,7 @@ void main() async {
       final userDetailed =
           await newClient.users.show(UsersShowRequest(userId: user.id));
       expect(
-        userDetailed.isFollowed,
+        (userDetailed as UserDetailedNotMeWithRelations).isFollowed,
         isTrue,
       );
     });
diff --git a/test/misskey_mute_test.dart b/test/misskey_mute_test.dart
index c6f4b637..1f3b7ae0 100644
--- a/test/misskey_mute_test.dart
+++ b/test/misskey_mute_test.dart
@@ -9,7 +9,7 @@ void main() async {
     await userClient.mute.create(MuteCreateRequest(userId: newUser.id));
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
-    expect(userDetailed.isMuted, isTrue);
+    expect((userDetailed as UserDetailedNotMeWithRelations).isMuted, isTrue);
   });
 
   test("delete", () async {
@@ -18,6 +18,6 @@ void main() async {
     await userClient.mute.delete(MuteDeleteRequest(userId: newUser.id));
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
-    expect(userDetailed.isMuted, isFalse);
+    expect((userDetailed as UserDetailedNotMeWithRelations).isMuted, isFalse);
   });
 }
diff --git a/test/misskey_renote_mute_test.dart b/test/misskey_renote_mute_test.dart
index c025d990..da02a16e 100644
--- a/test/misskey_renote_mute_test.dart
+++ b/test/misskey_renote_mute_test.dart
@@ -11,7 +11,7 @@ void main() async {
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
     expect(
-      userDetailed.isRenoteMuted,
+      (userDetailed as UserDetailedNotMeWithRelations).isRenoteMuted,
       isTrue,
     );
   });
@@ -25,7 +25,7 @@ void main() async {
     final userDetailed =
         await userClient.users.show(UsersShowRequest(userId: newUser.id));
     expect(
-      userDetailed.isRenoteMuted,
+      (userDetailed as UserDetailedNotMeWithRelations).isRenoteMuted,
       isFalse,
     );
   });
diff --git a/test/misskey_users_test.dart b/test/misskey_users_test.dart
index 966176ee..56372798 100644
--- a/test/misskey_users_test.dart
+++ b/test/misskey_users_test.dart
@@ -12,16 +12,20 @@ void main() async {
       final response =
           await userClient.users.show(UsersShowRequest(userId: user.id));
       expect(response.username, equals(user.username));
+      expect(response, isA<MeDetailed>());
     });
 
     test("not me", () async {
       final response =
           await userClient.users.show(UsersShowRequest(userId: admin.id));
       expect(response.username, equals(admin.username));
+      expect(response, isA<UserDetailedNotMeWithRelations>());
     });
 
     test("anonymous", () async {
-      await anonymousClient.users.show(UsersShowRequest(userId: user.id));
+      final response =
+          await anonymousClient.users.show(UsersShowRequest(userId: user.id));
+      expect(response, isA<UserDetailedNotMe>());
     });
   });
 
@@ -100,12 +104,14 @@ void main() async {
       final response = await userClient.users
           .search(UsersSearchRequest(query: user.username));
       expect(response.map((e) => e.id), contains(user.id));
+      expect(response, everyElement(isA<UserDetailed>()));
     });
 
     test("lite", () async {
       final response = await userClient.users
           .search(UsersSearchRequest(query: user.username, detail: false));
       expect(response.map((e) => e.id), contains(user.id));
+      expect(response, everyElement(isA<UserLite>()));
     });
   });