def _issubclass_Mapping_covariant(subclass, superclass, bound_Generic, bound_typevars,
            bound_typevars_readonly, follow_fwd_refs, _recursion_check):
    if is_Generic(subclass):
        if subclass.__origin__ is None or not issubclass(subclass.__origin__, Mapping):
            return _issubclass_Generic(subclass, superclass, bound_Generic, bound_typevars,
                    bound_typevars_readonly, follow_fwd_refs, _recursion_check)
        if superclass.__args__ is None:
            if not pytypes.check_unbound_types:
                raise TypeError("Attempted to check unbound mapping type(superclass): "+
                        str(superclass))
            if pytypes.strict_unknown_check:
                return False
            super_args = (Any, Any)
        else:
            super_args = superclass.__args__
        if subclass.__args__ is None:
            if not pytypes.check_unbound_types:
                raise TypeError("Attempted to check unbound mapping type(subclass): "+
                        str(subclass))
            if pytypes.strict_unknown_check:
                return False
            sub_args = (Any, Any)
        else:
            sub_args = subclass.__args__
        if not _issubclass(sub_args[0], super_args[0],
                bound_Generic, bound_typevars,
                bound_typevars_readonly, follow_fwd_refs, _recursion_check):
            return False
        if not _issubclass(sub_args[1], super_args[1],
                bound_Generic, bound_typevars,
                bound_typevars_readonly, follow_fwd_refs, _recursion_check):
            return False
        return True
    return issubclass(subclass, superclass)