We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Pin versions for LTS release
I think that versions of (some) should be allowed to float but when we are ready for an LTS release, the versions should be pinned at that time.

@r0fls @ahopkins @seemethere @ashleysommer @yunstanford @ahopkins 

--- 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 """
2 Sanic
3 """
4 import codecs
5 import os
6 import re
7 from distutils.errors import DistutilsPlatformError
8 from distutils.util import strtobool
9 
10 from setuptools import setup
11 
12 
13 def open_local(paths, mode='r', encoding='utf8'):
14     path = os.path.join(
15         os.path.abspath(os.path.dirname(__file__)),
16         *paths
17     )
18 
19     return codecs.open(path, mode, encoding)
20 
21 
22 with open_local(['sanic', '__init__.py'], encoding='latin1') as fp:
23     try:
24         version = re.findall(r"^__version__ = '([^']+)'\r?$",
25                              fp.read(), re.M)[0]
26     except IndexError:
27         raise RuntimeError('Unable to determine version.')
28 
29 
30 with open_local(['README.rst']) as rm:
31     long_description = rm.read()
32 
33 setup_kwargs = {
34     'name': 'sanic',
35     'version': version,
36     'url': 'http://github.com/channelcat/sanic/',
37     'license': 'MIT',
38     'author': 'Channel Cat',
39     'author_email': 'channelcat@gmail.com',
40     'description': (
41         'A microframework based on uvloop, httptools, and learnings of flask'),
42     'long_description': long_description,
43     'packages': ['sanic'],
44     'platforms': 'any',
45     'classifiers': [
46         'Development Status :: 4 - Beta',
47         'Environment :: Web Environment',
48         'License :: OSI Approved :: MIT License',
49         'Programming Language :: Python :: 3.5',
50         'Programming Language :: Python :: 3.6',
51     ],
52 }
53 
54 env_dependency = '; sys_platform != "win32" and implementation_name == "cpython"'
55 ujson = 'ujson>=1.35' + env_dependency
56 uvloop = 'uvloop>=0.5.3' + env_dependency
57 
58 requirements = [
59     'httptools>=0.0.9',
60     uvloop,
61     ujson,
62     'aiofiles>=0.3.0',
63     'websockets>=5.0,<6.0',
64     'multidict>=4.0,<5.0',
65 ]
66 if strtobool(os.environ.get("SANIC_NO_UJSON", "no")):
67     print("Installing without uJSON")
68     requirements.remove(ujson)
69 
70 # 'nt' means windows OS
71 if strtobool(os.environ.get("SANIC_NO_UVLOOP", "no")):
72     print("Installing without uvLoop")
73     requirements.remove(uvloop)
74 
75 setup_kwargs['install_requires'] = requirements
76 setup(**setup_kwargs)
77
```
--- 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()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -56,7 +56,7 @@
 uvloop = 'uvloop>=0.5.3' + env_dependency
 
 requirements = [
-    'httptools>=0.0.9',
+    'httptools>=0.0.10',
     uvloop,
     ujson,
     'aiofiles>=0.3.0',

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -56,7 +56,7 @@\n uvloop = 'uvloop>=0.5.3' + env_dependency\n \n requirements = [\n-    'httptools>=0.0.9',\n+    'httptools>=0.0.10',\n     uvloop,\n     ujson,\n     'aiofiles>=0.3.0',\n", "issue": "Pin versions for LTS release\nI think that versions of (some) should be allowed to float but when we are ready for an LTS release, the versions should be pinned at that time.\r\n\r\n@r0fls @ahopkins @seemethere @ashleysommer @yunstanford @ahopkins \n", "before_files": [{"content": "\"\"\"\nSanic\n\"\"\"\nimport codecs\nimport os\nimport re\nfrom distutils.errors import DistutilsPlatformError\nfrom distutils.util import strtobool\n\nfrom setuptools import setup\n\n\ndef open_local(paths, mode='r', encoding='utf8'):\n    path = os.path.join(\n        os.path.abspath(os.path.dirname(__file__)),\n        *paths\n    )\n\n    return codecs.open(path, mode, encoding)\n\n\nwith open_local(['sanic', '__init__.py'], encoding='latin1') as fp:\n    try:\n        version = re.findall(r\"^__version__ = '([^']+)'\\r?$\",\n                             fp.read(), re.M)[0]\n    except IndexError:\n        raise RuntimeError('Unable to determine version.')\n\n\nwith open_local(['README.rst']) as rm:\n    long_description = rm.read()\n\nsetup_kwargs = {\n    'name': 'sanic',\n    'version': version,\n    'url': 'http://github.com/channelcat/sanic/',\n    'license': 'MIT',\n    'author': 'Channel Cat',\n    'author_email': 'channelcat@gmail.com',\n    'description': (\n        'A microframework based on uvloop, httptools, and learnings of flask'),\n    'long_description': long_description,\n    'packages': ['sanic'],\n    'platforms': 'any',\n    'classifiers': [\n        'Development Status :: 4 - Beta',\n        'Environment :: Web Environment',\n        'License :: OSI Approved :: MIT License',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n    ],\n}\n\nenv_dependency = '; sys_platform != \"win32\" and implementation_name == \"cpython\"'\nujson = 'ujson>=1.35' + env_dependency\nuvloop = 'uvloop>=0.5.3' + env_dependency\n\nrequirements = [\n    'httptools>=0.0.9',\n    uvloop,\n    ujson,\n    'aiofiles>=0.3.0',\n    'websockets>=5.0,<6.0',\n    'multidict>=4.0,<5.0',\n]\nif strtobool(os.environ.get(\"SANIC_NO_UJSON\", \"no\")):\n    print(\"Installing without uJSON\")\n    requirements.remove(ujson)\n\n# 'nt' means windows OS\nif strtobool(os.environ.get(\"SANIC_NO_UVLOOP\", \"no\")):\n    print(\"Installing without uvLoop\")\n    requirements.remove(uvloop)\n\nsetup_kwargs['install_requires'] = requirements\nsetup(**setup_kwargs)\n", "path": "setup.py"}], "after_files": [{"content": "\"\"\"\nSanic\n\"\"\"\nimport codecs\nimport os\nimport re\nfrom distutils.errors import DistutilsPlatformError\nfrom distutils.util import strtobool\n\nfrom setuptools import setup\n\n\ndef open_local(paths, mode='r', encoding='utf8'):\n    path = os.path.join(\n        os.path.abspath(os.path.dirname(__file__)),\n        *paths\n    )\n\n    return codecs.open(path, mode, encoding)\n\n\nwith open_local(['sanic', '__init__.py'], encoding='latin1') as fp:\n    try:\n        version = re.findall(r\"^__version__ = '([^']+)'\\r?$\",\n                             fp.read(), re.M)[0]\n    except IndexError:\n        raise RuntimeError('Unable to determine version.')\n\n\nwith open_local(['README.rst']) as rm:\n    long_description = rm.read()\n\nsetup_kwargs = {\n    'name': 'sanic',\n    'version': version,\n    'url': 'http://github.com/channelcat/sanic/',\n    'license': 'MIT',\n    'author': 'Channel Cat',\n    'author_email': 'channelcat@gmail.com',\n    'description': (\n        'A microframework based on uvloop, httptools, and learnings of flask'),\n    'long_description': long_description,\n    'packages': ['sanic'],\n    'platforms': 'any',\n    'classifiers': [\n        'Development Status :: 4 - Beta',\n        'Environment :: Web Environment',\n        'License :: OSI Approved :: MIT License',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n    ],\n}\n\nenv_dependency = '; sys_platform != \"win32\" and implementation_name == \"cpython\"'\nujson = 'ujson>=1.35' + env_dependency\nuvloop = 'uvloop>=0.5.3' + env_dependency\n\nrequirements = [\n    'httptools>=0.0.10',\n    uvloop,\n    ujson,\n    'aiofiles>=0.3.0',\n    'websockets>=5.0,<6.0',\n    'multidict>=4.0,<5.0',\n]\nif strtobool(os.environ.get(\"SANIC_NO_UJSON\", \"no\")):\n    print(\"Installing without uJSON\")\n    requirements.remove(ujson)\n\n# 'nt' means windows OS\nif strtobool(os.environ.get(\"SANIC_NO_UVLOOP\", \"no\")):\n    print(\"Installing without uvLoop\")\n    requirements.remove(uvloop)\n\nsetup_kwargs['install_requires'] = requirements\nsetup(**setup_kwargs)\n", "path": "setup.py"}]}