prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Add support for PyYAML 5.3
  Closes: https://github.com/aws/aws-cli/issues/4828
  Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>
  
  *Issue #, if available:*
  
  *Description of changes:*
  
  
  By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
  
  
  --- 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 #!/usr/bin/env python
  2 import codecs
  3 import os.path
  4 import re
  5 import sys
  6 
  7 from setuptools import setup, find_packages
  8 
  9 
  10 here = os.path.abspath(os.path.dirname(__file__))
  11 
  12 
  13 def read(*parts):
  14     return codecs.open(os.path.join(here, *parts), 'r').read()
  15 
  16 
  17 def find_version(*file_paths):
  18     version_file = read(*file_paths)
  19     version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
  20                               version_file, re.M)
  21     if version_match:
  22         return version_match.group(1)
  23     raise RuntimeError("Unable to find version string.")
  24 
  25 
  26 install_requires = [
  27     'botocore==1.15.10',
  28     'docutils>=0.10,<0.16',
  29     'rsa>=3.1.2,<=3.5.0',
  30     's3transfer>=0.3.0,<0.4.0',
  31     'PyYAML>=3.10,<5.3',
  32 ]
  33 
  34 
  35 if sys.version_info[:2] == (3, 4):
  36     install_requires.append('colorama>=0.2.5,<0.4.2')
  37 else:
  38     install_requires.append('colorama>=0.2.5,<0.4.4')
  39 
  40 
  41 setup_options = dict(
  42     name='awscli',
  43     version=find_version("awscli", "__init__.py"),
  44     description='Universal Command Line Environment for AWS.',
  45     long_description=read('README.rst'),
  46     author='Amazon Web Services',
  47     url='http://aws.amazon.com/cli/',
  48     scripts=['bin/aws', 'bin/aws.cmd',
  49              'bin/aws_completer', 'bin/aws_zsh_completer.sh',
  50              'bin/aws_bash_completer'],
  51     packages=find_packages(exclude=['tests*']),
  52     package_data={'awscli': ['data/*.json', 'examples/*/*.rst',
  53                              'examples/*/*.txt', 'examples/*/*/*.txt',
  54                              'examples/*/*/*.rst', 'topics/*.rst',
  55                              'topics/*.json']},
  56     install_requires=install_requires,
  57     extras_require={},
  58     license="Apache License 2.0",
  59     classifiers=[
  60         'Development Status :: 5 - Production/Stable',
  61         'Intended Audience :: Developers',
  62         'Intended Audience :: System Administrators',
  63         'Natural Language :: English',
  64         'License :: OSI Approved :: Apache Software License',
  65         'Programming Language :: Python',
  66         'Programming Language :: Python :: 2',
  67         'Programming Language :: Python :: 2.7',
  68         'Programming Language :: Python :: 3',
  69         'Programming Language :: Python :: 3.4',
  70         'Programming Language :: Python :: 3.5',
  71         'Programming Language :: Python :: 3.6',
  72         'Programming Language :: Python :: 3.7',
  73         'Programming Language :: Python :: 3.8',
  74     ],
  75 )
  76 
  77 
  78 if 'py2exe' in sys.argv:
  79     # This will actually give us a py2exe command.
  80     import py2exe
  81     # And we have some py2exe specific options.
  82     setup_options['options'] = {
  83         'py2exe': {
  84             'optimize': 0,
  85             'skip_archive': True,
  86             'dll_excludes': ['crypt32.dll'],
  87             'packages': ['docutils', 'urllib', 'httplib', 'HTMLParser',
  88                          'awscli', 'ConfigParser', 'xml.etree', 'pipes'],
  89         }
  90     }
  91     setup_options['console'] = ['bin/aws']
  92 
  93 
  94 setup(**setup_options)
  95
  ```
  --- 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
  @@ -28,13 +28,14 @@
       'docutils>=0.10,<0.16',
       'rsa>=3.1.2,<=3.5.0',
       's3transfer>=0.3.0,<0.4.0',
  -    'PyYAML>=3.10,<5.3',
   ]
   
   
   if sys.version_info[:2] == (3, 4):
  +    install_requires.append('PyYAML>=3.10,<5.3')
       install_requires.append('colorama>=0.2.5,<0.4.2')
   else:
  +    install_requires.append('PyYAML>=3.10,<5.4')
       install_requires.append('colorama>=0.2.5,<0.4.4')
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -28,13 +28,14 @@\n     'docutils>=0.10,<0.16',\n     'rsa>=3.1.2,<=3.5.0',\n     's3transfer>=0.3.0,<0.4.0',\n-    'PyYAML>=3.10,<5.3',\n ]\n \n \n if sys.version_info[:2] == (3, 4):\n+    install_requires.append('PyYAML>=3.10,<5.3')\n     install_requires.append('colorama>=0.2.5,<0.4.2')\n else:\n+    install_requires.append('PyYAML>=3.10,<5.4')\n     install_requires.append('colorama>=0.2.5,<0.4.4')\n", "issue": "Add support for PyYAML 5.3\nCloses: https://github.com/aws/aws-cli/issues/4828\r\nSigned-off-by: Igor Raits <i.gnatenko.brain@gmail.com>\r\n\r\n*Issue #, if available:*\r\n\r\n*Description of changes:*\r\n\r\n\r\nBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.\r\n\n", "before_files": [{"content": "#!/usr/bin/env python\nimport codecs\nimport os.path\nimport re\nimport sys\n\nfrom setuptools import setup, find_packages\n\n\nhere = os.path.abspath(os.path.dirname(__file__))\n\n\ndef read(*parts):\n    return codecs.open(os.path.join(here, *parts), 'r').read()\n\n\ndef find_version(*file_paths):\n    version_file = read(*file_paths)\n    version_match = re.search(r\"^__version__ = ['\\\"]([^'\\\"]*)['\\\"]\",\n                              version_file, re.M)\n    if version_match:\n        return version_match.group(1)\n    raise RuntimeError(\"Unable to find version string.\")\n\n\ninstall_requires = [\n    'botocore==1.15.10',\n    'docutils>=0.10,<0.16',\n    'rsa>=3.1.2,<=3.5.0',\n    's3transfer>=0.3.0,<0.4.0',\n    'PyYAML>=3.10,<5.3',\n]\n\n\nif sys.version_info[:2] == (3, 4):\n    install_requires.append('colorama>=0.2.5,<0.4.2')\nelse:\n    install_requires.append('colorama>=0.2.5,<0.4.4')\n\n\nsetup_options = dict(\n    name='awscli',\n    version=find_version(\"awscli\", \"__init__.py\"),\n    description='Universal Command Line Environment for AWS.',\n    long_description=read('README.rst'),\n    author='Amazon Web Services',\n    url='http://aws.amazon.com/cli/',\n    scripts=['bin/aws', 'bin/aws.cmd',\n             'bin/aws_completer', 'bin/aws_zsh_completer.sh',\n             'bin/aws_bash_completer'],\n    packages=find_packages(exclude=['tests*']),\n    package_data={'awscli': ['data/*.json', 'examples/*/*.rst',\n                             'examples/*/*.txt', 'examples/*/*/*.txt',\n                             'examples/*/*/*.rst', 'topics/*.rst',\n                             'topics/*.json']},\n    install_requires=install_requires,\n    extras_require={},\n    license=\"Apache License 2.0\",\n    classifiers=[\n        'Development Status :: 5 - Production/Stable',\n        'Intended Audience :: Developers',\n        'Intended Audience :: System Administrators',\n        'Natural Language :: English',\n        'License :: OSI Approved :: Apache Software License',\n        'Programming Language :: Python',\n        'Programming Language :: Python :: 2',\n        'Programming Language :: Python :: 2.7',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.4',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3.8',\n    ],\n)\n\n\nif 'py2exe' in sys.argv:\n    # This will actually give us a py2exe command.\n    import py2exe\n    # And we have some py2exe specific options.\n    setup_options['options'] = {\n        'py2exe': {\n            'optimize': 0,\n            'skip_archive': True,\n            'dll_excludes': ['crypt32.dll'],\n            'packages': ['docutils', 'urllib', 'httplib', 'HTMLParser',\n                         'awscli', 'ConfigParser', 'xml.etree', 'pipes'],\n        }\n    }\n    setup_options['console'] = ['bin/aws']\n\n\nsetup(**setup_options)\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\nimport codecs\nimport os.path\nimport re\nimport sys\n\nfrom setuptools import setup, find_packages\n\n\nhere = os.path.abspath(os.path.dirname(__file__))\n\n\ndef read(*parts):\n    return codecs.open(os.path.join(here, *parts), 'r').read()\n\n\ndef find_version(*file_paths):\n    version_file = read(*file_paths)\n    version_match = re.search(r\"^__version__ = ['\\\"]([^'\\\"]*)['\\\"]\",\n                              version_file, re.M)\n    if version_match:\n        return version_match.group(1)\n    raise RuntimeError(\"Unable to find version string.\")\n\n\ninstall_requires = [\n    'botocore==1.15.10',\n    'docutils>=0.10,<0.16',\n    'rsa>=3.1.2,<=3.5.0',\n    's3transfer>=0.3.0,<0.4.0',\n]\n\n\nif sys.version_info[:2] == (3, 4):\n    install_requires.append('PyYAML>=3.10,<5.3')\n    install_requires.append('colorama>=0.2.5,<0.4.2')\nelse:\n    install_requires.append('PyYAML>=3.10,<5.4')\n    install_requires.append('colorama>=0.2.5,<0.4.4')\n\n\nsetup_options = dict(\n    name='awscli',\n    version=find_version(\"awscli\", \"__init__.py\"),\n    description='Universal Command Line Environment for AWS.',\n    long_description=read('README.rst'),\n    author='Amazon Web Services',\n    url='http://aws.amazon.com/cli/',\n    scripts=['bin/aws', 'bin/aws.cmd',\n             'bin/aws_completer', 'bin/aws_zsh_completer.sh',\n             'bin/aws_bash_completer'],\n    packages=find_packages(exclude=['tests*']),\n    package_data={'awscli': ['data/*.json', 'examples/*/*.rst',\n                             'examples/*/*.txt', 'examples/*/*/*.txt',\n                             'examples/*/*/*.rst', 'topics/*.rst',\n                             'topics/*.json']},\n    install_requires=install_requires,\n    extras_require={},\n    license=\"Apache License 2.0\",\n    classifiers=[\n        'Development Status :: 5 - Production/Stable',\n        'Intended Audience :: Developers',\n        'Intended Audience :: System Administrators',\n        'Natural Language :: English',\n        'License :: OSI Approved :: Apache Software License',\n        'Programming Language :: Python',\n        'Programming Language :: Python :: 2',\n        'Programming Language :: Python :: 2.7',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.4',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3.8',\n    ],\n)\n\n\nif 'py2exe' in sys.argv:\n    # This will actually give us a py2exe command.\n    import py2exe\n    # And we have some py2exe specific options.\n    setup_options['options'] = {\n        'py2exe': {\n            'optimize': 0,\n            'skip_archive': True,\n            'dll_excludes': ['crypt32.dll'],\n            'packages': ['docutils', 'urllib', 'httplib', 'HTMLParser',\n                         'awscli', 'ConfigParser', 'xml.etree', 'pipes'],\n        }\n    }\n    setup_options['console'] = ['bin/aws']\n\n\nsetup(**setup_options)\n", "path": "setup.py"}]}