From 653c09001a7fb09324c101fd669c9568d047d82c Mon Sep 17 00:00:00 2001 From: Micha Reiser Date: Sat, 21 Sep 2024 18:31:42 +0200 Subject: [PATCH] Use an empty vendored file system in Ruff (#13436) ## Summary This PR changes removes the typeshed stubs from the vendored file system shipped with ruff and instead ships an empty "typeshed". Making the typeshed files optional required extracting the typshed files into a new `ruff_vendored` crate. I do like this even if all our builds always include typeshed because it means `red_knot_python_semantic` contains less code that needs compiling. This also allows us to use deflate because the compression algorithm doesn't matter for an archive containing a single, empty file. ## Test Plan `cargo test` I verified with ` cargo tree -f "{p} {f}" -p ` that: * red_knot_wasm: enables `deflate` compression * red_knot: enables `zstd` compression * `ruff`: uses stored I'm not quiet sure how to build the binary that maturin builds but comparing the release artifact size with `strip = true` shows a `1.5MB` size reduction --------- Co-authored-by: Charlie Marsh --- .github/workflows/sync_typeshed.yaml | 14 +-- .pre-commit-config.yaml | 2 +- Cargo.lock | 19 ++- Cargo.toml | 5 +- crates/red_knot/Cargo.toml | 3 +- crates/red_knot_python_semantic/Cargo.toml | 9 +- crates/red_knot_python_semantic/src/db.rs | 3 +- crates/red_knot_python_semantic/src/lib.rs | 4 +- .../src/module_resolver/mod.rs | 1 - .../{typeshed/versions.rs => typeshed.rs} | 3 +- .../src/module_resolver/typeshed/mod.rs | 8 -- crates/red_knot_python_semantic/src/types.rs | 9 +- crates/red_knot_wasm/Cargo.toml | 4 +- crates/red_knot_workspace/Cargo.toml | 6 + crates/red_knot_workspace/src/db.rs | 8 +- crates/ruff/Cargo.toml | 2 +- crates/ruff_db/Cargo.toml | 6 +- crates/ruff_db/src/files.rs | 5 +- crates/ruff_db/src/parsed.rs | 5 +- crates/ruff_db/src/vendored.rs | 113 ++++++++---------- crates/ruff_graph/Cargo.toml | 2 + crates/ruff_graph/src/db.rs | 17 ++- crates/ruff_vendored/Cargo.toml | 32 +++++ .../build.rs | 6 +- .../vendored.rs => ruff_vendored/src/lib.rs} | 4 +- .../vendor/typeshed/LICENSE | 0 .../vendor/typeshed/README.md | 0 .../vendor/typeshed/source_commit.txt | 0 .../vendor/typeshed/stdlib/VERSIONS | 0 .../vendor/typeshed/stdlib/__future__.pyi | 0 .../vendor/typeshed/stdlib/__main__.pyi | 0 .../vendor/typeshed/stdlib/_ast.pyi | 0 .../vendor/typeshed/stdlib/_bisect.pyi | 0 .../vendor/typeshed/stdlib/_bootlocale.pyi | 0 .../vendor/typeshed/stdlib/_codecs.pyi | 0 .../typeshed/stdlib/_collections_abc.pyi | 0 .../vendor/typeshed/stdlib/_compat_pickle.pyi | 0 .../vendor/typeshed/stdlib/_compression.pyi | 0 .../vendor/typeshed/stdlib/_csv.pyi | 0 .../vendor/typeshed/stdlib/_ctypes.pyi | 0 .../vendor/typeshed/stdlib/_curses.pyi | 0 .../vendor/typeshed/stdlib/_decimal.pyi | 0 .../vendor/typeshed/stdlib/_dummy_thread.pyi | 0 .../typeshed/stdlib/_dummy_threading.pyi | 0 .../vendor/typeshed/stdlib/_heapq.pyi | 0 .../vendor/typeshed/stdlib/_imp.pyi | 0 .../typeshed/stdlib/_interpchannels.pyi | 0 .../vendor/typeshed/stdlib/_interpqueues.pyi | 0 .../vendor/typeshed/stdlib/_interpreters.pyi | 0 .../vendor/typeshed/stdlib/_json.pyi | 0 .../vendor/typeshed/stdlib/_locale.pyi | 0 .../vendor/typeshed/stdlib/_lsprof.pyi | 0 .../vendor/typeshed/stdlib/_markupbase.pyi | 0 .../vendor/typeshed/stdlib/_msi.pyi | 0 .../vendor/typeshed/stdlib/_operator.pyi | 0 .../vendor/typeshed/stdlib/_osx_support.pyi | 0 .../typeshed/stdlib/_posixsubprocess.pyi | 0 .../vendor/typeshed/stdlib/_py_abc.pyi | 0 .../vendor/typeshed/stdlib/_pydecimal.pyi | 0 .../vendor/typeshed/stdlib/_random.pyi | 0 .../vendor/typeshed/stdlib/_sitebuiltins.pyi | 0 .../vendor/typeshed/stdlib/_socket.pyi | 0 .../vendor/typeshed/stdlib/_stat.pyi | 0 .../vendor/typeshed/stdlib/_thread.pyi | 0 .../typeshed/stdlib/_threading_local.pyi | 0 .../vendor/typeshed/stdlib/_tkinter.pyi | 0 .../vendor/typeshed/stdlib/_tracemalloc.pyi | 0 .../typeshed/stdlib/_typeshed/README.md | 0 .../typeshed/stdlib/_typeshed/__init__.pyi | 0 .../typeshed/stdlib/_typeshed/dbapi.pyi | 2 +- .../typeshed/stdlib/_typeshed/importlib.pyi | 0 .../vendor/typeshed/stdlib/_typeshed/wsgi.pyi | 0 .../vendor/typeshed/stdlib/_typeshed/xml.pyi | 0 .../vendor/typeshed/stdlib/_warnings.pyi | 0 .../vendor/typeshed/stdlib/_weakref.pyi | 0 .../vendor/typeshed/stdlib/_weakrefset.pyi | 0 .../vendor/typeshed/stdlib/_winapi.pyi | 0 .../vendor/typeshed/stdlib/abc.pyi | 0 .../vendor/typeshed/stdlib/aifc.pyi | 0 .../vendor/typeshed/stdlib/antigravity.pyi | 0 .../vendor/typeshed/stdlib/argparse.pyi | 0 .../vendor/typeshed/stdlib/array.pyi | 0 .../vendor/typeshed/stdlib/ast.pyi | 0 .../vendor/typeshed/stdlib/asynchat.pyi | 0 .../typeshed/stdlib/asyncio/__init__.pyi | 0 .../typeshed/stdlib/asyncio/base_events.pyi | 0 .../typeshed/stdlib/asyncio/base_futures.pyi | 0 .../stdlib/asyncio/base_subprocess.pyi | 0 .../typeshed/stdlib/asyncio/base_tasks.pyi | 0 .../typeshed/stdlib/asyncio/constants.pyi | 0 .../typeshed/stdlib/asyncio/coroutines.pyi | 0 .../vendor/typeshed/stdlib/asyncio/events.pyi | 0 .../typeshed/stdlib/asyncio/exceptions.pyi | 0 .../stdlib/asyncio/format_helpers.pyi | 0 .../typeshed/stdlib/asyncio/futures.pyi | 0 .../vendor/typeshed/stdlib/asyncio/locks.pyi | 0 .../vendor/typeshed/stdlib/asyncio/log.pyi | 0 .../vendor/typeshed/stdlib/asyncio/mixins.pyi | 0 .../stdlib/asyncio/proactor_events.pyi | 0 .../typeshed/stdlib/asyncio/protocols.pyi | 0 .../vendor/typeshed/stdlib/asyncio/queues.pyi | 0 .../typeshed/stdlib/asyncio/runners.pyi | 0 .../stdlib/asyncio/selector_events.pyi | 0 .../typeshed/stdlib/asyncio/sslproto.pyi | 0 .../typeshed/stdlib/asyncio/staggered.pyi | 0 .../typeshed/stdlib/asyncio/streams.pyi | 0 .../typeshed/stdlib/asyncio/subprocess.pyi | 0 .../typeshed/stdlib/asyncio/taskgroups.pyi | 0 .../vendor/typeshed/stdlib/asyncio/tasks.pyi | 0 .../typeshed/stdlib/asyncio/threads.pyi | 0 .../typeshed/stdlib/asyncio/timeouts.pyi | 0 .../typeshed/stdlib/asyncio/transports.pyi | 0 .../vendor/typeshed/stdlib/asyncio/trsock.pyi | 0 .../typeshed/stdlib/asyncio/unix_events.pyi | 0 .../stdlib/asyncio/windows_events.pyi | 0 .../typeshed/stdlib/asyncio/windows_utils.pyi | 0 .../vendor/typeshed/stdlib/asyncore.pyi | 0 .../vendor/typeshed/stdlib/atexit.pyi | 0 .../vendor/typeshed/stdlib/audioop.pyi | 0 .../vendor/typeshed/stdlib/base64.pyi | 0 .../vendor/typeshed/stdlib/bdb.pyi | 0 .../vendor/typeshed/stdlib/binascii.pyi | 0 .../vendor/typeshed/stdlib/binhex.pyi | 0 .../vendor/typeshed/stdlib/bisect.pyi | 0 .../vendor/typeshed/stdlib/builtins.pyi | 0 .../vendor/typeshed/stdlib/bz2.pyi | 0 .../vendor/typeshed/stdlib/cProfile.pyi | 0 .../vendor/typeshed/stdlib/calendar.pyi | 0 .../vendor/typeshed/stdlib/cgi.pyi | 0 .../vendor/typeshed/stdlib/cgitb.pyi | 0 .../vendor/typeshed/stdlib/chunk.pyi | 0 .../vendor/typeshed/stdlib/cmath.pyi | 0 .../vendor/typeshed/stdlib/cmd.pyi | 0 .../vendor/typeshed/stdlib/code.pyi | 0 .../vendor/typeshed/stdlib/codecs.pyi | 0 .../vendor/typeshed/stdlib/codeop.pyi | 0 .../typeshed/stdlib/collections/__init__.pyi | 0 .../typeshed/stdlib/collections/abc.pyi | 0 .../vendor/typeshed/stdlib/colorsys.pyi | 0 .../vendor/typeshed/stdlib/compileall.pyi | 0 .../typeshed/stdlib/concurrent/__init__.pyi | 0 .../stdlib/concurrent/futures/__init__.pyi | 0 .../stdlib/concurrent/futures/_base.pyi | 0 .../stdlib/concurrent/futures/process.pyi | 0 .../stdlib/concurrent/futures/thread.pyi | 0 .../vendor/typeshed/stdlib/configparser.pyi | 0 .../vendor/typeshed/stdlib/contextlib.pyi | 0 .../vendor/typeshed/stdlib/contextvars.pyi | 0 .../vendor/typeshed/stdlib/copy.pyi | 0 .../vendor/typeshed/stdlib/copyreg.pyi | 0 .../vendor/typeshed/stdlib/crypt.pyi | 0 .../vendor/typeshed/stdlib/csv.pyi | 0 .../typeshed/stdlib/ctypes/__init__.pyi | 0 .../vendor/typeshed/stdlib/ctypes/_endian.pyi | 0 .../vendor/typeshed/stdlib/ctypes/util.pyi | 0 .../typeshed/stdlib/ctypes/wintypes.pyi | 0 .../typeshed/stdlib/curses/__init__.pyi | 0 .../vendor/typeshed/stdlib/curses/ascii.pyi | 0 .../vendor/typeshed/stdlib/curses/has_key.pyi | 0 .../vendor/typeshed/stdlib/curses/panel.pyi | 0 .../vendor/typeshed/stdlib/curses/textpad.pyi | 0 .../vendor/typeshed/stdlib/dataclasses.pyi | 0 .../vendor/typeshed/stdlib/datetime.pyi | 0 .../vendor/typeshed/stdlib/dbm/__init__.pyi | 0 .../vendor/typeshed/stdlib/dbm/dumb.pyi | 0 .../vendor/typeshed/stdlib/dbm/gnu.pyi | 0 .../vendor/typeshed/stdlib/dbm/ndbm.pyi | 0 .../vendor/typeshed/stdlib/dbm/sqlite3.pyi | 0 .../vendor/typeshed/stdlib/decimal.pyi | 0 .../vendor/typeshed/stdlib/difflib.pyi | 0 .../vendor/typeshed/stdlib/dis.pyi | 0 .../typeshed/stdlib/distutils/__init__.pyi | 0 .../stdlib/distutils/archive_util.pyi | 0 .../stdlib/distutils/bcppcompiler.pyi | 0 .../typeshed/stdlib/distutils/ccompiler.pyi | 0 .../vendor/typeshed/stdlib/distutils/cmd.pyi | 0 .../stdlib/distutils/command/__init__.pyi | 0 .../stdlib/distutils/command/bdist.pyi | 0 .../stdlib/distutils/command/bdist_dumb.pyi | 0 .../stdlib/distutils/command/bdist_msi.pyi | 0 .../distutils/command/bdist_packager.pyi | 0 .../stdlib/distutils/command/bdist_rpm.pyi | 0 .../distutils/command/bdist_wininst.pyi | 0 .../stdlib/distutils/command/build.pyi | 0 .../stdlib/distutils/command/build_clib.pyi | 0 .../stdlib/distutils/command/build_ext.pyi | 0 .../stdlib/distutils/command/build_py.pyi | 0 .../distutils/command/build_scripts.pyi | 0 .../stdlib/distutils/command/check.pyi | 0 .../stdlib/distutils/command/clean.pyi | 0 .../stdlib/distutils/command/config.pyi | 0 .../stdlib/distutils/command/install.pyi | 0 .../stdlib/distutils/command/install_data.pyi | 0 .../distutils/command/install_egg_info.pyi | 0 .../distutils/command/install_headers.pyi | 0 .../stdlib/distutils/command/install_lib.pyi | 0 .../distutils/command/install_scripts.pyi | 0 .../stdlib/distutils/command/register.pyi | 0 .../stdlib/distutils/command/sdist.pyi | 0 .../stdlib/distutils/command/upload.pyi | 0 .../typeshed/stdlib/distutils/config.pyi | 0 .../vendor/typeshed/stdlib/distutils/core.pyi | 0 .../stdlib/distutils/cygwinccompiler.pyi | 0 .../typeshed/stdlib/distutils/debug.pyi | 0 .../typeshed/stdlib/distutils/dep_util.pyi | 0 .../typeshed/stdlib/distutils/dir_util.pyi | 0 .../vendor/typeshed/stdlib/distutils/dist.pyi | 0 .../typeshed/stdlib/distutils/errors.pyi | 0 .../typeshed/stdlib/distutils/extension.pyi | 0 .../stdlib/distutils/fancy_getopt.pyi | 0 .../typeshed/stdlib/distutils/file_util.pyi | 0 .../typeshed/stdlib/distutils/filelist.pyi | 0 .../vendor/typeshed/stdlib/distutils/log.pyi | 0 .../stdlib/distutils/msvccompiler.pyi | 0 .../typeshed/stdlib/distutils/spawn.pyi | 0 .../typeshed/stdlib/distutils/sysconfig.pyi | 0 .../typeshed/stdlib/distutils/text_file.pyi | 0 .../stdlib/distutils/unixccompiler.pyi | 0 .../vendor/typeshed/stdlib/distutils/util.pyi | 0 .../typeshed/stdlib/distutils/version.pyi | 0 .../vendor/typeshed/stdlib/doctest.pyi | 0 .../typeshed/stdlib/dummy_threading.pyi | 0 .../vendor/typeshed/stdlib/email/__init__.pyi | 0 .../stdlib/email/_header_value_parser.pyi | 0 .../typeshed/stdlib/email/_policybase.pyi | 0 .../typeshed/stdlib/email/base64mime.pyi | 0 .../vendor/typeshed/stdlib/email/charset.pyi | 0 .../typeshed/stdlib/email/contentmanager.pyi | 0 .../vendor/typeshed/stdlib/email/encoders.pyi | 0 .../vendor/typeshed/stdlib/email/errors.pyi | 0 .../typeshed/stdlib/email/feedparser.pyi | 0 .../typeshed/stdlib/email/generator.pyi | 0 .../vendor/typeshed/stdlib/email/header.pyi | 0 .../typeshed/stdlib/email/headerregistry.pyi | 0 .../typeshed/stdlib/email/iterators.pyi | 0 .../vendor/typeshed/stdlib/email/message.pyi | 0 .../typeshed/stdlib/email/mime/__init__.pyi | 0 .../stdlib/email/mime/application.pyi | 0 .../typeshed/stdlib/email/mime/audio.pyi | 0 .../typeshed/stdlib/email/mime/base.pyi | 0 .../typeshed/stdlib/email/mime/image.pyi | 0 .../typeshed/stdlib/email/mime/message.pyi | 0 .../typeshed/stdlib/email/mime/multipart.pyi | 0 .../stdlib/email/mime/nonmultipart.pyi | 0 .../typeshed/stdlib/email/mime/text.pyi | 0 .../vendor/typeshed/stdlib/email/parser.pyi | 0 .../vendor/typeshed/stdlib/email/policy.pyi | 0 .../typeshed/stdlib/email/quoprimime.pyi | 0 .../vendor/typeshed/stdlib/email/utils.pyi | 0 .../typeshed/stdlib/encodings/__init__.pyi | 0 .../typeshed/stdlib/encodings/utf_8.pyi | 0 .../typeshed/stdlib/encodings/utf_8_sig.pyi | 0 .../typeshed/stdlib/ensurepip/__init__.pyi | 0 .../vendor/typeshed/stdlib/enum.pyi | 0 .../vendor/typeshed/stdlib/errno.pyi | 0 .../vendor/typeshed/stdlib/faulthandler.pyi | 0 .../vendor/typeshed/stdlib/fcntl.pyi | 0 .../vendor/typeshed/stdlib/filecmp.pyi | 0 .../vendor/typeshed/stdlib/fileinput.pyi | 0 .../vendor/typeshed/stdlib/fnmatch.pyi | 0 .../vendor/typeshed/stdlib/formatter.pyi | 0 .../vendor/typeshed/stdlib/fractions.pyi | 0 .../vendor/typeshed/stdlib/ftplib.pyi | 0 .../vendor/typeshed/stdlib/functools.pyi | 0 .../vendor/typeshed/stdlib/gc.pyi | 0 .../vendor/typeshed/stdlib/genericpath.pyi | 0 .../vendor/typeshed/stdlib/getopt.pyi | 0 .../vendor/typeshed/stdlib/getpass.pyi | 0 .../vendor/typeshed/stdlib/gettext.pyi | 0 .../vendor/typeshed/stdlib/glob.pyi | 0 .../vendor/typeshed/stdlib/graphlib.pyi | 0 .../vendor/typeshed/stdlib/grp.pyi | 0 .../vendor/typeshed/stdlib/gzip.pyi | 0 .../vendor/typeshed/stdlib/hashlib.pyi | 0 .../vendor/typeshed/stdlib/heapq.pyi | 0 .../vendor/typeshed/stdlib/hmac.pyi | 0 .../vendor/typeshed/stdlib/html/__init__.pyi | 0 .../vendor/typeshed/stdlib/html/entities.pyi | 0 .../vendor/typeshed/stdlib/html/parser.pyi | 0 .../vendor/typeshed/stdlib/http/__init__.pyi | 0 .../vendor/typeshed/stdlib/http/client.pyi | 0 .../vendor/typeshed/stdlib/http/cookiejar.pyi | 0 .../vendor/typeshed/stdlib/http/cookies.pyi | 0 .../vendor/typeshed/stdlib/http/server.pyi | 0 .../vendor/typeshed/stdlib/imaplib.pyi | 0 .../vendor/typeshed/stdlib/imghdr.pyi | 0 .../vendor/typeshed/stdlib/imp.pyi | 0 .../typeshed/stdlib/importlib/__init__.pyi | 0 .../vendor/typeshed/stdlib/importlib/_abc.pyi | 0 .../vendor/typeshed/stdlib/importlib/abc.pyi | 0 .../typeshed/stdlib/importlib/machinery.pyi | 0 .../stdlib/importlib/metadata/__init__.pyi | 0 .../stdlib/importlib/metadata/_meta.pyi | 0 .../stdlib/importlib/metadata/diagnose.pyi | 0 .../typeshed/stdlib/importlib/readers.pyi | 0 .../stdlib/importlib/resources/__init__.pyi | 0 .../stdlib/importlib/resources/abc.pyi | 0 .../stdlib/importlib/resources/readers.pyi | 0 .../stdlib/importlib/resources/simple.pyi | 0 .../typeshed/stdlib/importlib/simple.pyi | 0 .../vendor/typeshed/stdlib/importlib/util.pyi | 0 .../vendor/typeshed/stdlib/inspect.pyi | 0 .../vendor/typeshed/stdlib/io.pyi | 0 .../vendor/typeshed/stdlib/ipaddress.pyi | 0 .../vendor/typeshed/stdlib/itertools.pyi | 0 .../vendor/typeshed/stdlib/json/__init__.pyi | 0 .../vendor/typeshed/stdlib/json/decoder.pyi | 0 .../vendor/typeshed/stdlib/json/encoder.pyi | 0 .../vendor/typeshed/stdlib/json/tool.pyi | 0 .../vendor/typeshed/stdlib/keyword.pyi | 0 .../typeshed/stdlib/lib2to3/__init__.pyi | 0 .../typeshed/stdlib/lib2to3/btm_matcher.pyi | 0 .../typeshed/stdlib/lib2to3/fixer_base.pyi | 0 .../stdlib/lib2to3/fixes/__init__.pyi | 0 .../stdlib/lib2to3/fixes/fix_apply.pyi | 0 .../stdlib/lib2to3/fixes/fix_asserts.pyi | 0 .../stdlib/lib2to3/fixes/fix_basestring.pyi | 0 .../stdlib/lib2to3/fixes/fix_buffer.pyi | 0 .../stdlib/lib2to3/fixes/fix_dict.pyi | 0 .../stdlib/lib2to3/fixes/fix_except.pyi | 0 .../stdlib/lib2to3/fixes/fix_exec.pyi | 0 .../stdlib/lib2to3/fixes/fix_execfile.pyi | 0 .../stdlib/lib2to3/fixes/fix_exitfunc.pyi | 0 .../stdlib/lib2to3/fixes/fix_filter.pyi | 0 .../stdlib/lib2to3/fixes/fix_funcattrs.pyi | 0 .../stdlib/lib2to3/fixes/fix_future.pyi | 0 .../stdlib/lib2to3/fixes/fix_getcwdu.pyi | 0 .../stdlib/lib2to3/fixes/fix_has_key.pyi | 0 .../stdlib/lib2to3/fixes/fix_idioms.pyi | 0 .../stdlib/lib2to3/fixes/fix_import.pyi | 0 .../stdlib/lib2to3/fixes/fix_imports.pyi | 0 .../stdlib/lib2to3/fixes/fix_imports2.pyi | 0 .../stdlib/lib2to3/fixes/fix_input.pyi | 0 .../stdlib/lib2to3/fixes/fix_intern.pyi | 0 .../stdlib/lib2to3/fixes/fix_isinstance.pyi | 0 .../stdlib/lib2to3/fixes/fix_itertools.pyi | 0 .../lib2to3/fixes/fix_itertools_imports.pyi | 0 .../stdlib/lib2to3/fixes/fix_long.pyi | 0 .../typeshed/stdlib/lib2to3/fixes/fix_map.pyi | 0 .../stdlib/lib2to3/fixes/fix_metaclass.pyi | 0 .../stdlib/lib2to3/fixes/fix_methodattrs.pyi | 0 .../typeshed/stdlib/lib2to3/fixes/fix_ne.pyi | 0 .../stdlib/lib2to3/fixes/fix_next.pyi | 0 .../stdlib/lib2to3/fixes/fix_nonzero.pyi | 0 .../stdlib/lib2to3/fixes/fix_numliterals.pyi | 0 .../stdlib/lib2to3/fixes/fix_operator.pyi | 0 .../stdlib/lib2to3/fixes/fix_paren.pyi | 0 .../stdlib/lib2to3/fixes/fix_print.pyi | 0 .../stdlib/lib2to3/fixes/fix_raise.pyi | 0 .../stdlib/lib2to3/fixes/fix_raw_input.pyi | 0 .../stdlib/lib2to3/fixes/fix_reduce.pyi | 0 .../stdlib/lib2to3/fixes/fix_reload.pyi | 0 .../stdlib/lib2to3/fixes/fix_renames.pyi | 0 .../stdlib/lib2to3/fixes/fix_repr.pyi | 0 .../stdlib/lib2to3/fixes/fix_set_literal.pyi | 0 .../lib2to3/fixes/fix_standarderror.pyi | 0 .../stdlib/lib2to3/fixes/fix_sys_exc.pyi | 0 .../stdlib/lib2to3/fixes/fix_throw.pyi | 0 .../stdlib/lib2to3/fixes/fix_tuple_params.pyi | 0 .../stdlib/lib2to3/fixes/fix_types.pyi | 0 .../stdlib/lib2to3/fixes/fix_unicode.pyi | 0 .../stdlib/lib2to3/fixes/fix_urllib.pyi | 0 .../stdlib/lib2to3/fixes/fix_ws_comma.pyi | 0 .../stdlib/lib2to3/fixes/fix_xrange.pyi | 0 .../stdlib/lib2to3/fixes/fix_xreadlines.pyi | 0 .../typeshed/stdlib/lib2to3/fixes/fix_zip.pyi | 0 .../vendor/typeshed/stdlib/lib2to3/main.pyi | 0 .../stdlib/lib2to3/pgen2/__init__.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/driver.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/grammar.pyi | 0 .../stdlib/lib2to3/pgen2/literals.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/parse.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/pgen.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/token.pyi | 0 .../stdlib/lib2to3/pgen2/tokenize.pyi | 0 .../vendor/typeshed/stdlib/lib2to3/pygram.pyi | 0 .../vendor/typeshed/stdlib/lib2to3/pytree.pyi | 0 .../typeshed/stdlib/lib2to3/refactor.pyi | 0 .../vendor/typeshed/stdlib/linecache.pyi | 0 .../vendor/typeshed/stdlib/locale.pyi | 0 .../typeshed/stdlib/logging/__init__.pyi | 0 .../vendor/typeshed/stdlib/logging/config.pyi | 0 .../typeshed/stdlib/logging/handlers.pyi | 0 .../vendor/typeshed/stdlib/lzma.pyi | 0 .../vendor/typeshed/stdlib/mailbox.pyi | 0 .../vendor/typeshed/stdlib/mailcap.pyi | 0 .../vendor/typeshed/stdlib/marshal.pyi | 0 .../vendor/typeshed/stdlib/math.pyi | 0 .../vendor/typeshed/stdlib/mimetypes.pyi | 0 .../vendor/typeshed/stdlib/mmap.pyi | 0 .../vendor/typeshed/stdlib/modulefinder.pyi | 0 .../typeshed/stdlib/msilib/__init__.pyi | 0 .../vendor/typeshed/stdlib/msilib/schema.pyi | 0 .../typeshed/stdlib/msilib/sequence.pyi | 0 .../vendor/typeshed/stdlib/msilib/text.pyi | 0 .../vendor/typeshed/stdlib/msvcrt.pyi | 0 .../stdlib/multiprocessing/__init__.pyi | 0 .../stdlib/multiprocessing/connection.pyi | 0 .../stdlib/multiprocessing/context.pyi | 0 .../stdlib/multiprocessing/dummy/__init__.pyi | 0 .../multiprocessing/dummy/connection.pyi | 0 .../stdlib/multiprocessing/forkserver.pyi | 0 .../typeshed/stdlib/multiprocessing/heap.pyi | 0 .../stdlib/multiprocessing/managers.pyi | 0 .../typeshed/stdlib/multiprocessing/pool.pyi | 0 .../stdlib/multiprocessing/popen_fork.pyi | 0 .../multiprocessing/popen_forkserver.pyi | 0 .../multiprocessing/popen_spawn_posix.pyi | 0 .../multiprocessing/popen_spawn_win32.pyi | 0 .../stdlib/multiprocessing/process.pyi | 0 .../stdlib/multiprocessing/queues.pyi | 0 .../stdlib/multiprocessing/reduction.pyi | 0 .../multiprocessing/resource_sharer.pyi | 0 .../multiprocessing/resource_tracker.pyi | 0 .../stdlib/multiprocessing/shared_memory.pyi | 0 .../stdlib/multiprocessing/sharedctypes.pyi | 0 .../typeshed/stdlib/multiprocessing/spawn.pyi | 0 .../stdlib/multiprocessing/synchronize.pyi | 0 .../typeshed/stdlib/multiprocessing/util.pyi | 0 .../vendor/typeshed/stdlib/netrc.pyi | 0 .../vendor/typeshed/stdlib/nis.pyi | 0 .../vendor/typeshed/stdlib/nntplib.pyi | 0 .../vendor/typeshed/stdlib/nt.pyi | 0 .../vendor/typeshed/stdlib/ntpath.pyi | 0 .../vendor/typeshed/stdlib/nturl2path.pyi | 0 .../vendor/typeshed/stdlib/numbers.pyi | 0 .../vendor/typeshed/stdlib/opcode.pyi | 0 .../vendor/typeshed/stdlib/operator.pyi | 0 .../vendor/typeshed/stdlib/optparse.pyi | 0 .../vendor/typeshed/stdlib/os/__init__.pyi | 0 .../vendor/typeshed/stdlib/os/path.pyi | 0 .../vendor/typeshed/stdlib/ossaudiodev.pyi | 0 .../vendor/typeshed/stdlib/parser.pyi | 0 .../vendor/typeshed/stdlib/pathlib.pyi | 0 .../vendor/typeshed/stdlib/pdb.pyi | 0 .../vendor/typeshed/stdlib/pickle.pyi | 0 .../vendor/typeshed/stdlib/pickletools.pyi | 0 .../vendor/typeshed/stdlib/pipes.pyi | 0 .../vendor/typeshed/stdlib/pkgutil.pyi | 0 .../vendor/typeshed/stdlib/platform.pyi | 0 .../vendor/typeshed/stdlib/plistlib.pyi | 0 .../vendor/typeshed/stdlib/poplib.pyi | 0 .../vendor/typeshed/stdlib/posix.pyi | 0 .../vendor/typeshed/stdlib/posixpath.pyi | 0 .../vendor/typeshed/stdlib/pprint.pyi | 0 .../vendor/typeshed/stdlib/profile.pyi | 0 .../vendor/typeshed/stdlib/pstats.pyi | 0 .../vendor/typeshed/stdlib/pty.pyi | 0 .../vendor/typeshed/stdlib/pwd.pyi | 0 .../vendor/typeshed/stdlib/py_compile.pyi | 0 .../vendor/typeshed/stdlib/pyclbr.pyi | 0 .../vendor/typeshed/stdlib/pydoc.pyi | 0 .../typeshed/stdlib/pydoc_data/__init__.pyi | 0 .../typeshed/stdlib/pydoc_data/topics.pyi | 0 .../typeshed/stdlib/pyexpat/__init__.pyi | 0 .../vendor/typeshed/stdlib/pyexpat/errors.pyi | 0 .../vendor/typeshed/stdlib/pyexpat/model.pyi | 0 .../vendor/typeshed/stdlib/queue.pyi | 0 .../vendor/typeshed/stdlib/quopri.pyi | 0 .../vendor/typeshed/stdlib/random.pyi | 0 .../vendor/typeshed/stdlib/re.pyi | 0 .../vendor/typeshed/stdlib/readline.pyi | 0 .../vendor/typeshed/stdlib/reprlib.pyi | 0 .../vendor/typeshed/stdlib/resource.pyi | 0 .../vendor/typeshed/stdlib/rlcompleter.pyi | 0 .../vendor/typeshed/stdlib/runpy.pyi | 0 .../vendor/typeshed/stdlib/sched.pyi | 0 .../vendor/typeshed/stdlib/secrets.pyi | 0 .../vendor/typeshed/stdlib/select.pyi | 0 .../vendor/typeshed/stdlib/selectors.pyi | 0 .../vendor/typeshed/stdlib/shelve.pyi | 0 .../vendor/typeshed/stdlib/shlex.pyi | 0 .../vendor/typeshed/stdlib/shutil.pyi | 0 .../vendor/typeshed/stdlib/signal.pyi | 0 .../vendor/typeshed/stdlib/site.pyi | 0 .../vendor/typeshed/stdlib/smtpd.pyi | 0 .../vendor/typeshed/stdlib/smtplib.pyi | 0 .../vendor/typeshed/stdlib/sndhdr.pyi | 0 .../vendor/typeshed/stdlib/socket.pyi | 0 .../vendor/typeshed/stdlib/socketserver.pyi | 0 .../vendor/typeshed/stdlib/spwd.pyi | 0 .../typeshed/stdlib/sqlite3/__init__.pyi | 0 .../vendor/typeshed/stdlib/sqlite3/dbapi2.pyi | 0 .../vendor/typeshed/stdlib/sre_compile.pyi | 0 .../vendor/typeshed/stdlib/sre_constants.pyi | 0 .../vendor/typeshed/stdlib/sre_parse.pyi | 0 .../vendor/typeshed/stdlib/ssl.pyi | 0 .../vendor/typeshed/stdlib/stat.pyi | 0 .../vendor/typeshed/stdlib/statistics.pyi | 0 .../vendor/typeshed/stdlib/string.pyi | 0 .../vendor/typeshed/stdlib/stringprep.pyi | 0 .../vendor/typeshed/stdlib/struct.pyi | 0 .../vendor/typeshed/stdlib/subprocess.pyi | 0 .../vendor/typeshed/stdlib/sunau.pyi | 0 .../vendor/typeshed/stdlib/symbol.pyi | 0 .../vendor/typeshed/stdlib/symtable.pyi | 0 .../vendor/typeshed/stdlib/sys/__init__.pyi | 0 .../typeshed/stdlib/sys/_monitoring.pyi | 0 .../vendor/typeshed/stdlib/sysconfig.pyi | 0 .../vendor/typeshed/stdlib/syslog.pyi | 0 .../vendor/typeshed/stdlib/tabnanny.pyi | 0 .../vendor/typeshed/stdlib/tarfile.pyi | 0 .../vendor/typeshed/stdlib/telnetlib.pyi | 0 .../vendor/typeshed/stdlib/tempfile.pyi | 0 .../vendor/typeshed/stdlib/termios.pyi | 0 .../vendor/typeshed/stdlib/textwrap.pyi | 0 .../vendor/typeshed/stdlib/this.pyi | 0 .../vendor/typeshed/stdlib/threading.pyi | 0 .../vendor/typeshed/stdlib/time.pyi | 0 .../vendor/typeshed/stdlib/timeit.pyi | 0 .../typeshed/stdlib/tkinter/__init__.pyi | 0 .../typeshed/stdlib/tkinter/colorchooser.pyi | 0 .../typeshed/stdlib/tkinter/commondialog.pyi | 0 .../typeshed/stdlib/tkinter/constants.pyi | 0 .../vendor/typeshed/stdlib/tkinter/dialog.pyi | 0 .../vendor/typeshed/stdlib/tkinter/dnd.pyi | 0 .../typeshed/stdlib/tkinter/filedialog.pyi | 0 .../vendor/typeshed/stdlib/tkinter/font.pyi | 0 .../typeshed/stdlib/tkinter/messagebox.pyi | 0 .../typeshed/stdlib/tkinter/scrolledtext.pyi | 0 .../typeshed/stdlib/tkinter/simpledialog.pyi | 0 .../vendor/typeshed/stdlib/tkinter/tix.pyi | 0 .../vendor/typeshed/stdlib/tkinter/ttk.pyi | 0 .../vendor/typeshed/stdlib/token.pyi | 0 .../vendor/typeshed/stdlib/tokenize.pyi | 0 .../vendor/typeshed/stdlib/tomllib.pyi | 0 .../vendor/typeshed/stdlib/trace.pyi | 0 .../vendor/typeshed/stdlib/traceback.pyi | 0 .../vendor/typeshed/stdlib/tracemalloc.pyi | 0 .../vendor/typeshed/stdlib/tty.pyi | 0 .../vendor/typeshed/stdlib/turtle.pyi | 0 .../vendor/typeshed/stdlib/types.pyi | 0 .../vendor/typeshed/stdlib/typing.pyi | 0 .../typeshed/stdlib/typing_extensions.pyi | 0 .../vendor/typeshed/stdlib/unicodedata.pyi | 0 .../typeshed/stdlib/unittest/__init__.pyi | 0 .../vendor/typeshed/stdlib/unittest/_log.pyi | 0 .../typeshed/stdlib/unittest/async_case.pyi | 0 .../vendor/typeshed/stdlib/unittest/case.pyi | 0 .../typeshed/stdlib/unittest/loader.pyi | 0 .../vendor/typeshed/stdlib/unittest/main.pyi | 0 .../vendor/typeshed/stdlib/unittest/mock.pyi | 0 .../typeshed/stdlib/unittest/result.pyi | 0 .../typeshed/stdlib/unittest/runner.pyi | 0 .../typeshed/stdlib/unittest/signals.pyi | 0 .../vendor/typeshed/stdlib/unittest/suite.pyi | 0 .../vendor/typeshed/stdlib/unittest/util.pyi | 0 .../typeshed/stdlib/urllib/__init__.pyi | 0 .../vendor/typeshed/stdlib/urllib/error.pyi | 0 .../vendor/typeshed/stdlib/urllib/parse.pyi | 0 .../vendor/typeshed/stdlib/urllib/request.pyi | 0 .../typeshed/stdlib/urllib/response.pyi | 0 .../typeshed/stdlib/urllib/robotparser.pyi | 0 .../vendor/typeshed/stdlib/uu.pyi | 0 .../vendor/typeshed/stdlib/uuid.pyi | 0 .../vendor/typeshed/stdlib/warnings.pyi | 0 .../vendor/typeshed/stdlib/wave.pyi | 0 .../vendor/typeshed/stdlib/weakref.pyi | 0 .../vendor/typeshed/stdlib/webbrowser.pyi | 0 .../vendor/typeshed/stdlib/winreg.pyi | 0 .../vendor/typeshed/stdlib/winsound.pyi | 0 .../typeshed/stdlib/wsgiref/__init__.pyi | 0 .../typeshed/stdlib/wsgiref/handlers.pyi | 0 .../typeshed/stdlib/wsgiref/headers.pyi | 0 .../typeshed/stdlib/wsgiref/simple_server.pyi | 0 .../vendor/typeshed/stdlib/wsgiref/types.pyi | 0 .../vendor/typeshed/stdlib/wsgiref/util.pyi | 0 .../typeshed/stdlib/wsgiref/validate.pyi | 0 .../vendor/typeshed/stdlib/xdrlib.pyi | 0 .../vendor/typeshed/stdlib/xml/__init__.pyi | 0 .../typeshed/stdlib/xml/dom/NodeFilter.pyi | 0 .../typeshed/stdlib/xml/dom/__init__.pyi | 0 .../vendor/typeshed/stdlib/xml/dom/domreg.pyi | 0 .../typeshed/stdlib/xml/dom/expatbuilder.pyi | 0 .../typeshed/stdlib/xml/dom/minicompat.pyi | 0 .../typeshed/stdlib/xml/dom/minidom.pyi | 0 .../typeshed/stdlib/xml/dom/pulldom.pyi | 0 .../typeshed/stdlib/xml/dom/xmlbuilder.pyi | 0 .../stdlib/xml/etree/ElementInclude.pyi | 0 .../typeshed/stdlib/xml/etree/ElementPath.pyi | 0 .../typeshed/stdlib/xml/etree/ElementTree.pyi | 0 .../typeshed/stdlib/xml/etree/__init__.pyi | 0 .../stdlib/xml/etree/cElementTree.pyi | 0 .../typeshed/stdlib/xml/parsers/__init__.pyi | 0 .../stdlib/xml/parsers/expat/__init__.pyi | 0 .../stdlib/xml/parsers/expat/errors.pyi | 0 .../stdlib/xml/parsers/expat/model.pyi | 0 .../typeshed/stdlib/xml/sax/__init__.pyi | 0 .../typeshed/stdlib/xml/sax/_exceptions.pyi | 0 .../typeshed/stdlib/xml/sax/handler.pyi | 0 .../typeshed/stdlib/xml/sax/saxutils.pyi | 0 .../typeshed/stdlib/xml/sax/xmlreader.pyi | 0 .../typeshed/stdlib/xmlrpc/__init__.pyi | 0 .../vendor/typeshed/stdlib/xmlrpc/client.pyi | 0 .../vendor/typeshed/stdlib/xmlrpc/server.pyi | 0 .../vendor/typeshed/stdlib/xxlimited.pyi | 0 .../vendor/typeshed/stdlib/zipapp.pyi | 0 .../typeshed/stdlib/zipfile/__init__.pyi | 0 .../vendor/typeshed/stdlib/zipfile/_path.pyi | 0 .../vendor/typeshed/stdlib/zipimport.pyi | 0 .../vendor/typeshed/stdlib/zlib.pyi | 0 .../typeshed/stdlib/zoneinfo/__init__.pyi | 0 602 files changed, 162 insertions(+), 130 deletions(-) rename crates/red_knot_python_semantic/src/module_resolver/{typeshed/versions.rs => typeshed.rs} (99%) delete mode 100644 crates/red_knot_python_semantic/src/module_resolver/typeshed/mod.rs create mode 100644 crates/ruff_vendored/Cargo.toml rename crates/{red_knot_python_semantic => ruff_vendored}/build.rs (96%) rename crates/{red_knot_python_semantic/src/module_resolver/typeshed/vendored.rs => ruff_vendored/src/lib.rs} (96%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/LICENSE (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/README.md (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/source_commit.txt (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/VERSIONS (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/__future__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/__main__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_ast.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_bisect.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_bootlocale.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_codecs.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_collections_abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_compat_pickle.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_compression.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_csv.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_ctypes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_curses.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_decimal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_dummy_thread.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_dummy_threading.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_heapq.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_imp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_interpchannels.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_interpqueues.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_interpreters.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_json.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_locale.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_lsprof.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_markupbase.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_msi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_operator.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_osx_support.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_posixsubprocess.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_py_abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_pydecimal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_random.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_sitebuiltins.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_socket.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_stat.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_thread.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_threading_local.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_tkinter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_tracemalloc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/README.md (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/dbapi.pyi (97%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/importlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/wsgi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/xml.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_warnings.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_weakref.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_weakrefset.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_winapi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/aifc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/antigravity.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/argparse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/array.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ast.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asynchat.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/base_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/base_futures.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/base_tasks.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/constants.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/coroutines.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/exceptions.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/format_helpers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/futures.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/locks.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/log.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/mixins.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/proactor_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/protocols.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/queues.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/runners.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/selector_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/sslproto.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/staggered.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/streams.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/subprocess.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/taskgroups.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/tasks.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/threads.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/timeouts.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/transports.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/trsock.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/unix_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/windows_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/windows_utils.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncore.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/atexit.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/audioop.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/base64.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/bdb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/binascii.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/binhex.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/bisect.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/builtins.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/bz2.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cProfile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/calendar.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cgi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cgitb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/chunk.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cmath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cmd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/code.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/codecs.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/codeop.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/collections/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/collections/abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/colorsys.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/compileall.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/futures/_base.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/futures/process.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/futures/thread.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/configparser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/contextlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/contextvars.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/copy.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/copyreg.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/crypt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/csv.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ctypes/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ctypes/_endian.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ctypes/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ctypes/wintypes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/ascii.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/has_key.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/panel.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/textpad.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dataclasses.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/datetime.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/dumb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/gnu.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/ndbm.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/sqlite3.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/decimal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/difflib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dis.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/archive_util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/ccompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/cmd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build_clib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build_ext.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build_py.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/check.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/clean.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/config.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_data.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_headers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_lib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/register.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/sdist.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/upload.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/config.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/core.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/debug.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/dep_util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/dir_util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/dist.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/errors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/extension.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/file_util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/filelist.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/log.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/msvccompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/spawn.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/sysconfig.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/text_file.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/unixccompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/version.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/doctest.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dummy_threading.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/_header_value_parser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/_policybase.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/base64mime.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/charset.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/contentmanager.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/encoders.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/errors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/feedparser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/generator.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/header.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/headerregistry.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/iterators.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/message.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/application.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/audio.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/base.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/image.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/message.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/multipart.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/text.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/parser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/policy.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/quoprimime.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/utils.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/encodings/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/encodings/utf_8.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ensurepip/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/enum.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/errno.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/faulthandler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/fcntl.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/filecmp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/fileinput.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/fnmatch.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/formatter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/fractions.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ftplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/functools.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/gc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/genericpath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/getopt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/getpass.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/gettext.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/glob.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/graphlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/grp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/gzip.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/hashlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/heapq.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/hmac.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/html/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/html/entities.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/html/parser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/client.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/cookiejar.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/cookies.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/server.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/imaplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/imghdr.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/imp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/_abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/machinery.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/readers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/resources/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/resources/abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/resources/readers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/resources/simple.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/simple.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/inspect.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/io.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ipaddress.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/itertools.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/json/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/json/decoder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/json/encoder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/json/tool.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/keyword.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/main.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pygram.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pytree.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/refactor.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/linecache.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/locale.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/logging/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/logging/config.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/logging/handlers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lzma.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/mailbox.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/mailcap.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/marshal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/math.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/mimetypes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/mmap.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/modulefinder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msilib/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msilib/schema.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msilib/sequence.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msilib/text.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msvcrt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/connection.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/context.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/heap.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/managers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/pool.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/process.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/queues.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/reduction.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/spawn.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/netrc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/nis.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/nntplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/nt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ntpath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/nturl2path.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/numbers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/opcode.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/operator.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/optparse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/os/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/os/path.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ossaudiodev.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/parser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pathlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pdb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pickle.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pickletools.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pipes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pkgutil.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/platform.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/plistlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/poplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/posix.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/posixpath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pprint.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/profile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pstats.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pty.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pwd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/py_compile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pyclbr.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pydoc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pydoc_data/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pydoc_data/topics.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pyexpat/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pyexpat/errors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pyexpat/model.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/queue.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/quopri.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/random.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/re.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/readline.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/reprlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/resource.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/rlcompleter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/runpy.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sched.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/secrets.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/select.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/selectors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/shelve.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/shlex.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/shutil.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/signal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/site.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/smtpd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/smtplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sndhdr.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/socket.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/socketserver.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/spwd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sqlite3/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sre_compile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sre_constants.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sre_parse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ssl.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/stat.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/statistics.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/string.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/stringprep.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/struct.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/subprocess.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sunau.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/symbol.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/symtable.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sys/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sys/_monitoring.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sysconfig.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/syslog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tabnanny.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tarfile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/telnetlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tempfile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/termios.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/textwrap.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/this.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/threading.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/time.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/timeit.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/colorchooser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/commondialog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/constants.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/dialog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/dnd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/filedialog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/font.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/messagebox.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/simpledialog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/tix.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/ttk.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/token.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tokenize.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tomllib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/trace.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/traceback.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tracemalloc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tty.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/turtle.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/types.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/typing.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/typing_extensions.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unicodedata.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/_log.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/async_case.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/case.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/loader.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/main.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/mock.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/result.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/runner.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/signals.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/suite.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/error.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/parse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/request.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/response.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/robotparser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/uu.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/uuid.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/warnings.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wave.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/weakref.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/webbrowser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/winreg.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/winsound.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/handlers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/headers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/simple_server.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/types.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/validate.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xdrlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/domreg.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/minicompat.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/minidom.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/pulldom.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/parsers/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/handler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/saxutils.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xmlrpc/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xmlrpc/client.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xmlrpc/server.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xxlimited.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zipapp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zipfile/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zipfile/_path.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zipimport.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zoneinfo/__init__.pyi (100%) diff --git a/.github/workflows/sync_typeshed.yaml b/.github/workflows/sync_typeshed.yaml index 625b9b9fce..d3bc1b4c9c 100644 --- a/.github/workflows/sync_typeshed.yaml +++ b/.github/workflows/sync_typeshed.yaml @@ -37,13 +37,13 @@ jobs: - name: Sync typeshed id: sync run: | - rm -rf ruff/crates/red_knot_python_semantic/vendor/typeshed - mkdir ruff/crates/red_knot_python_semantic/vendor/typeshed - cp typeshed/README.md ruff/crates/red_knot_python_semantic/vendor/typeshed - cp typeshed/LICENSE ruff/crates/red_knot_python_semantic/vendor/typeshed - cp -r typeshed/stdlib ruff/crates/red_knot_python_semantic/vendor/typeshed/stdlib - rm -rf ruff/crates/red_knot_python_semantic/vendor/typeshed/stdlib/@tests - git -C typeshed rev-parse HEAD > ruff/crates/red_knot_python_semantic/vendor/typeshed/source_commit.txt + rm -rf ruff/crates/ruff_vendored/vendor/typeshed + mkdir ruff/crates/ruff_vendored/vendor/typeshed + cp typeshed/README.md ruff/crates/ruff_vendored/vendor/typeshed + cp typeshed/LICENSE ruff/crates/ruff_vendored/vendor/typeshed + cp -r typeshed/stdlib ruff/crates/ruff_vendored/vendor/typeshed/stdlib + rm -rf ruff/crates/ruff_vendored/vendor/typeshed/stdlib/@tests + git -C typeshed rev-parse HEAD > ruff/crates/ruff_vendored/vendor/typeshed/source_commit.txt - name: Commit the changes id: commit if: ${{ steps.sync.outcome == 'success' }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6f355ec378..11cb47e0d9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ fail_fast: true exclude: | (?x)^( - crates/red_knot_python_semantic/vendor/.*| + crates/ruff_vendored/vendor/.*| crates/red_knot_workspace/resources/.*| crates/ruff_linter/resources/.*| crates/ruff_linter/src/rules/.*/snapshots/.*| diff --git a/Cargo.lock b/Cargo.lock index 727b38d862..9b1c5620d9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2083,9 +2083,7 @@ dependencies = [ "countme", "hashbrown", "insta", - "once_cell", "ordermap", - "path-slash", "ruff_db", "ruff_index", "ruff_python_ast", @@ -2094,6 +2092,7 @@ dependencies = [ "ruff_python_stdlib", "ruff_source_file", "ruff_text_size", + "ruff_vendored", "rustc-hash 2.0.0", "salsa", "smallvec", @@ -2102,8 +2101,6 @@ dependencies = [ "test-case", "thiserror", "tracing", - "walkdir", - "zip", ] [[package]] @@ -2159,6 +2156,7 @@ dependencies = [ "ruff_db", "ruff_python_ast", "ruff_text_size", + "ruff_vendored", "rustc-hash 2.0.0", "salsa", "tempfile", @@ -2450,6 +2448,7 @@ version = "0.1.0" dependencies = [ "anyhow", "clap", + "once_cell", "red_knot_python_semantic", "ruff_cache", "ruff_db", @@ -2460,6 +2459,7 @@ dependencies = [ "salsa", "schemars", "serde", + "zip", ] [[package]] @@ -2790,6 +2790,17 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "ruff_vendored" +version = "0.0.0" +dependencies = [ + "once_cell", + "path-slash", + "ruff_db", + "walkdir", + "zip", +] + [[package]] name = "ruff_wasm" version = "0.6.6" diff --git a/Cargo.toml b/Cargo.toml index 81e80f7630..932a504881 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ license = "MIT" [workspace.dependencies] ruff = { path = "crates/ruff" } ruff_cache = { path = "crates/ruff_cache" } -ruff_db = { path = "crates/ruff_db" } +ruff_db = { path = "crates/ruff_db", default-features = false } ruff_diagnostics = { path = "crates/ruff_diagnostics" } ruff_formatter = { path = "crates/ruff_formatter" } ruff_graph = { path = "crates/ruff_graph" } @@ -34,11 +34,12 @@ ruff_python_trivia = { path = "crates/ruff_python_trivia" } ruff_server = { path = "crates/ruff_server" } ruff_source_file = { path = "crates/ruff_source_file" } ruff_text_size = { path = "crates/ruff_text_size" } +ruff_vendored = { path = "crates/ruff_vendored" } ruff_workspace = { path = "crates/ruff_workspace" } red_knot_python_semantic = { path = "crates/red_knot_python_semantic" } red_knot_server = { path = "crates/red_knot_server" } -red_knot_workspace = { path = "crates/red_knot_workspace" } +red_knot_workspace = { path = "crates/red_knot_workspace", default-features = false } aho-corasick = { version = "1.1.3" } annotate-snippets = { version = "0.9.2", features = ["color"] } diff --git a/crates/red_knot/Cargo.toml b/crates/red_knot/Cargo.toml index 0f66f0b3a6..1b3fdfa346 100644 --- a/crates/red_knot/Cargo.toml +++ b/crates/red_knot/Cargo.toml @@ -13,9 +13,8 @@ license.workspace = true [dependencies] red_knot_python_semantic = { workspace = true } -red_knot_workspace = { workspace = true } +red_knot_workspace = { workspace = true, features = ["zstd"] } red_knot_server = { workspace = true } - ruff_db = { workspace = true, features = ["os", "cache"] } anyhow = { workspace = true } diff --git a/crates/red_knot_python_semantic/Cargo.toml b/crates/red_knot_python_semantic/Cargo.toml index 862f6f2689..bf8afe24af 100644 --- a/crates/red_knot_python_semantic/Cargo.toml +++ b/crates/red_knot_python_semantic/Cargo.toml @@ -24,7 +24,6 @@ bitflags = { workspace = true } camino = { workspace = true } compact_str = { workspace = true } countme = { workspace = true } -once_cell = { workspace = true } ordermap = { workspace = true } salsa = { workspace = true } thiserror = { workspace = true } @@ -35,20 +34,14 @@ smallvec = { workspace = true } static_assertions = { workspace = true } test-case = { workspace = true } -[build-dependencies] -path-slash = { workspace = true } -walkdir = { workspace = true } -zip = { workspace = true, features = ["zstd", "deflate"] } - [dev-dependencies] ruff_db = { workspace = true, features = ["os", "testing"] } ruff_python_parser = { workspace = true } +ruff_vendored = { workspace = true } anyhow = { workspace = true } insta = { workspace = true } tempfile = { workspace = true } -walkdir = { workspace = true } -zip = { workspace = true } [lints] workspace = true diff --git a/crates/red_knot_python_semantic/src/db.rs b/crates/red_knot_python_semantic/src/db.rs index c358d3e1cc..8ec0fee300 100644 --- a/crates/red_knot_python_semantic/src/db.rs +++ b/crates/red_knot_python_semantic/src/db.rs @@ -11,7 +11,6 @@ pub trait Db: SourceDb + Upcast { pub(crate) mod tests { use std::sync::Arc; - use crate::module_resolver::vendored_typeshed_stubs; use ruff_db::files::{File, Files}; use ruff_db::system::{DbWithTestSystem, System, TestSystem}; use ruff_db::vendored::VendoredFileSystem; @@ -33,7 +32,7 @@ pub(crate) mod tests { Self { storage: salsa::Storage::default(), system: TestSystem::default(), - vendored: vendored_typeshed_stubs().clone(), + vendored: ruff_vendored::file_system().clone(), events: std::sync::Arc::default(), files: Files::default(), } diff --git a/crates/red_knot_python_semantic/src/lib.rs b/crates/red_knot_python_semantic/src/lib.rs index afdf2da55a..2c1b059b29 100644 --- a/crates/red_knot_python_semantic/src/lib.rs +++ b/crates/red_knot_python_semantic/src/lib.rs @@ -4,9 +4,7 @@ use rustc_hash::FxHasher; pub use db::Db; pub use module_name::ModuleName; -pub use module_resolver::{ - resolve_module, system_module_search_paths, vendored_typeshed_stubs, Module, -}; +pub use module_resolver::{resolve_module, system_module_search_paths, Module}; pub use program::{Program, ProgramSettings, SearchPathSettings, SitePackages}; pub use python_version::PythonVersion; pub use semantic_model::{HasTy, SemanticModel}; diff --git a/crates/red_knot_python_semantic/src/module_resolver/mod.rs b/crates/red_knot_python_semantic/src/module_resolver/mod.rs index a8ba40c09d..c17925606f 100644 --- a/crates/red_knot_python_semantic/src/module_resolver/mod.rs +++ b/crates/red_knot_python_semantic/src/module_resolver/mod.rs @@ -4,7 +4,6 @@ pub use module::Module; pub use resolver::resolve_module; pub(crate) use resolver::{file_to_module, SearchPaths}; use ruff_db::system::SystemPath; -pub use typeshed::vendored_typeshed_stubs; use crate::module_resolver::resolver::search_paths; use crate::Db; diff --git a/crates/red_knot_python_semantic/src/module_resolver/typeshed/versions.rs b/crates/red_knot_python_semantic/src/module_resolver/typeshed.rs similarity index 99% rename from crates/red_knot_python_semantic/src/module_resolver/typeshed/versions.rs rename to crates/red_knot_python_semantic/src/module_resolver/typeshed.rs index bce2454597..204a876ded 100644 --- a/crates/red_knot_python_semantic/src/module_resolver/typeshed/versions.rs +++ b/crates/red_knot_python_semantic/src/module_resolver/typeshed.rs @@ -390,7 +390,8 @@ mod tests { fn typeshed_versions_consistent_with_vendored_stubs() { let db = TestDb::new(); let vendored_typeshed_versions = vendored_typeshed_versions(&db); - let vendored_typeshed_dir = Path::new("vendor/typeshed").canonicalize().unwrap(); + let vendored_typeshed_dir = + Path::new(env!("CARGO_MANIFEST_DIR")).join("../ruff_vendored/vendor/typeshed"); let mut empty_iterator = true; diff --git a/crates/red_knot_python_semantic/src/module_resolver/typeshed/mod.rs b/crates/red_knot_python_semantic/src/module_resolver/typeshed/mod.rs deleted file mode 100644 index fe6b08f576..0000000000 --- a/crates/red_knot_python_semantic/src/module_resolver/typeshed/mod.rs +++ /dev/null @@ -1,8 +0,0 @@ -pub use self::vendored::vendored_typeshed_stubs; -pub(super) use self::versions::{ - typeshed_versions, vendored_typeshed_versions, TypeshedVersions, TypeshedVersionsParseError, - TypeshedVersionsQueryResult, -}; - -mod vendored; -mod versions; diff --git a/crates/red_knot_python_semantic/src/types.rs b/crates/red_knot_python_semantic/src/types.rs index 07ad95095b..54df8499de 100644 --- a/crates/red_knot_python_semantic/src/types.rs +++ b/crates/red_knot_python_semantic/src/types.rs @@ -701,12 +701,12 @@ enum CallOutcome<'db> { impl<'db> CallOutcome<'db> { /// Create a new `CallOutcome::Callable` with given return type. - fn callable(return_ty: Type<'db>) -> CallOutcome { + fn callable(return_ty: Type<'db>) -> CallOutcome<'db> { CallOutcome::Callable { return_ty } } /// Create a new `CallOutcome::NotCallable` with given not-callable type. - fn not_callable(not_callable_ty: Type<'db>) -> CallOutcome { + fn not_callable(not_callable_ty: Type<'db>) -> CallOutcome<'db> { CallOutcome::NotCallable { not_callable_ty } } @@ -719,7 +719,10 @@ impl<'db> CallOutcome<'db> { } /// Create a new `CallOutcome::Union` with given wrapped outcomes. - fn union(called_ty: Type<'db>, outcomes: impl Into]>>) -> CallOutcome { + fn union( + called_ty: Type<'db>, + outcomes: impl Into]>>, + ) -> CallOutcome<'db> { CallOutcome::Union { called_ty, outcomes: outcomes.into(), diff --git a/crates/red_knot_wasm/Cargo.toml b/crates/red_knot_wasm/Cargo.toml index df70eaa9b3..896af15391 100644 --- a/crates/red_knot_wasm/Cargo.toml +++ b/crates/red_knot_wasm/Cargo.toml @@ -20,9 +20,9 @@ default = ["console_error_panic_hook"] [dependencies] red_knot_python_semantic = { workspace = true } -red_knot_workspace = { workspace = true } +red_knot_workspace = { workspace = true, default-features = false, features = ["deflate"] } -ruff_db = { workspace = true } +ruff_db = { workspace = true, features = [] } ruff_notebook = { workspace = true } console_error_panic_hook = { workspace = true, optional = true } diff --git a/crates/red_knot_workspace/Cargo.toml b/crates/red_knot_workspace/Cargo.toml index dd73febde3..dac58c365f 100644 --- a/crates/red_knot_workspace/Cargo.toml +++ b/crates/red_knot_workspace/Cargo.toml @@ -18,6 +18,7 @@ ruff_cache = { workspace = true } ruff_db = { workspace = true, features = ["os", "cache"] } ruff_python_ast = { workspace = true } ruff_text_size = { workspace = true } +ruff_vendored = { workspace = true } anyhow = { workspace = true } crossbeam = { workspace = true } @@ -31,5 +32,10 @@ tracing = { workspace = true } ruff_db = { workspace = true, features = ["testing"] } tempfile = { workspace = true } +[features] +default = ["zstd"] +zstd = ["ruff_vendored/zstd"] +deflate = ["ruff_vendored/deflate"] + [lints] workspace = true diff --git a/crates/red_knot_workspace/src/db.rs b/crates/red_knot_workspace/src/db.rs index 0839d7ee0f..4d3da0ceed 100644 --- a/crates/red_knot_workspace/src/db.rs +++ b/crates/red_knot_workspace/src/db.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use salsa::plumbing::ZalsaDatabase; use salsa::{Cancelled, Event}; -use red_knot_python_semantic::{vendored_typeshed_stubs, Db as SemanticDb, Program}; +use red_knot_python_semantic::{Db as SemanticDb, Program}; use ruff_db::files::{File, Files}; use ruff_db::system::System; use ruff_db::vendored::VendoredFileSystem; @@ -124,7 +124,7 @@ impl SemanticDb for RootDatabase { #[salsa::db] impl SourceDb for RootDatabase { fn vendored(&self) -> &VendoredFileSystem { - vendored_typeshed_stubs() + ruff_vendored::file_system() } fn system(&self) -> &dyn System { @@ -161,7 +161,7 @@ pub(crate) mod tests { use salsa::Event; - use red_knot_python_semantic::{vendored_typeshed_stubs, Db as SemanticDb}; + use red_knot_python_semantic::Db as SemanticDb; use ruff_db::files::Files; use ruff_db::system::{DbWithTestSystem, System, TestSystem}; use ruff_db::vendored::VendoredFileSystem; @@ -183,7 +183,7 @@ pub(crate) mod tests { Self { storage: salsa::Storage::default(), system: TestSystem::default(), - vendored: vendored_typeshed_stubs().clone(), + vendored: ruff_vendored::file_system().clone(), files: Files::default(), events: Arc::default(), } diff --git a/crates/ruff/Cargo.toml b/crates/ruff/Cargo.toml index 6b1ba0ad5e..786ca8e9c2 100644 --- a/crates/ruff/Cargo.toml +++ b/crates/ruff/Cargo.toml @@ -14,7 +14,7 @@ default-run = "ruff" [dependencies] ruff_cache = { workspace = true } -ruff_db = { workspace = true } +ruff_db = { workspace = true, default-features = false, features = ["os"] } ruff_diagnostics = { workspace = true } ruff_graph = { workspace = true, features = ["serde", "clap"] } ruff_linter = { workspace = true, features = ["clap"] } diff --git a/crates/ruff_db/Cargo.toml b/crates/ruff_db/Cargo.toml index 570aa0d63b..3410fe7449 100644 --- a/crates/ruff_db/Cargo.toml +++ b/crates/ruff_db/Cargo.toml @@ -33,19 +33,17 @@ tracing = { workspace = true } tracing-subscriber = { workspace = true, optional = true } tracing-tree = { workspace = true, optional = true } rustc-hash = { workspace = true } - -[target.'cfg(not(target_arch="wasm32"))'.dependencies] -zip = { workspace = true, features = ["zstd"] } +zip = { workspace = true } [target.'cfg(target_arch="wasm32")'.dependencies] web-time = { version = "1.1.0" } -zip = { workspace = true, features = ["deflate"] } [dev-dependencies] insta = { workspace = true } tempfile = { workspace = true } [features] +default = ["os"] cache = ["ruff_cache"] os = ["ignore"] serde = ["dep:serde", "camino/serde1"] diff --git a/crates/ruff_db/src/files.rs b/crates/ruff_db/src/files.rs index ec1f693920..50f4e76d7e 100644 --- a/crates/ruff_db/src/files.rs +++ b/crates/ruff_db/src/files.rs @@ -503,7 +503,8 @@ mod tests { use crate::files::{system_path_to_file, vendored_path_to_file, FileError}; use crate::system::DbWithTestSystem; use crate::tests::TestDb; - use crate::vendored::tests::VendoredFileSystemBuilder; + use crate::vendored::VendoredFileSystemBuilder; + use zip::CompressionMethod; #[test] fn system_existing_file() -> crate::system::Result<()> { @@ -548,7 +549,7 @@ mod tests { fn stubbed_vendored_file() -> crate::system::Result<()> { let mut db = TestDb::new(); - let mut vendored_builder = VendoredFileSystemBuilder::new(); + let mut vendored_builder = VendoredFileSystemBuilder::new(CompressionMethod::Stored); vendored_builder .add_file("test.pyi", "def foo() -> str") .unwrap(); diff --git a/crates/ruff_db/src/parsed.rs b/crates/ruff_db/src/parsed.rs index c47e71fdff..e93d5e5517 100644 --- a/crates/ruff_db/src/parsed.rs +++ b/crates/ruff_db/src/parsed.rs @@ -79,8 +79,9 @@ mod tests { use crate::parsed::parsed_module; use crate::system::{DbWithTestSystem, SystemPath, SystemVirtualPath}; use crate::tests::TestDb; - use crate::vendored::{tests::VendoredFileSystemBuilder, VendoredPath}; + use crate::vendored::{VendoredFileSystemBuilder, VendoredPath}; use crate::Db; + use zip::CompressionMethod; #[test] fn python_file() -> crate::system::Result<()> { @@ -150,7 +151,7 @@ mod tests { fn vendored_file() { let mut db = TestDb::new(); - let mut vendored_builder = VendoredFileSystemBuilder::new(); + let mut vendored_builder = VendoredFileSystemBuilder::new(CompressionMethod::Stored); vendored_builder .add_file( "path.pyi", diff --git a/crates/ruff_db/src/vendored.rs b/crates/ruff_db/src/vendored.rs index d72195aa7f..1a328448c5 100644 --- a/crates/ruff_db/src/vendored.rs +++ b/crates/ruff_db/src/vendored.rs @@ -1,12 +1,13 @@ use std::borrow::Cow; use std::collections::BTreeMap; use std::fmt::{self, Debug}; -use std::io::{self, Read}; +use std::io::{self, Read, Write}; use std::sync::{Arc, Mutex, MutexGuard}; -use zip::{read::ZipFile, ZipArchive, ZipWriter}; - use crate::file_revision::FileRevision; +use zip::result::ZipResult; +use zip::write::FileOptions; +use zip::{read::ZipFile, CompressionMethod, ZipArchive, ZipWriter}; pub use self::path::{VendoredPath, VendoredPathBuf}; @@ -177,7 +178,6 @@ struct ZipFileDebugInfo { crc32_hash: u32, compressed_size: u64, uncompressed_size: u64, - compression_method: zip::CompressionMethod, kind: FileType, } @@ -187,7 +187,6 @@ impl<'a> From> for ZipFileDebugInfo { crc32_hash: value.crc32(), compressed_size: value.compressed_size(), uncompressed_size: value.size(), - compression_method: value.compression(), kind: if value.is_dir() { FileType::Directory } else { @@ -341,69 +340,61 @@ impl<'a> From<&'a VendoredPath> for NormalizedVendoredPath<'a> { } } +pub struct VendoredFileSystemBuilder { + writer: ZipWriter>>, + compression_method: CompressionMethod, +} + +impl VendoredFileSystemBuilder { + pub fn new(compression_method: CompressionMethod) -> Self { + let buffer = io::Cursor::new(Vec::new()); + + Self { + writer: ZipWriter::new(buffer), + compression_method, + } + } + + pub fn add_file( + &mut self, + path: impl AsRef, + content: &str, + ) -> std::io::Result<()> { + self.writer + .start_file(path.as_ref().as_str(), self.options())?; + self.writer.write_all(content.as_bytes()) + } + + pub fn add_directory(&mut self, path: impl AsRef) -> ZipResult<()> { + self.writer + .add_directory(path.as_ref().as_str(), self.options()) + } + + pub fn finish(mut self) -> Result { + let buffer = self.writer.finish()?; + + VendoredFileSystem::new(buffer.into_inner()) + } + + fn options(&self) -> FileOptions { + FileOptions::default() + .compression_method(self.compression_method) + .unix_permissions(0o644) + } +} + #[cfg(test)] pub(crate) mod tests { - use std::io::Write; use insta::assert_snapshot; - use zip::result::ZipResult; - use zip::write::FileOptions; - use zip::{CompressionMethod, ZipWriter}; use super::*; const FUNCTOOLS_CONTENTS: &str = "def update_wrapper(): ..."; const ASYNCIO_TASKS_CONTENTS: &str = "class Task: ..."; - pub struct VendoredFileSystemBuilder { - writer: ZipWriter>>, - } - - impl Default for VendoredFileSystemBuilder { - fn default() -> Self { - Self::new() - } - } - - impl VendoredFileSystemBuilder { - pub fn new() -> Self { - let buffer = io::Cursor::new(Vec::new()); - - Self { - writer: ZipWriter::new(buffer), - } - } - - pub fn add_file( - &mut self, - path: impl AsRef, - content: &str, - ) -> std::io::Result<()> { - self.writer - .start_file(path.as_ref().as_str(), Self::options())?; - self.writer.write_all(content.as_bytes()) - } - - pub fn add_directory(&mut self, path: impl AsRef) -> ZipResult<()> { - self.writer - .add_directory(path.as_ref().as_str(), Self::options()) - } - - pub fn finish(mut self) -> Result { - let buffer = self.writer.finish()?; - - VendoredFileSystem::new(buffer.into_inner()) - } - - fn options() -> FileOptions { - FileOptions::default() - .compression_method(CompressionMethod::Zstd) - .unix_permissions(0o644) - } - } - fn mock_typeshed() -> VendoredFileSystem { - let mut builder = VendoredFileSystemBuilder::new(); + let mut builder = VendoredFileSystemBuilder::new(CompressionMethod::Stored); builder.add_directory("stdlib/").unwrap(); builder @@ -441,28 +432,24 @@ pub(crate) mod tests { crc32_hash: 0, compressed_size: 0, uncompressed_size: 0, - compression_method: Stored, kind: Directory, }, "stdlib/asyncio/": ZipFileDebugInfo { crc32_hash: 0, compressed_size: 0, uncompressed_size: 0, - compression_method: Stored, kind: Directory, }, "stdlib/asyncio/tasks.pyi": ZipFileDebugInfo { crc32_hash: 2826547428, - compressed_size: 24, + compressed_size: 15, uncompressed_size: 15, - compression_method: Zstd, kind: File, }, "stdlib/functools.pyi": ZipFileDebugInfo { crc32_hash: 1099005079, - compressed_size: 34, + compressed_size: 25, uncompressed_size: 25, - compression_method: Zstd, kind: File, }, }, diff --git a/crates/ruff_graph/Cargo.toml b/crates/ruff_graph/Cargo.toml index c9808eace8..9bb0a67d9c 100644 --- a/crates/ruff_graph/Cargo.toml +++ b/crates/ruff_graph/Cargo.toml @@ -20,9 +20,11 @@ ruff_python_parser = { workspace = true } anyhow = { workspace = true } clap = { workspace = true, optional = true } +once_cell = { workspace = true } salsa = { workspace = true } schemars = { workspace = true, optional = true } serde = { workspace = true, optional = true } +zip = { workspace = true, features = [] } [lints] workspace = true diff --git a/crates/ruff_graph/src/db.rs b/crates/ruff_graph/src/db.rs index d0323f6c06..a841687631 100644 --- a/crates/ruff_graph/src/db.rs +++ b/crates/ruff_graph/src/db.rs @@ -1,12 +1,19 @@ use anyhow::Result; -use red_knot_python_semantic::{ - vendored_typeshed_stubs, Db, Program, ProgramSettings, PythonVersion, SearchPathSettings, -}; +use zip::CompressionMethod; + +use red_knot_python_semantic::{Db, Program, ProgramSettings, PythonVersion, SearchPathSettings}; use ruff_db::files::{File, Files}; use ruff_db::system::{OsSystem, System, SystemPathBuf}; -use ruff_db::vendored::VendoredFileSystem; +use ruff_db::vendored::{VendoredFileSystem, VendoredFileSystemBuilder}; use ruff_db::{Db as SourceDb, Upcast}; +static EMPTY_VENDORED: once_cell::sync::Lazy = + once_cell::sync::Lazy::new(|| { + let mut builder = VendoredFileSystemBuilder::new(CompressionMethod::Stored); + builder.add_file("stdlib/VERSIONS", "\n").unwrap(); + builder.finish().unwrap() + }); + #[salsa::db] #[derive(Default)] pub struct ModuleDb { @@ -70,7 +77,7 @@ impl Upcast for ModuleDb { #[salsa::db] impl SourceDb for ModuleDb { fn vendored(&self) -> &VendoredFileSystem { - vendored_typeshed_stubs() + &EMPTY_VENDORED } fn system(&self) -> &dyn System { diff --git a/crates/ruff_vendored/Cargo.toml b/crates/ruff_vendored/Cargo.toml new file mode 100644 index 0000000000..fbd9b3b901 --- /dev/null +++ b/crates/ruff_vendored/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "ruff_vendored" +version = "0.0.0" +publish = false +authors = { workspace = true } +edition = { workspace = true } +rust-version = { workspace = true } +homepage = { workspace = true } +documentation = { workspace = true } +repository = { workspace = true } +license = { workspace = true } + +[dependencies] +ruff_db = { workspace = true } +once_cell = { workspace = true } +zip = { workspace = true } + +[build-dependencies] +path-slash = { workspace = true } +walkdir = { workspace = true } +zip = { workspace = true, features = ["zstd", "deflate"] } + +[dev-dependencies] +walkdir = { workspace = true } + +[features] +zstd = ["zip/zstd"] +deflate = ["zip/deflate"] + +[lints] +workspace = true + diff --git a/crates/red_knot_python_semantic/build.rs b/crates/ruff_vendored/build.rs similarity index 96% rename from crates/red_knot_python_semantic/build.rs rename to crates/ruff_vendored/build.rs index f7481bf85b..535585d657 100644 --- a/crates/red_knot_python_semantic/build.rs +++ b/crates/ruff_vendored/build.rs @@ -30,10 +30,12 @@ fn zip_dir(directory_path: &str, writer: File) -> ZipResult { // We can't use `#[cfg(...)]` here because the target-arch in a build script is the // architecture of the system running the build script and not the architecture of the build-target. // That's why we use the `TARGET` environment variable here. - let method = if std::env::var("TARGET").unwrap().contains("wasm32") { + let method = if cfg!(feature = "zstd") { + CompressionMethod::Zstd + } else if cfg!(feature = "deflate") { CompressionMethod::Deflated } else { - CompressionMethod::Zstd + CompressionMethod::Stored }; let options = FileOptions::default() diff --git a/crates/red_knot_python_semantic/src/module_resolver/typeshed/vendored.rs b/crates/ruff_vendored/src/lib.rs similarity index 96% rename from crates/red_knot_python_semantic/src/module_resolver/typeshed/vendored.rs rename to crates/ruff_vendored/src/lib.rs index e28eadbc3f..de384cd570 100644 --- a/crates/red_knot_python_semantic/src/module_resolver/typeshed/vendored.rs +++ b/crates/ruff_vendored/src/lib.rs @@ -6,7 +6,7 @@ use ruff_db::vendored::VendoredFileSystem; // Luckily this crate will fail to build if this file isn't available at build time. static TYPESHED_ZIP_BYTES: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/zipped_typeshed.zip")); -pub fn vendored_typeshed_stubs() -> &'static VendoredFileSystem { +pub fn file_system() -> &'static VendoredFileSystem { static VENDORED_TYPESHED_STUBS: Lazy = Lazy::new(|| VendoredFileSystem::new_static(TYPESHED_ZIP_BYTES).unwrap()); &VENDORED_TYPESHED_STUBS @@ -42,7 +42,7 @@ mod tests { #[test] fn typeshed_vfs_consistent_with_vendored_stubs() { let vendored_typeshed_dir = Path::new("vendor/typeshed").canonicalize().unwrap(); - let vendored_typeshed_stubs = vendored_typeshed_stubs(); + let vendored_typeshed_stubs = file_system(); let mut empty_iterator = true; for entry in walkdir::WalkDir::new(&vendored_typeshed_dir).min_depth(1) { diff --git a/crates/red_knot_python_semantic/vendor/typeshed/LICENSE b/crates/ruff_vendored/vendor/typeshed/LICENSE similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/LICENSE rename to crates/ruff_vendored/vendor/typeshed/LICENSE diff --git a/crates/red_knot_python_semantic/vendor/typeshed/README.md b/crates/ruff_vendored/vendor/typeshed/README.md similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/README.md rename to crates/ruff_vendored/vendor/typeshed/README.md diff --git a/crates/red_knot_python_semantic/vendor/typeshed/source_commit.txt b/crates/ruff_vendored/vendor/typeshed/source_commit.txt similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/source_commit.txt rename to crates/ruff_vendored/vendor/typeshed/source_commit.txt diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/VERSIONS b/crates/ruff_vendored/vendor/typeshed/stdlib/VERSIONS similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/VERSIONS rename to crates/ruff_vendored/vendor/typeshed/stdlib/VERSIONS diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/__future__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/__future__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/__future__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/__future__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/__main__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/__main__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/__main__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/__main__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_ast.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_ast.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_ast.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_ast.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_bisect.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_bisect.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_bisect.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_bisect.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_bootlocale.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_bootlocale.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_bootlocale.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_bootlocale.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_codecs.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_codecs.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_codecs.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_codecs.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_collections_abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_collections_abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_collections_abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_collections_abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_compat_pickle.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_compat_pickle.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_compat_pickle.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_compat_pickle.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_compression.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_compression.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_compression.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_compression.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_csv.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_csv.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_csv.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_csv.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_ctypes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_ctypes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_ctypes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_ctypes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_curses.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_curses.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_curses.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_curses.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_decimal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_decimal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_decimal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_decimal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_dummy_thread.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_dummy_thread.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_dummy_thread.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_dummy_thread.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_dummy_threading.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_dummy_threading.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_dummy_threading.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_dummy_threading.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_heapq.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_heapq.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_heapq.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_heapq.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_imp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_imp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_imp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_imp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpchannels.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_interpchannels.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpchannels.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_interpchannels.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpqueues.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_interpqueues.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpqueues.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_interpqueues.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpreters.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_interpreters.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpreters.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_interpreters.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_json.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_json.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_json.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_json.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_locale.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_locale.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_locale.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_locale.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_lsprof.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_lsprof.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_lsprof.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_lsprof.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_markupbase.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_markupbase.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_markupbase.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_markupbase.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_msi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_msi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_msi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_msi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_operator.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_operator.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_operator.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_operator.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_osx_support.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_osx_support.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_osx_support.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_osx_support.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_posixsubprocess.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_posixsubprocess.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_posixsubprocess.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_posixsubprocess.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_py_abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_py_abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_py_abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_py_abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_pydecimal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_pydecimal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_pydecimal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_pydecimal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_random.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_random.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_random.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_random.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_sitebuiltins.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_sitebuiltins.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_sitebuiltins.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_sitebuiltins.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_socket.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_socket.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_socket.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_socket.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_stat.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_stat.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_stat.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_stat.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_thread.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_thread.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_thread.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_thread.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_threading_local.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_threading_local.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_threading_local.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_threading_local.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_tkinter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_tkinter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_tkinter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_tkinter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_tracemalloc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_tracemalloc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_tracemalloc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_tracemalloc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/README.md b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/README.md similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/README.md rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/README.md diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/dbapi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/dbapi.pyi similarity index 97% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/dbapi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/dbapi.pyi index d54fbee570..874696ad51 100644 --- a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/dbapi.pyi +++ b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/dbapi.pyi @@ -1,4 +1,4 @@ -# PEP 249 Database API 2.0 Types + # PEP 249 Database API 2.0 Types # https://www.python.org/dev/peps/pep-0249/ from collections.abc import Mapping, Sequence diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/importlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/importlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/importlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/importlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/wsgi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/wsgi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/wsgi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/wsgi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/xml.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/xml.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/xml.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/xml.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_warnings.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_warnings.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_warnings.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_warnings.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_weakref.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_weakref.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_weakref.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_weakref.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_weakrefset.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_weakrefset.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_weakrefset.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_weakrefset.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_winapi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_winapi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_winapi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_winapi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/aifc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/aifc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/aifc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/aifc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/antigravity.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/antigravity.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/antigravity.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/antigravity.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/argparse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/argparse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/argparse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/argparse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/array.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/array.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/array.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/array.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ast.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ast.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ast.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ast.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asynchat.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asynchat.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asynchat.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asynchat.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_futures.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_futures.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_futures.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_futures.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_tasks.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_tasks.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_tasks.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_tasks.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/constants.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/constants.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/constants.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/constants.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/coroutines.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/coroutines.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/coroutines.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/coroutines.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/exceptions.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/exceptions.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/exceptions.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/exceptions.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/format_helpers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/format_helpers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/format_helpers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/format_helpers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/futures.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/futures.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/futures.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/futures.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/locks.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/locks.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/locks.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/locks.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/log.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/log.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/log.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/log.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/mixins.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/mixins.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/mixins.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/mixins.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/proactor_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/proactor_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/proactor_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/proactor_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/protocols.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/protocols.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/protocols.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/protocols.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/queues.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/queues.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/queues.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/queues.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/runners.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/runners.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/runners.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/runners.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/selector_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/selector_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/selector_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/selector_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/sslproto.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/sslproto.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/sslproto.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/sslproto.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/staggered.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/staggered.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/staggered.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/staggered.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/streams.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/streams.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/streams.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/streams.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/subprocess.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/subprocess.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/subprocess.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/subprocess.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/taskgroups.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/taskgroups.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/taskgroups.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/taskgroups.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/tasks.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/tasks.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/tasks.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/tasks.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/threads.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/threads.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/threads.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/threads.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/timeouts.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/timeouts.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/timeouts.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/timeouts.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/transports.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/transports.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/transports.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/transports.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/trsock.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/trsock.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/trsock.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/trsock.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/unix_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/unix_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/unix_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/unix_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/windows_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/windows_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/windows_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/windows_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/windows_utils.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/windows_utils.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/windows_utils.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/windows_utils.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncore.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncore.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncore.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncore.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/atexit.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/atexit.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/atexit.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/atexit.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/audioop.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/audioop.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/audioop.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/audioop.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/base64.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/base64.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/base64.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/base64.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/bdb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/bdb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/bdb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/bdb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/binascii.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/binascii.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/binascii.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/binascii.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/binhex.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/binhex.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/binhex.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/binhex.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/bisect.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/bisect.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/bisect.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/bisect.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/builtins.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/builtins.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/builtins.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/builtins.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/bz2.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/bz2.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/bz2.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/bz2.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cProfile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cProfile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cProfile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cProfile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/calendar.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/calendar.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/calendar.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/calendar.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cgi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cgi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cgi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cgi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cgitb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cgitb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cgitb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cgitb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/chunk.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/chunk.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/chunk.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/chunk.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cmath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cmath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cmath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cmath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cmd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cmd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cmd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cmd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/code.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/code.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/code.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/code.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/codecs.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/codecs.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/codecs.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/codecs.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/codeop.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/codeop.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/codeop.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/codeop.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/collections/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/collections/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/collections/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/collections/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/collections/abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/collections/abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/collections/abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/collections/abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/colorsys.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/colorsys.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/colorsys.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/colorsys.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/compileall.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/compileall.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/compileall.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/compileall.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/_base.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/_base.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/_base.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/_base.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/process.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/process.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/process.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/process.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/thread.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/thread.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/thread.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/thread.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/configparser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/configparser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/configparser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/configparser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/contextlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/contextlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/contextlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/contextlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/contextvars.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/contextvars.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/contextvars.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/contextvars.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/copy.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/copy.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/copy.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/copy.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/copyreg.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/copyreg.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/copyreg.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/copyreg.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/crypt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/crypt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/crypt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/crypt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/csv.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/csv.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/csv.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/csv.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/_endian.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/_endian.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/_endian.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/_endian.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/wintypes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/wintypes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/wintypes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/wintypes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/ascii.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/ascii.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/ascii.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/ascii.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/has_key.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/has_key.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/has_key.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/has_key.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/panel.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/panel.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/panel.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/panel.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/textpad.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/textpad.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/textpad.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/textpad.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dataclasses.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dataclasses.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dataclasses.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dataclasses.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/datetime.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/datetime.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/datetime.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/datetime.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/dumb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/dumb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/dumb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/dumb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/gnu.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/gnu.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/gnu.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/gnu.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/ndbm.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/ndbm.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/ndbm.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/ndbm.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/sqlite3.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/sqlite3.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/sqlite3.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/sqlite3.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/decimal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/decimal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/decimal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/decimal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/difflib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/difflib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/difflib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/difflib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dis.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dis.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dis.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dis.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/archive_util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/archive_util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/archive_util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/archive_util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/ccompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/ccompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/ccompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/ccompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/cmd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/cmd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/cmd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/cmd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_clib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_clib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_clib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_clib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_ext.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_ext.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_ext.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_ext.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_py.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_py.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_py.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_py.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/check.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/check.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/check.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/check.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/clean.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/clean.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/clean.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/clean.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/config.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/config.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/config.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/config.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_data.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_data.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_data.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_data.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_headers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_headers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_headers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_headers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_lib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_lib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_lib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_lib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/register.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/register.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/register.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/register.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/sdist.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/sdist.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/sdist.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/sdist.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/upload.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/upload.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/upload.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/upload.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/config.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/config.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/config.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/config.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/core.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/core.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/core.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/core.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/debug.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/debug.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/debug.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/debug.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dep_util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dep_util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dep_util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dep_util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dir_util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dir_util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dir_util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dir_util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dist.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dist.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dist.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dist.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/errors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/errors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/errors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/errors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/extension.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/extension.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/extension.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/extension.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/file_util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/file_util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/file_util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/file_util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/filelist.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/filelist.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/filelist.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/filelist.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/log.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/log.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/log.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/log.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/msvccompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/msvccompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/msvccompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/msvccompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/spawn.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/spawn.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/spawn.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/spawn.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/sysconfig.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/sysconfig.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/sysconfig.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/sysconfig.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/text_file.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/text_file.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/text_file.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/text_file.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/unixccompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/unixccompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/unixccompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/unixccompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/version.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/version.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/version.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/version.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/doctest.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/doctest.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/doctest.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/doctest.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dummy_threading.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dummy_threading.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dummy_threading.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dummy_threading.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/_header_value_parser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/_header_value_parser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/_header_value_parser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/_header_value_parser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/_policybase.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/_policybase.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/_policybase.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/_policybase.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/base64mime.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/base64mime.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/base64mime.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/base64mime.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/charset.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/charset.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/charset.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/charset.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/contentmanager.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/contentmanager.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/contentmanager.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/contentmanager.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/encoders.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/encoders.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/encoders.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/encoders.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/errors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/errors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/errors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/errors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/feedparser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/feedparser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/feedparser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/feedparser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/generator.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/generator.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/generator.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/generator.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/header.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/header.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/header.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/header.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/headerregistry.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/headerregistry.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/headerregistry.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/headerregistry.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/iterators.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/iterators.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/iterators.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/iterators.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/message.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/message.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/message.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/message.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/application.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/application.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/application.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/application.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/audio.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/audio.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/audio.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/audio.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/base.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/base.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/base.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/base.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/image.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/image.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/image.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/image.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/message.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/message.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/message.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/message.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/multipart.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/multipart.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/multipart.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/multipart.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/text.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/text.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/text.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/text.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/parser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/parser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/parser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/parser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/policy.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/policy.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/policy.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/policy.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/quoprimime.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/quoprimime.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/quoprimime.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/quoprimime.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/utils.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/utils.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/utils.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/utils.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/encodings/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/encodings/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/utf_8.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/encodings/utf_8.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/utf_8.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/encodings/utf_8.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ensurepip/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ensurepip/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ensurepip/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ensurepip/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/enum.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/enum.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/enum.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/enum.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/errno.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/errno.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/errno.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/errno.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/faulthandler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/faulthandler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/faulthandler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/faulthandler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/fcntl.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/fcntl.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/fcntl.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/fcntl.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/filecmp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/filecmp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/filecmp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/filecmp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/fileinput.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/fileinput.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/fileinput.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/fileinput.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/fnmatch.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/fnmatch.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/fnmatch.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/fnmatch.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/formatter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/formatter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/formatter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/formatter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/fractions.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/fractions.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/fractions.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/fractions.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ftplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ftplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ftplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ftplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/functools.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/functools.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/functools.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/functools.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/gc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/gc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/gc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/gc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/genericpath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/genericpath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/genericpath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/genericpath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/getopt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/getopt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/getopt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/getopt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/getpass.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/getpass.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/getpass.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/getpass.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/gettext.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/gettext.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/gettext.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/gettext.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/glob.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/glob.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/glob.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/glob.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/graphlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/graphlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/graphlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/graphlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/grp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/grp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/grp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/grp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/gzip.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/gzip.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/gzip.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/gzip.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/hashlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/hashlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/hashlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/hashlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/heapq.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/heapq.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/heapq.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/heapq.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/hmac.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/hmac.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/hmac.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/hmac.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/html/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/html/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/entities.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/html/entities.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/entities.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/html/entities.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/parser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/html/parser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/parser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/html/parser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/client.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/client.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/client.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/client.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/cookiejar.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/cookiejar.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/cookiejar.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/cookiejar.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/cookies.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/cookies.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/cookies.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/cookies.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/server.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/server.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/server.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/server.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/imaplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/imaplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/imaplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/imaplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/imghdr.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/imghdr.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/imghdr.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/imghdr.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/imp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/imp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/imp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/imp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/_abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/_abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/_abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/_abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/machinery.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/machinery.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/machinery.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/machinery.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/readers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/readers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/readers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/readers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/readers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/readers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/readers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/readers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/simple.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/simple.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/simple.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/simple.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/simple.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/simple.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/simple.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/simple.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/inspect.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/inspect.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/inspect.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/inspect.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/io.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/io.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/io.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/io.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ipaddress.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ipaddress.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ipaddress.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ipaddress.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/itertools.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/itertools.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/itertools.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/itertools.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/json/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/json/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/decoder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/json/decoder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/decoder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/json/decoder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/encoder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/json/encoder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/encoder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/json/encoder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/tool.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/json/tool.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/tool.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/json/tool.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/keyword.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/keyword.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/keyword.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/keyword.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/main.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/main.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/main.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/main.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pygram.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pygram.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pygram.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pygram.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pytree.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pytree.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pytree.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pytree.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/refactor.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/refactor.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/refactor.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/refactor.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/linecache.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/linecache.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/linecache.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/linecache.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/locale.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/locale.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/locale.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/locale.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/logging/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/logging/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/config.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/logging/config.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/config.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/logging/config.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/handlers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/logging/handlers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/handlers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/logging/handlers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lzma.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lzma.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lzma.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lzma.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/mailbox.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/mailbox.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/mailbox.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/mailbox.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/mailcap.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/mailcap.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/mailcap.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/mailcap.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/marshal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/marshal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/marshal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/marshal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/math.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/math.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/math.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/math.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/mimetypes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/mimetypes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/mimetypes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/mimetypes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/mmap.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/mmap.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/mmap.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/mmap.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/modulefinder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/modulefinder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/modulefinder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/modulefinder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msilib/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msilib/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/schema.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msilib/schema.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/schema.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msilib/schema.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/sequence.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msilib/sequence.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/sequence.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msilib/sequence.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/text.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msilib/text.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/text.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msilib/text.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msvcrt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msvcrt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msvcrt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msvcrt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/connection.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/connection.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/connection.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/connection.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/context.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/context.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/context.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/context.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/heap.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/heap.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/heap.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/heap.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/managers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/managers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/managers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/managers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/pool.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/pool.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/pool.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/pool.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/process.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/process.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/process.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/process.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/queues.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/queues.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/queues.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/queues.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/reduction.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/reduction.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/reduction.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/reduction.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/spawn.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/spawn.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/spawn.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/spawn.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/netrc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/netrc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/netrc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/netrc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/nis.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/nis.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/nis.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/nis.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/nntplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/nntplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/nntplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/nntplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/nt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/nt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/nt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/nt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ntpath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ntpath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ntpath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ntpath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/nturl2path.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/nturl2path.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/nturl2path.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/nturl2path.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/numbers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/numbers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/numbers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/numbers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/opcode.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/opcode.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/opcode.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/opcode.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/operator.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/operator.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/operator.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/operator.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/optparse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/optparse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/optparse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/optparse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/os/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/os/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/os/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/os/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/os/path.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/os/path.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/os/path.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/os/path.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ossaudiodev.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ossaudiodev.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ossaudiodev.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ossaudiodev.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/parser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/parser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/parser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/parser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pathlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pathlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pathlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pathlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pdb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pdb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pdb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pdb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pickle.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pickle.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pickle.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pickle.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pickletools.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pickletools.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pickletools.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pickletools.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pipes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pipes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pipes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pipes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pkgutil.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pkgutil.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pkgutil.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pkgutil.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/platform.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/platform.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/platform.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/platform.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/plistlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/plistlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/plistlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/plistlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/poplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/poplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/poplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/poplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/posix.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/posix.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/posix.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/posix.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/posixpath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/posixpath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/posixpath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/posixpath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pprint.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pprint.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pprint.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pprint.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/profile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/profile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/profile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/profile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pstats.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pstats.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pstats.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pstats.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pty.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pty.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pty.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pty.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pwd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pwd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pwd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pwd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/py_compile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/py_compile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/py_compile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/py_compile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyclbr.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pyclbr.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyclbr.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pyclbr.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pydoc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pydoc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc_data/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pydoc_data/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc_data/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pydoc_data/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc_data/topics.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pydoc_data/topics.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc_data/topics.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pydoc_data/topics.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/errors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/errors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/errors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/errors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/model.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/model.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/model.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/model.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/queue.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/queue.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/queue.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/queue.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/quopri.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/quopri.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/quopri.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/quopri.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/random.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/random.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/random.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/random.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/re.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/re.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/re.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/re.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/readline.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/readline.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/readline.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/readline.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/reprlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/reprlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/reprlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/reprlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/resource.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/resource.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/resource.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/resource.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/rlcompleter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/rlcompleter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/rlcompleter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/rlcompleter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/runpy.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/runpy.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/runpy.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/runpy.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sched.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sched.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sched.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sched.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/secrets.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/secrets.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/secrets.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/secrets.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/select.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/select.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/select.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/select.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/selectors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/selectors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/selectors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/selectors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/shelve.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/shelve.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/shelve.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/shelve.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/shlex.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/shlex.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/shlex.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/shlex.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/shutil.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/shutil.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/shutil.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/shutil.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/signal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/signal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/signal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/signal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/site.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/site.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/site.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/site.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/smtpd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/smtpd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/smtpd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/smtpd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/smtplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/smtplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/smtplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/smtplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sndhdr.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sndhdr.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sndhdr.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sndhdr.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/socket.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/socket.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/socket.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/socket.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/socketserver.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/socketserver.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/socketserver.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/socketserver.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/spwd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/spwd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/spwd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/spwd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sqlite3/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sqlite3/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sqlite3/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sqlite3/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_compile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sre_compile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_compile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sre_compile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_constants.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sre_constants.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_constants.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sre_constants.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_parse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sre_parse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_parse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sre_parse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ssl.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ssl.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ssl.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ssl.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/stat.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/stat.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/stat.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/stat.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/statistics.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/statistics.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/statistics.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/statistics.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/string.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/string.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/string.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/string.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/stringprep.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/stringprep.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/stringprep.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/stringprep.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/struct.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/struct.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/struct.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/struct.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/subprocess.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/subprocess.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/subprocess.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/subprocess.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sunau.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sunau.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sunau.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sunau.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/symbol.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/symbol.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/symbol.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/symbol.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/symtable.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/symtable.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/symtable.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/symtable.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sys/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sys/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sys/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sys/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sys/_monitoring.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sys/_monitoring.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sys/_monitoring.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sys/_monitoring.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sysconfig.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sysconfig.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sysconfig.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sysconfig.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/syslog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/syslog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/syslog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/syslog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tabnanny.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tabnanny.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tabnanny.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tabnanny.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tarfile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tarfile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tarfile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tarfile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/telnetlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/telnetlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/telnetlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/telnetlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tempfile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tempfile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tempfile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tempfile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/termios.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/termios.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/termios.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/termios.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/textwrap.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/textwrap.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/textwrap.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/textwrap.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/this.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/this.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/this.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/this.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/threading.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/threading.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/threading.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/threading.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/time.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/time.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/time.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/time.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/timeit.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/timeit.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/timeit.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/timeit.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/colorchooser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/colorchooser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/colorchooser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/colorchooser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/commondialog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/commondialog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/commondialog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/commondialog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/constants.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/constants.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/constants.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/constants.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/dialog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/dialog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/dialog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/dialog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/dnd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/dnd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/dnd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/dnd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/filedialog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/filedialog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/filedialog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/filedialog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/font.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/font.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/font.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/font.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/messagebox.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/messagebox.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/messagebox.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/messagebox.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/simpledialog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/simpledialog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/simpledialog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/simpledialog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/tix.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/tix.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/tix.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/tix.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/ttk.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/ttk.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/ttk.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/ttk.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/token.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/token.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/token.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/token.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tokenize.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tokenize.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tokenize.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tokenize.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tomllib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tomllib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tomllib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tomllib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/trace.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/trace.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/trace.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/trace.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/traceback.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/traceback.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/traceback.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/traceback.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tracemalloc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tracemalloc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tracemalloc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tracemalloc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tty.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tty.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tty.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tty.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/turtle.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/turtle.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/turtle.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/turtle.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/types.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/types.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/types.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/types.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/typing.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/typing.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/typing.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/typing.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/typing_extensions.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/typing_extensions.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/typing_extensions.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/typing_extensions.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unicodedata.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unicodedata.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unicodedata.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unicodedata.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/_log.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/_log.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/_log.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/_log.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/async_case.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/async_case.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/async_case.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/async_case.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/case.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/case.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/case.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/case.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/loader.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/loader.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/loader.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/loader.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/main.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/main.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/main.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/main.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/mock.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/mock.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/mock.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/mock.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/result.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/result.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/result.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/result.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/runner.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/runner.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/runner.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/runner.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/signals.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/signals.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/signals.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/signals.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/suite.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/suite.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/suite.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/suite.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/error.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/error.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/error.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/error.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/parse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/parse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/parse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/parse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/request.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/request.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/request.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/request.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/response.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/response.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/response.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/response.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/robotparser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/robotparser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/robotparser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/robotparser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/uu.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/uu.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/uu.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/uu.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/uuid.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/uuid.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/uuid.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/uuid.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/warnings.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/warnings.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/warnings.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/warnings.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wave.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wave.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wave.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wave.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/weakref.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/weakref.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/weakref.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/weakref.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/webbrowser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/webbrowser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/webbrowser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/webbrowser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/winreg.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/winreg.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/winreg.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/winreg.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/winsound.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/winsound.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/winsound.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/winsound.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/handlers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/handlers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/handlers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/handlers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/headers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/headers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/headers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/headers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/simple_server.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/simple_server.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/simple_server.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/simple_server.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/types.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/types.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/types.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/types.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/validate.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/validate.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/validate.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/validate.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xdrlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xdrlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xdrlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xdrlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/domreg.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/domreg.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/domreg.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/domreg.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/minicompat.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/minicompat.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/minicompat.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/minicompat.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/minidom.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/minidom.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/minidom.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/minidom.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/pulldom.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/pulldom.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/pulldom.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/pulldom.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/handler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/handler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/handler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/handler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/saxutils.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/saxutils.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/saxutils.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/saxutils.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/client.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/client.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/client.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/client.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/server.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/server.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/server.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/server.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xxlimited.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xxlimited.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xxlimited.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xxlimited.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipapp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zipapp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipapp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zipapp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipfile/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zipfile/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipfile/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zipfile/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipfile/_path.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zipfile/_path.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipfile/_path.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zipfile/_path.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipimport.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zipimport.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipimport.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zipimport.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zoneinfo/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zoneinfo/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zoneinfo/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zoneinfo/__init__.pyi