prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Adopt Dependabot
  I've only just learned that requires.io has been shut down. A big thank you to @omansion and @atabary for providing such a fantastic service over the years! ❤️
  
  For mitmproxy this probably means we should migrate to Dependabot. This will probably mean a whole lot more PRs, let's see.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 import os
  2 import re
  3 from codecs import open
  4 
  5 from setuptools import find_packages
  6 from setuptools import setup
  7 
  8 # Based on https://github.com/pypa/sampleproject/blob/main/setup.py
  9 # and https://python-packaging-user-guide.readthedocs.org/
  10 
  11 here = os.path.abspath(os.path.dirname(__file__))
  12 
  13 with open(os.path.join(here, "README.md"), encoding="utf-8") as f:
  14     long_description = f.read()
  15 long_description_content_type = "text/markdown"
  16 
  17 with open(os.path.join(here, "mitmproxy/version.py")) as f:
  18     match = re.search(r'VERSION = "(.+?)"', f.read())
  19     assert match
  20     VERSION = match.group(1)
  21 
  22 setup(
  23     name="mitmproxy",
  24     version=VERSION,
  25     description="An interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets.",
  26     long_description=long_description,
  27     long_description_content_type=long_description_content_type,
  28     url="http://mitmproxy.org",
  29     author="Aldo Cortesi",
  30     author_email="aldo@corte.si",
  31     license="MIT",
  32     classifiers=[
  33         "License :: OSI Approved :: MIT License",
  34         "Development Status :: 5 - Production/Stable",
  35         "Environment :: Console :: Curses",
  36         "Operating System :: MacOS",
  37         "Operating System :: POSIX",
  38         "Operating System :: Microsoft :: Windows",
  39         "Programming Language :: Python :: 3 :: Only",
  40         "Programming Language :: Python :: 3.9",
  41         "Programming Language :: Python :: 3.10",
  42         "Programming Language :: Python :: 3.11",
  43         "Programming Language :: Python :: Implementation :: CPython",
  44         "Topic :: Security",
  45         "Topic :: Internet :: WWW/HTTP",
  46         "Topic :: Internet :: Proxy Servers",
  47         "Topic :: System :: Networking :: Monitoring",
  48         "Topic :: Software Development :: Testing",
  49         "Typing :: Typed",
  50     ],
  51     project_urls={
  52         "Documentation": "https://docs.mitmproxy.org/stable/",
  53         "Source": "https://github.com/mitmproxy/mitmproxy/",
  54         "Tracker": "https://github.com/mitmproxy/mitmproxy/issues",
  55     },
  56     packages=find_packages(
  57         include=[
  58             "mitmproxy",
  59             "mitmproxy.*",
  60         ]
  61     ),
  62     include_package_data=True,
  63     entry_points={
  64         "console_scripts": [
  65             "mitmproxy = mitmproxy.tools.main:mitmproxy",
  66             "mitmdump = mitmproxy.tools.main:mitmdump",
  67             "mitmweb = mitmproxy.tools.main:mitmweb",
  68         ],
  69         "pyinstaller40": [
  70             "hook-dirs = mitmproxy.utils.pyinstaller:hook_dirs",
  71         ],
  72     },
  73     python_requires=">=3.9",
  74     # https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#install-requires
  75     # It is not considered best practice to use install_requires to pin dependencies to specific versions.
  76     install_requires=[
  77         "aioquic_mitmproxy>=0.9.20,<0.10",
  78         "asgiref>=3.2.10,<3.6",
  79         "Brotli>=1.0,<1.1",
  80         "certifi>=2019.9.11",  # no semver here - this should always be on the last release!
  81         "cryptography>=38.0,<38.1",
  82         "flask>=1.1.1,<2.3",
  83         "h11>=0.11,<0.15",
  84         "h2>=4.1,<5",
  85         "hyperframe>=6.0,<7",
  86         "kaitaistruct>=0.10,<0.11",
  87         "ldap3>=2.8,<2.10",
  88         "mitmproxy_wireguard>=0.1.6,<0.2",
  89         "msgpack>=1.0.0, <1.1.0",
  90         "passlib>=1.6.5, <1.8",
  91         "protobuf>=3.14,<5",
  92         "pyOpenSSL>=22.1,<22.2",
  93         "pyparsing>=2.4.2,<3.1",
  94         "pyperclip>=1.6.0,<1.9",
  95         "ruamel.yaml>=0.16,<0.18",
  96         "sortedcontainers>=2.3,<2.5",
  97         "tornado>=6.2,<7",
  98         "urwid-mitmproxy>=2.1.1,<2.2",
  99         "wsproto>=1.0,<1.3",
  100         "publicsuffix2>=2.20190812,<3",
  101         "zstandard>=0.11,<0.20",
  102         "typing-extensions>=4.3,<4.5; python_version<'3.10'",
  103     ],
  104     extras_require={
  105         ':sys_platform == "win32"': [
  106             "pydivert>=2.0.3,<2.2",
  107         ],
  108         "dev": [
  109             "click>=7.0,<8.2",
  110             "hypothesis>=5.8,<7",
  111             "parver>=0.1,<2.0",
  112             "pdoc>=4.0.0",
  113             "pyinstaller==5.6.2",
  114             "pytest-asyncio>=0.17,<0.21",
  115             "pytest-cov>=2.7.1,<4.1",
  116             "pytest-timeout>=1.3.3,<2.2",
  117             "pytest-xdist>=2.1.0,<3.1",
  118             "pytest>=6.1.0,<8",
  119             "requests>=2.9.1,<3",
  120             "tox>=3.5,<4",
  121             "wheel>=0.36.2,<0.39",
  122         ],
  123     },
  124 )
  125
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -75,10 +75,10 @@
       # It is not considered best practice to use install_requires to pin dependencies to specific versions.
       install_requires=[
           "aioquic_mitmproxy>=0.9.20,<0.10",
  -        "asgiref>=3.2.10,<3.6",
  +        "asgiref>=3.2.10,<3.7",
           "Brotli>=1.0,<1.1",
           "certifi>=2019.9.11",  # no semver here - this should always be on the last release!
  -        "cryptography>=38.0,<38.1",
  +        "cryptography>=38.0,<39.1",
           "flask>=1.1.1,<2.3",
           "h11>=0.11,<0.15",
           "h2>=4.1,<5",
  @@ -89,7 +89,7 @@
           "msgpack>=1.0.0, <1.1.0",
           "passlib>=1.6.5, <1.8",
           "protobuf>=3.14,<5",
  -        "pyOpenSSL>=22.1,<22.2",
  +        "pyOpenSSL>=22.1,<23.1",
           "pyparsing>=2.4.2,<3.1",
           "pyperclip>=1.6.0,<1.9",
           "ruamel.yaml>=0.16,<0.18",
  @@ -110,14 +110,14 @@
               "hypothesis>=5.8,<7",
               "parver>=0.1,<2.0",
               "pdoc>=4.0.0",
  -            "pyinstaller==5.6.2",
  +            "pyinstaller==5.7.0",
               "pytest-asyncio>=0.17,<0.21",
               "pytest-cov>=2.7.1,<4.1",
               "pytest-timeout>=1.3.3,<2.2",
  -            "pytest-xdist>=2.1.0,<3.1",
  +            "pytest-xdist>=2.1.0,<3.2",
               "pytest>=6.1.0,<8",
               "requests>=2.9.1,<3",
  -            "tox>=3.5,<4",
  +            "tox>=3.5,<5",
               "wheel>=0.36.2,<0.39",
           ],
       },
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -75,10 +75,10 @@\n     # It is not considered best practice to use install_requires to pin dependencies to specific versions.\n     install_requires=[\n         \"aioquic_mitmproxy>=0.9.20,<0.10\",\n-        \"asgiref>=3.2.10,<3.6\",\n+        \"asgiref>=3.2.10,<3.7\",\n         \"Brotli>=1.0,<1.1\",\n         \"certifi>=2019.9.11\",  # no semver here - this should always be on the last release!\n-        \"cryptography>=38.0,<38.1\",\n+        \"cryptography>=38.0,<39.1\",\n         \"flask>=1.1.1,<2.3\",\n         \"h11>=0.11,<0.15\",\n         \"h2>=4.1,<5\",\n@@ -89,7 +89,7 @@\n         \"msgpack>=1.0.0, <1.1.0\",\n         \"passlib>=1.6.5, <1.8\",\n         \"protobuf>=3.14,<5\",\n-        \"pyOpenSSL>=22.1,<22.2\",\n+        \"pyOpenSSL>=22.1,<23.1\",\n         \"pyparsing>=2.4.2,<3.1\",\n         \"pyperclip>=1.6.0,<1.9\",\n         \"ruamel.yaml>=0.16,<0.18\",\n@@ -110,14 +110,14 @@\n             \"hypothesis>=5.8,<7\",\n             \"parver>=0.1,<2.0\",\n             \"pdoc>=4.0.0\",\n-            \"pyinstaller==5.6.2\",\n+            \"pyinstaller==5.7.0\",\n             \"pytest-asyncio>=0.17,<0.21\",\n             \"pytest-cov>=2.7.1,<4.1\",\n             \"pytest-timeout>=1.3.3,<2.2\",\n-            \"pytest-xdist>=2.1.0,<3.1\",\n+            \"pytest-xdist>=2.1.0,<3.2\",\n             \"pytest>=6.1.0,<8\",\n             \"requests>=2.9.1,<3\",\n-            \"tox>=3.5,<4\",\n+            \"tox>=3.5,<5\",\n             \"wheel>=0.36.2,<0.39\",\n         ],\n     },\n", "issue": "Adopt Dependabot\nI've only just learned that requires.io has been shut down. A big thank you to @omansion and @atabary for providing such a fantastic service over the years! \u2764\ufe0f\r\n\r\nFor mitmproxy this probably means we should migrate to Dependabot. This will probably mean a whole lot more PRs, let's see.\n", "before_files": [{"content": "import os\nimport re\nfrom codecs import open\n\nfrom setuptools import find_packages\nfrom setuptools import setup\n\n# Based on https://github.com/pypa/sampleproject/blob/main/setup.py\n# and https://python-packaging-user-guide.readthedocs.org/\n\nhere = os.path.abspath(os.path.dirname(__file__))\n\nwith open(os.path.join(here, \"README.md\"), encoding=\"utf-8\") as f:\n    long_description = f.read()\nlong_description_content_type = \"text/markdown\"\n\nwith open(os.path.join(here, \"mitmproxy/version.py\")) as f:\n    match = re.search(r'VERSION = \"(.+?)\"', f.read())\n    assert match\n    VERSION = match.group(1)\n\nsetup(\n    name=\"mitmproxy\",\n    version=VERSION,\n    description=\"An interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets.\",\n    long_description=long_description,\n    long_description_content_type=long_description_content_type,\n    url=\"http://mitmproxy.org\",\n    author=\"Aldo Cortesi\",\n    author_email=\"aldo@corte.si\",\n    license=\"MIT\",\n    classifiers=[\n        \"License :: OSI Approved :: MIT License\",\n        \"Development Status :: 5 - Production/Stable\",\n        \"Environment :: Console :: Curses\",\n        \"Operating System :: MacOS\",\n        \"Operating System :: POSIX\",\n        \"Operating System :: Microsoft :: Windows\",\n        \"Programming Language :: Python :: 3 :: Only\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Programming Language :: Python :: 3.10\",\n        \"Programming Language :: Python :: 3.11\",\n        \"Programming Language :: Python :: Implementation :: CPython\",\n        \"Topic :: Security\",\n        \"Topic :: Internet :: WWW/HTTP\",\n        \"Topic :: Internet :: Proxy Servers\",\n        \"Topic :: System :: Networking :: Monitoring\",\n        \"Topic :: Software Development :: Testing\",\n        \"Typing :: Typed\",\n    ],\n    project_urls={\n        \"Documentation\": \"https://docs.mitmproxy.org/stable/\",\n        \"Source\": \"https://github.com/mitmproxy/mitmproxy/\",\n        \"Tracker\": \"https://github.com/mitmproxy/mitmproxy/issues\",\n    },\n    packages=find_packages(\n        include=[\n            \"mitmproxy\",\n            \"mitmproxy.*\",\n        ]\n    ),\n    include_package_data=True,\n    entry_points={\n        \"console_scripts\": [\n            \"mitmproxy = mitmproxy.tools.main:mitmproxy\",\n            \"mitmdump = mitmproxy.tools.main:mitmdump\",\n            \"mitmweb = mitmproxy.tools.main:mitmweb\",\n        ],\n        \"pyinstaller40\": [\n            \"hook-dirs = mitmproxy.utils.pyinstaller:hook_dirs\",\n        ],\n    },\n    python_requires=\">=3.9\",\n    # https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#install-requires\n    # It is not considered best practice to use install_requires to pin dependencies to specific versions.\n    install_requires=[\n        \"aioquic_mitmproxy>=0.9.20,<0.10\",\n        \"asgiref>=3.2.10,<3.6\",\n        \"Brotli>=1.0,<1.1\",\n        \"certifi>=2019.9.11\",  # no semver here - this should always be on the last release!\n        \"cryptography>=38.0,<38.1\",\n        \"flask>=1.1.1,<2.3\",\n        \"h11>=0.11,<0.15\",\n        \"h2>=4.1,<5\",\n        \"hyperframe>=6.0,<7\",\n        \"kaitaistruct>=0.10,<0.11\",\n        \"ldap3>=2.8,<2.10\",\n        \"mitmproxy_wireguard>=0.1.6,<0.2\",\n        \"msgpack>=1.0.0, <1.1.0\",\n        \"passlib>=1.6.5, <1.8\",\n        \"protobuf>=3.14,<5\",\n        \"pyOpenSSL>=22.1,<22.2\",\n        \"pyparsing>=2.4.2,<3.1\",\n        \"pyperclip>=1.6.0,<1.9\",\n        \"ruamel.yaml>=0.16,<0.18\",\n        \"sortedcontainers>=2.3,<2.5\",\n        \"tornado>=6.2,<7\",\n        \"urwid-mitmproxy>=2.1.1,<2.2\",\n        \"wsproto>=1.0,<1.3\",\n        \"publicsuffix2>=2.20190812,<3\",\n        \"zstandard>=0.11,<0.20\",\n        \"typing-extensions>=4.3,<4.5; python_version<'3.10'\",\n    ],\n    extras_require={\n        ':sys_platform == \"win32\"': [\n            \"pydivert>=2.0.3,<2.2\",\n        ],\n        \"dev\": [\n            \"click>=7.0,<8.2\",\n            \"hypothesis>=5.8,<7\",\n            \"parver>=0.1,<2.0\",\n            \"pdoc>=4.0.0\",\n            \"pyinstaller==5.6.2\",\n            \"pytest-asyncio>=0.17,<0.21\",\n            \"pytest-cov>=2.7.1,<4.1\",\n            \"pytest-timeout>=1.3.3,<2.2\",\n            \"pytest-xdist>=2.1.0,<3.1\",\n            \"pytest>=6.1.0,<8\",\n            \"requests>=2.9.1,<3\",\n            \"tox>=3.5,<4\",\n            \"wheel>=0.36.2,<0.39\",\n        ],\n    },\n)\n", "path": "setup.py"}], "after_files": [{"content": "import os\nimport re\nfrom codecs import open\n\nfrom setuptools import find_packages\nfrom setuptools import setup\n\n# Based on https://github.com/pypa/sampleproject/blob/main/setup.py\n# and https://python-packaging-user-guide.readthedocs.org/\n\nhere = os.path.abspath(os.path.dirname(__file__))\n\nwith open(os.path.join(here, \"README.md\"), encoding=\"utf-8\") as f:\n    long_description = f.read()\nlong_description_content_type = \"text/markdown\"\n\nwith open(os.path.join(here, \"mitmproxy/version.py\")) as f:\n    match = re.search(r'VERSION = \"(.+?)\"', f.read())\n    assert match\n    VERSION = match.group(1)\n\nsetup(\n    name=\"mitmproxy\",\n    version=VERSION,\n    description=\"An interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets.\",\n    long_description=long_description,\n    long_description_content_type=long_description_content_type,\n    url=\"http://mitmproxy.org\",\n    author=\"Aldo Cortesi\",\n    author_email=\"aldo@corte.si\",\n    license=\"MIT\",\n    classifiers=[\n        \"License :: OSI Approved :: MIT License\",\n        \"Development Status :: 5 - Production/Stable\",\n        \"Environment :: Console :: Curses\",\n        \"Operating System :: MacOS\",\n        \"Operating System :: POSIX\",\n        \"Operating System :: Microsoft :: Windows\",\n        \"Programming Language :: Python :: 3 :: Only\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Programming Language :: Python :: 3.10\",\n        \"Programming Language :: Python :: 3.11\",\n        \"Programming Language :: Python :: Implementation :: CPython\",\n        \"Topic :: Security\",\n        \"Topic :: Internet :: WWW/HTTP\",\n        \"Topic :: Internet :: Proxy Servers\",\n        \"Topic :: System :: Networking :: Monitoring\",\n        \"Topic :: Software Development :: Testing\",\n        \"Typing :: Typed\",\n    ],\n    project_urls={\n        \"Documentation\": \"https://docs.mitmproxy.org/stable/\",\n        \"Source\": \"https://github.com/mitmproxy/mitmproxy/\",\n        \"Tracker\": \"https://github.com/mitmproxy/mitmproxy/issues\",\n    },\n    packages=find_packages(\n        include=[\n            \"mitmproxy\",\n            \"mitmproxy.*\",\n        ]\n    ),\n    include_package_data=True,\n    entry_points={\n        \"console_scripts\": [\n            \"mitmproxy = mitmproxy.tools.main:mitmproxy\",\n            \"mitmdump = mitmproxy.tools.main:mitmdump\",\n            \"mitmweb = mitmproxy.tools.main:mitmweb\",\n        ],\n        \"pyinstaller40\": [\n            \"hook-dirs = mitmproxy.utils.pyinstaller:hook_dirs\",\n        ],\n    },\n    python_requires=\">=3.9\",\n    # https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#install-requires\n    # It is not considered best practice to use install_requires to pin dependencies to specific versions.\n    install_requires=[\n        \"aioquic_mitmproxy>=0.9.20,<0.10\",\n        \"asgiref>=3.2.10,<3.7\",\n        \"Brotli>=1.0,<1.1\",\n        \"certifi>=2019.9.11\",  # no semver here - this should always be on the last release!\n        \"cryptography>=38.0,<39.1\",\n        \"flask>=1.1.1,<2.3\",\n        \"h11>=0.11,<0.15\",\n        \"h2>=4.1,<5\",\n        \"hyperframe>=6.0,<7\",\n        \"kaitaistruct>=0.10,<0.11\",\n        \"ldap3>=2.8,<2.10\",\n        \"mitmproxy_wireguard>=0.1.6,<0.2\",\n        \"msgpack>=1.0.0, <1.1.0\",\n        \"passlib>=1.6.5, <1.8\",\n        \"protobuf>=3.14,<5\",\n        \"pyOpenSSL>=22.1,<23.1\",\n        \"pyparsing>=2.4.2,<3.1\",\n        \"pyperclip>=1.6.0,<1.9\",\n        \"ruamel.yaml>=0.16,<0.18\",\n        \"sortedcontainers>=2.3,<2.5\",\n        \"tornado>=6.2,<7\",\n        \"urwid-mitmproxy>=2.1.1,<2.2\",\n        \"wsproto>=1.0,<1.3\",\n        \"publicsuffix2>=2.20190812,<3\",\n        \"zstandard>=0.11,<0.20\",\n        \"typing-extensions>=4.3,<4.5; python_version<'3.10'\",\n    ],\n    extras_require={\n        ':sys_platform == \"win32\"': [\n            \"pydivert>=2.0.3,<2.2\",\n        ],\n        \"dev\": [\n            \"click>=7.0,<8.2\",\n            \"hypothesis>=5.8,<7\",\n            \"parver>=0.1,<2.0\",\n            \"pdoc>=4.0.0\",\n            \"pyinstaller==5.7.0\",\n            \"pytest-asyncio>=0.17,<0.21\",\n            \"pytest-cov>=2.7.1,<4.1\",\n            \"pytest-timeout>=1.3.3,<2.2\",\n            \"pytest-xdist>=2.1.0,<3.2\",\n            \"pytest>=6.1.0,<8\",\n            \"requests>=2.9.1,<3\",\n            \"tox>=3.5,<5\",\n            \"wheel>=0.36.2,<0.39\",\n        ],\n    },\n)\n", "path": "setup.py"}]}