// 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 'groups.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#adding-getters-and-methods-to-our-models',
);

Groups _$GroupsFromJson(Map<String, dynamic> json) {
  return _Groups.fromJson(json);
}

/// @nodoc
mixin _$Groups {
  Normal? get normal => throw _privateConstructorUsedError;
  Normal? get streaming => throw _privateConstructorUsedError;

  /// Serializes this Groups to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of Groups
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $GroupsCopyWith<Groups> get copyWith => throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $GroupsCopyWith<$Res> {
  factory $GroupsCopyWith(Groups value, $Res Function(Groups) then) =
      _$GroupsCopyWithImpl<$Res, Groups>;
  @useResult
  $Res call({Normal? normal, Normal? streaming});

  $NormalCopyWith<$Res>? get normal;
  $NormalCopyWith<$Res>? get streaming;
}

/// @nodoc
class _$GroupsCopyWithImpl<$Res, $Val extends Groups>
    implements $GroupsCopyWith<$Res> {
  _$GroupsCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of Groups
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({Object? normal = freezed, Object? streaming = freezed}) {
    return _then(
      _value.copyWith(
            normal: freezed == normal
                ? _value.normal
                : normal // ignore: cast_nullable_to_non_nullable
                      as Normal?,
            streaming: freezed == streaming
                ? _value.streaming
                : streaming // ignore: cast_nullable_to_non_nullable
                      as Normal?,
          )
          as $Val,
    );
  }

  /// Create a copy of Groups
  /// with the given fields replaced by the non-null parameter values.
  @override
  @pragma('vm:prefer-inline')
  $NormalCopyWith<$Res>? get normal {
    if (_value.normal == null) {
      return null;
    }

    return $NormalCopyWith<$Res>(_value.normal!, (value) {
      return _then(_value.copyWith(normal: value) as $Val);
    });
  }

  /// Create a copy of Groups
  /// with the given fields replaced by the non-null parameter values.
  @override
  @pragma('vm:prefer-inline')
  $NormalCopyWith<$Res>? get streaming {
    if (_value.streaming == null) {
      return null;
    }

    return $NormalCopyWith<$Res>(_value.streaming!, (value) {
      return _then(_value.copyWith(streaming: value) as $Val);
    });
  }
}

/// @nodoc
abstract class _$$GroupsImplCopyWith<$Res> implements $GroupsCopyWith<$Res> {
  factory _$$GroupsImplCopyWith(
    _$GroupsImpl value,
    $Res Function(_$GroupsImpl) then,
  ) = __$$GroupsImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({Normal? normal, Normal? streaming});

  @override
  $NormalCopyWith<$Res>? get normal;
  @override
  $NormalCopyWith<$Res>? get streaming;
}

/// @nodoc
class __$$GroupsImplCopyWithImpl<$Res>
    extends _$GroupsCopyWithImpl<$Res, _$GroupsImpl>
    implements _$$GroupsImplCopyWith<$Res> {
  __$$GroupsImplCopyWithImpl(
    _$GroupsImpl _value,
    $Res Function(_$GroupsImpl) _then,
  ) : super(_value, _then);

  /// Create a copy of Groups
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({Object? normal = freezed, Object? streaming = freezed}) {
    return _then(
      _$GroupsImpl(
        normal: freezed == normal
            ? _value.normal
            : normal // ignore: cast_nullable_to_non_nullable
                  as Normal?,
        streaming: freezed == streaming
            ? _value.streaming
            : streaming // ignore: cast_nullable_to_non_nullable
                  as Normal?,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$GroupsImpl with DiagnosticableTreeMixin implements _Groups {
  const _$GroupsImpl({this.normal, this.streaming});

  factory _$GroupsImpl.fromJson(Map<String, dynamic> json) =>
      _$$GroupsImplFromJson(json);

  @override
  final Normal? normal;
  @override
  final Normal? streaming;

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'Groups(normal: $normal, streaming: $streaming)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'Groups'))
      ..add(DiagnosticsProperty('normal', normal))
      ..add(DiagnosticsProperty('streaming', streaming));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$GroupsImpl &&
            (identical(other.normal, normal) || other.normal == normal) &&
            (identical(other.streaming, streaming) ||
                other.streaming == streaming));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(runtimeType, normal, streaming);

  /// Create a copy of Groups
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$GroupsImplCopyWith<_$GroupsImpl> get copyWith =>
      __$$GroupsImplCopyWithImpl<_$GroupsImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$GroupsImplToJson(this);
  }
}

abstract class _Groups implements Groups {
  const factory _Groups({final Normal? normal, final Normal? streaming}) =
      _$GroupsImpl;

  factory _Groups.fromJson(Map<String, dynamic> json) = _$GroupsImpl.fromJson;

  @override
  Normal? get normal;
  @override
  Normal? get streaming;

  /// Create a copy of Groups
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$GroupsImplCopyWith<_$GroupsImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

Normal _$NormalFromJson(Map<String, dynamic> json) {
  return _Normal.fromJson(json);
}

/// @nodoc
mixin _$Normal {
  List<Tags>? get tags => throw _privateConstructorUsedError;
  List<LocationList>? get list => throw _privateConstructorUsedError;

  /// Serializes this Normal to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of Normal
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $NormalCopyWith<Normal> get copyWith => throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $NormalCopyWith<$Res> {
  factory $NormalCopyWith(Normal value, $Res Function(Normal) then) =
      _$NormalCopyWithImpl<$Res, Normal>;
  @useResult
  $Res call({List<Tags>? tags, List<LocationList>? list});
}

/// @nodoc
class _$NormalCopyWithImpl<$Res, $Val extends Normal>
    implements $NormalCopyWith<$Res> {
  _$NormalCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of Normal
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({Object? tags = freezed, Object? list = freezed}) {
    return _then(
      _value.copyWith(
            tags: freezed == tags
                ? _value.tags
                : tags // ignore: cast_nullable_to_non_nullable
                      as List<Tags>?,
            list: freezed == list
                ? _value.list
                : list // ignore: cast_nullable_to_non_nullable
                      as List<LocationList>?,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$NormalImplCopyWith<$Res> implements $NormalCopyWith<$Res> {
  factory _$$NormalImplCopyWith(
    _$NormalImpl value,
    $Res Function(_$NormalImpl) then,
  ) = __$$NormalImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({List<Tags>? tags, List<LocationList>? list});
}

/// @nodoc
class __$$NormalImplCopyWithImpl<$Res>
    extends _$NormalCopyWithImpl<$Res, _$NormalImpl>
    implements _$$NormalImplCopyWith<$Res> {
  __$$NormalImplCopyWithImpl(
    _$NormalImpl _value,
    $Res Function(_$NormalImpl) _then,
  ) : super(_value, _then);

  /// Create a copy of Normal
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({Object? tags = freezed, Object? list = freezed}) {
    return _then(
      _$NormalImpl(
        tags: freezed == tags
            ? _value._tags
            : tags // ignore: cast_nullable_to_non_nullable
                  as List<Tags>?,
        list: freezed == list
            ? _value._list
            : list // ignore: cast_nullable_to_non_nullable
                  as List<LocationList>?,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$NormalImpl with DiagnosticableTreeMixin implements _Normal {
  const _$NormalImpl({final List<Tags>? tags, final List<LocationList>? list})
    : _tags = tags,
      _list = list;

  factory _$NormalImpl.fromJson(Map<String, dynamic> json) =>
      _$$NormalImplFromJson(json);

  final List<Tags>? _tags;
  @override
  List<Tags>? get tags {
    final value = _tags;
    if (value == null) return null;
    if (_tags is EqualUnmodifiableListView) return _tags;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(value);
  }

  final List<LocationList>? _list;
  @override
  List<LocationList>? get list {
    final value = _list;
    if (value == null) return null;
    if (_list is EqualUnmodifiableListView) return _list;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(value);
  }

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'Normal(tags: $tags, list: $list)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'Normal'))
      ..add(DiagnosticsProperty('tags', tags))
      ..add(DiagnosticsProperty('list', list));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$NormalImpl &&
            const DeepCollectionEquality().equals(other._tags, _tags) &&
            const DeepCollectionEquality().equals(other._list, _list));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
    runtimeType,
    const DeepCollectionEquality().hash(_tags),
    const DeepCollectionEquality().hash(_list),
  );

  /// Create a copy of Normal
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$NormalImplCopyWith<_$NormalImpl> get copyWith =>
      __$$NormalImplCopyWithImpl<_$NormalImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$NormalImplToJson(this);
  }
}

abstract class _Normal implements Normal {
  const factory _Normal({
    final List<Tags>? tags,
    final List<LocationList>? list,
  }) = _$NormalImpl;

  factory _Normal.fromJson(Map<String, dynamic> json) = _$NormalImpl.fromJson;

  @override
  List<Tags>? get tags;
  @override
  List<LocationList>? get list;

  /// Create a copy of Normal
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$NormalImplCopyWith<_$NormalImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

Tags _$TagsFromJson(Map<String, dynamic> json) {
  return _Tags.fromJson(json);
}

/// @nodoc
mixin _$Tags {
  int? get id => throw _privateConstructorUsedError;
  String? get name => throw _privateConstructorUsedError;
  String? get icon => throw _privateConstructorUsedError;
  int? get sort => throw _privateConstructorUsedError;

  /// Serializes this Tags to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of Tags
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $TagsCopyWith<Tags> get copyWith => throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $TagsCopyWith<$Res> {
  factory $TagsCopyWith(Tags value, $Res Function(Tags) then) =
      _$TagsCopyWithImpl<$Res, Tags>;
  @useResult
  $Res call({int? id, String? name, String? icon, int? sort});
}

/// @nodoc
class _$TagsCopyWithImpl<$Res, $Val extends Tags>
    implements $TagsCopyWith<$Res> {
  _$TagsCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of Tags
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = freezed,
    Object? icon = freezed,
    Object? sort = freezed,
  }) {
    return _then(
      _value.copyWith(
            id: freezed == id
                ? _value.id
                : id // ignore: cast_nullable_to_non_nullable
                      as int?,
            name: freezed == name
                ? _value.name
                : name // ignore: cast_nullable_to_non_nullable
                      as String?,
            icon: freezed == icon
                ? _value.icon
                : icon // ignore: cast_nullable_to_non_nullable
                      as String?,
            sort: freezed == sort
                ? _value.sort
                : sort // ignore: cast_nullable_to_non_nullable
                      as int?,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$TagsImplCopyWith<$Res> implements $TagsCopyWith<$Res> {
  factory _$$TagsImplCopyWith(
    _$TagsImpl value,
    $Res Function(_$TagsImpl) then,
  ) = __$$TagsImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({int? id, String? name, String? icon, int? sort});
}

/// @nodoc
class __$$TagsImplCopyWithImpl<$Res>
    extends _$TagsCopyWithImpl<$Res, _$TagsImpl>
    implements _$$TagsImplCopyWith<$Res> {
  __$$TagsImplCopyWithImpl(_$TagsImpl _value, $Res Function(_$TagsImpl) _then)
    : super(_value, _then);

  /// Create a copy of Tags
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = freezed,
    Object? icon = freezed,
    Object? sort = freezed,
  }) {
    return _then(
      _$TagsImpl(
        id: freezed == id
            ? _value.id
            : id // ignore: cast_nullable_to_non_nullable
                  as int?,
        name: freezed == name
            ? _value.name
            : name // ignore: cast_nullable_to_non_nullable
                  as String?,
        icon: freezed == icon
            ? _value.icon
            : icon // ignore: cast_nullable_to_non_nullable
                  as String?,
        sort: freezed == sort
            ? _value.sort
            : sort // ignore: cast_nullable_to_non_nullable
                  as int?,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$TagsImpl with DiagnosticableTreeMixin implements _Tags {
  const _$TagsImpl({this.id, this.name, this.icon, this.sort});

  factory _$TagsImpl.fromJson(Map<String, dynamic> json) =>
      _$$TagsImplFromJson(json);

  @override
  final int? id;
  @override
  final String? name;
  @override
  final String? icon;
  @override
  final int? sort;

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'Tags(id: $id, name: $name, icon: $icon, sort: $sort)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'Tags'))
      ..add(DiagnosticsProperty('id', id))
      ..add(DiagnosticsProperty('name', name))
      ..add(DiagnosticsProperty('icon', icon))
      ..add(DiagnosticsProperty('sort', sort));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$TagsImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.icon, icon) || other.icon == icon) &&
            (identical(other.sort, sort) || other.sort == sort));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(runtimeType, id, name, icon, sort);

  /// Create a copy of Tags
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$TagsImplCopyWith<_$TagsImpl> get copyWith =>
      __$$TagsImplCopyWithImpl<_$TagsImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$TagsImplToJson(this);
  }
}

abstract class _Tags implements Tags {
  const factory _Tags({
    final int? id,
    final String? name,
    final String? icon,
    final int? sort,
  }) = _$TagsImpl;

  factory _Tags.fromJson(Map<String, dynamic> json) = _$TagsImpl.fromJson;

  @override
  int? get id;
  @override
  String? get name;
  @override
  String? get icon;
  @override
  int? get sort;

  /// Create a copy of Tags
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$TagsImplCopyWith<_$TagsImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

LocationList _$LocationListFromJson(Map<String, dynamic> json) {
  return _LocationList.fromJson(json);
}

/// @nodoc
mixin _$LocationList {
  int? get id => throw _privateConstructorUsedError;
  String? get name => throw _privateConstructorUsedError;
  String? get icon => throw _privateConstructorUsedError;
  int? get tag => throw _privateConstructorUsedError;
  List<Locations>? get locations => throw _privateConstructorUsedError;

  /// Serializes this LocationList to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of LocationList
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $LocationListCopyWith<LocationList> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $LocationListCopyWith<$Res> {
  factory $LocationListCopyWith(
    LocationList value,
    $Res Function(LocationList) then,
  ) = _$LocationListCopyWithImpl<$Res, LocationList>;
  @useResult
  $Res call({
    int? id,
    String? name,
    String? icon,
    int? tag,
    List<Locations>? locations,
  });
}

/// @nodoc
class _$LocationListCopyWithImpl<$Res, $Val extends LocationList>
    implements $LocationListCopyWith<$Res> {
  _$LocationListCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of LocationList
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = freezed,
    Object? icon = freezed,
    Object? tag = freezed,
    Object? locations = freezed,
  }) {
    return _then(
      _value.copyWith(
            id: freezed == id
                ? _value.id
                : id // ignore: cast_nullable_to_non_nullable
                      as int?,
            name: freezed == name
                ? _value.name
                : name // ignore: cast_nullable_to_non_nullable
                      as String?,
            icon: freezed == icon
                ? _value.icon
                : icon // ignore: cast_nullable_to_non_nullable
                      as String?,
            tag: freezed == tag
                ? _value.tag
                : tag // ignore: cast_nullable_to_non_nullable
                      as int?,
            locations: freezed == locations
                ? _value.locations
                : locations // ignore: cast_nullable_to_non_nullable
                      as List<Locations>?,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$LocationListImplCopyWith<$Res>
    implements $LocationListCopyWith<$Res> {
  factory _$$LocationListImplCopyWith(
    _$LocationListImpl value,
    $Res Function(_$LocationListImpl) then,
  ) = __$$LocationListImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({
    int? id,
    String? name,
    String? icon,
    int? tag,
    List<Locations>? locations,
  });
}

/// @nodoc
class __$$LocationListImplCopyWithImpl<$Res>
    extends _$LocationListCopyWithImpl<$Res, _$LocationListImpl>
    implements _$$LocationListImplCopyWith<$Res> {
  __$$LocationListImplCopyWithImpl(
    _$LocationListImpl _value,
    $Res Function(_$LocationListImpl) _then,
  ) : super(_value, _then);

  /// Create a copy of LocationList
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = freezed,
    Object? icon = freezed,
    Object? tag = freezed,
    Object? locations = freezed,
  }) {
    return _then(
      _$LocationListImpl(
        id: freezed == id
            ? _value.id
            : id // ignore: cast_nullable_to_non_nullable
                  as int?,
        name: freezed == name
            ? _value.name
            : name // ignore: cast_nullable_to_non_nullable
                  as String?,
        icon: freezed == icon
            ? _value.icon
            : icon // ignore: cast_nullable_to_non_nullable
                  as String?,
        tag: freezed == tag
            ? _value.tag
            : tag // ignore: cast_nullable_to_non_nullable
                  as int?,
        locations: freezed == locations
            ? _value._locations
            : locations // ignore: cast_nullable_to_non_nullable
                  as List<Locations>?,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$LocationListImpl with DiagnosticableTreeMixin implements _LocationList {
  const _$LocationListImpl({
    this.id,
    this.name,
    this.icon,
    this.tag,
    final List<Locations>? locations,
  }) : _locations = locations;

  factory _$LocationListImpl.fromJson(Map<String, dynamic> json) =>
      _$$LocationListImplFromJson(json);

  @override
  final int? id;
  @override
  final String? name;
  @override
  final String? icon;
  @override
  final int? tag;
  final List<Locations>? _locations;
  @override
  List<Locations>? get locations {
    final value = _locations;
    if (value == null) return null;
    if (_locations is EqualUnmodifiableListView) return _locations;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(value);
  }

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'LocationList(id: $id, name: $name, icon: $icon, tag: $tag, locations: $locations)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'LocationList'))
      ..add(DiagnosticsProperty('id', id))
      ..add(DiagnosticsProperty('name', name))
      ..add(DiagnosticsProperty('icon', icon))
      ..add(DiagnosticsProperty('tag', tag))
      ..add(DiagnosticsProperty('locations', locations));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LocationListImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.icon, icon) || other.icon == icon) &&
            (identical(other.tag, tag) || other.tag == tag) &&
            const DeepCollectionEquality().equals(
              other._locations,
              _locations,
            ));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
    runtimeType,
    id,
    name,
    icon,
    tag,
    const DeepCollectionEquality().hash(_locations),
  );

  /// Create a copy of LocationList
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$LocationListImplCopyWith<_$LocationListImpl> get copyWith =>
      __$$LocationListImplCopyWithImpl<_$LocationListImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$LocationListImplToJson(this);
  }
}

abstract class _LocationList implements LocationList {
  const factory _LocationList({
    final int? id,
    final String? name,
    final String? icon,
    final int? tag,
    final List<Locations>? locations,
  }) = _$LocationListImpl;

  factory _LocationList.fromJson(Map<String, dynamic> json) =
      _$LocationListImpl.fromJson;

  @override
  int? get id;
  @override
  String? get name;
  @override
  String? get icon;
  @override
  int? get tag;
  @override
  List<Locations>? get locations;

  /// Create a copy of LocationList
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$LocationListImplCopyWith<_$LocationListImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

Locations _$LocationsFromJson(Map<String, dynamic> json) {
  return _Locations.fromJson(json);
}

/// @nodoc
mixin _$Locations {
  int? get id => throw _privateConstructorUsedError;
  String? get name => throw _privateConstructorUsedError;
  String? get code => throw _privateConstructorUsedError;
  String? get icon => throw _privateConstructorUsedError;
  String? get country => throw _privateConstructorUsedError;
  int? get sort => throw _privateConstructorUsedError;

  /// Serializes this Locations to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of Locations
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $LocationsCopyWith<Locations> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $LocationsCopyWith<$Res> {
  factory $LocationsCopyWith(Locations value, $Res Function(Locations) then) =
      _$LocationsCopyWithImpl<$Res, Locations>;
  @useResult
  $Res call({
    int? id,
    String? name,
    String? code,
    String? icon,
    String? country,
    int? sort,
  });
}

/// @nodoc
class _$LocationsCopyWithImpl<$Res, $Val extends Locations>
    implements $LocationsCopyWith<$Res> {
  _$LocationsCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of Locations
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = freezed,
    Object? code = freezed,
    Object? icon = freezed,
    Object? country = freezed,
    Object? sort = freezed,
  }) {
    return _then(
      _value.copyWith(
            id: freezed == id
                ? _value.id
                : id // ignore: cast_nullable_to_non_nullable
                      as int?,
            name: freezed == name
                ? _value.name
                : name // ignore: cast_nullable_to_non_nullable
                      as String?,
            code: freezed == code
                ? _value.code
                : code // ignore: cast_nullable_to_non_nullable
                      as String?,
            icon: freezed == icon
                ? _value.icon
                : icon // ignore: cast_nullable_to_non_nullable
                      as String?,
            country: freezed == country
                ? _value.country
                : country // ignore: cast_nullable_to_non_nullable
                      as String?,
            sort: freezed == sort
                ? _value.sort
                : sort // ignore: cast_nullable_to_non_nullable
                      as int?,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$LocationsImplCopyWith<$Res>
    implements $LocationsCopyWith<$Res> {
  factory _$$LocationsImplCopyWith(
    _$LocationsImpl value,
    $Res Function(_$LocationsImpl) then,
  ) = __$$LocationsImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({
    int? id,
    String? name,
    String? code,
    String? icon,
    String? country,
    int? sort,
  });
}

/// @nodoc
class __$$LocationsImplCopyWithImpl<$Res>
    extends _$LocationsCopyWithImpl<$Res, _$LocationsImpl>
    implements _$$LocationsImplCopyWith<$Res> {
  __$$LocationsImplCopyWithImpl(
    _$LocationsImpl _value,
    $Res Function(_$LocationsImpl) _then,
  ) : super(_value, _then);

  /// Create a copy of Locations
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = freezed,
    Object? code = freezed,
    Object? icon = freezed,
    Object? country = freezed,
    Object? sort = freezed,
  }) {
    return _then(
      _$LocationsImpl(
        id: freezed == id
            ? _value.id
            : id // ignore: cast_nullable_to_non_nullable
                  as int?,
        name: freezed == name
            ? _value.name
            : name // ignore: cast_nullable_to_non_nullable
                  as String?,
        code: freezed == code
            ? _value.code
            : code // ignore: cast_nullable_to_non_nullable
                  as String?,
        icon: freezed == icon
            ? _value.icon
            : icon // ignore: cast_nullable_to_non_nullable
                  as String?,
        country: freezed == country
            ? _value.country
            : country // ignore: cast_nullable_to_non_nullable
                  as String?,
        sort: freezed == sort
            ? _value.sort
            : sort // ignore: cast_nullable_to_non_nullable
                  as int?,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$LocationsImpl with DiagnosticableTreeMixin implements _Locations {
  const _$LocationsImpl({
    this.id,
    this.name,
    this.code,
    this.icon,
    this.country,
    this.sort,
  });

  factory _$LocationsImpl.fromJson(Map<String, dynamic> json) =>
      _$$LocationsImplFromJson(json);

  @override
  final int? id;
  @override
  final String? name;
  @override
  final String? code;
  @override
  final String? icon;
  @override
  final String? country;
  @override
  final int? sort;

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'Locations(id: $id, name: $name, code: $code, icon: $icon, country: $country, sort: $sort)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'Locations'))
      ..add(DiagnosticsProperty('id', id))
      ..add(DiagnosticsProperty('name', name))
      ..add(DiagnosticsProperty('code', code))
      ..add(DiagnosticsProperty('icon', icon))
      ..add(DiagnosticsProperty('country', country))
      ..add(DiagnosticsProperty('sort', sort));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LocationsImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.code, code) || other.code == code) &&
            (identical(other.icon, icon) || other.icon == icon) &&
            (identical(other.country, country) || other.country == country) &&
            (identical(other.sort, sort) || other.sort == sort));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode =>
      Object.hash(runtimeType, id, name, code, icon, country, sort);

  /// Create a copy of Locations
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$LocationsImplCopyWith<_$LocationsImpl> get copyWith =>
      __$$LocationsImplCopyWithImpl<_$LocationsImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$LocationsImplToJson(this);
  }
}

abstract class _Locations implements Locations {
  const factory _Locations({
    final int? id,
    final String? name,
    final String? code,
    final String? icon,
    final String? country,
    final int? sort,
  }) = _$LocationsImpl;

  factory _Locations.fromJson(Map<String, dynamic> json) =
      _$LocationsImpl.fromJson;

  @override
  int? get id;
  @override
  String? get name;
  @override
  String? get code;
  @override
  String? get icon;
  @override
  String? get country;
  @override
  int? get sort;

  /// Create a copy of Locations
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$LocationsImplCopyWith<_$LocationsImpl> get copyWith =>
      throw _privateConstructorUsedError;
}
