We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Revisar los `:role:!key`
Cuando hicimos la migración #27 aceptamos `:role:!key` como `:role:key`.

La única diferencia entre ellos es que el que tiene `!` no hace un link a la referencia.

Tenemos que revisar que queden consistentes nuevamente.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `conf.py`
Content:
```
1 # Sphinx configuration file.
2 #
3 #  - import original configurations from cpython/Doc/conf.py
4 #  - append the path considering the cpython submodule is at ./cpython
5 #  - create the symbolic links under ./cpython/locale/es/LC_MESSAGES
6 #  - make the build to work under Read the Docs
7 #
8 # The git submodule was created using this Stack Overflow answer
9 # to fetch only the commit that I needed and avoid clonning the whole history
10 # https://stackoverflow.com/a/27445058
11 #
12 # This can be built locally using `sphinx-build` by running
13 #
14 #   $ sphinx-build -b html -n -d _build/doctrees -D language=es . _build/html
15 
16 import sys, os, time
17 sys.path.append(os.path.abspath('cpython/Doc/tools/extensions'))
18 sys.path.append(os.path.abspath('cpython/Doc/includes'))
19 
20 # Import all the Sphinx settings from cpython
21 sys.path.append(os.path.abspath('cpython/Doc'))
22 from conf import *
23 
24 # Call patchlevel with the proper path to get the version from
25 # instead of hardcoding it
26 import patchlevel
27 version, release = patchlevel.get_header_version_info(os.path.abspath('cpython/Doc'))
28 
29 project = 'Python en Español'
30 copyright = '2001-%s, Python Software Foundation' % time.strftime('%Y')
31 
32 html_theme_path = ['cpython/Doc/tools']
33 templates_path = ['cpython/Doc/tools/templates']
34 html_static_path = ['cpython/Doc/tools/static']
35 
36 os.system('mkdir -p cpython/locales/es/')
37 os.system('ln -nfs `pwd` cpython/locales/es/LC_MESSAGES')
38 
39 
40 if not os.environ.get('SPHINX_GETTEXT') == 'True':
41     # Override all the files from ``.overrides`` directory
42     import glob
43     for root, dirs, files in os.walk('.overrides'):
44         for fname in files:
45             if fname == 'README.rst' and root == '.overrides':
46                 continue
47             destroot = root.replace('.overrides', '').lstrip('/')
48             outputdir = os.path.join(
49                 'cpython',
50                 'Doc',
51                 destroot,
52                 fname,
53             )
54             os.system(f'ln -nfs `pwd`/{root}/{fname} {outputdir}')
55 
56 gettext_compact = False
57 locale_dirs = ['../locales', 'cpython/locales']  # relative to the sourcedir
58 
59 
60 # NOTE: Read the Docs does not support "multi document output".
61 # So, we put all the documentation as a single file for now.
62 _stdauthor = r'Guido van Rossum\\and the Python development team'
63 latex_documents = [
64     ('contents', 'python-docs-es.tex', u'Documentación de Python en Español',
65      _stdauthor, 'manual'),
66 ]
67 
68 def setup(app):
69 
70     def add_contributing_banner(app, doctree):
71         """
72         Insert a banner at the top of the index.
73 
74         This way, we can easily communicate people to help with the translation,
75         pointing them to different resources.
76         """
77 
78         if app.builder.format != 'html':
79             # Do not include the banner when building with other formats
80             # (this is useful when using -b gettext)
81             return
82 
83         from docutils import nodes, core
84 
85         message = '¡Ayúdanos a traducir la documentación oficial de Python al Español! ' \
86         f'Puedes encontrar más información en `Como contribuir </es/{version}/CONTRIBUTING.html>`_.  ' \
87         'Ayuda a acercar Python a más personas de habla hispana.'
88 
89         paragraph = core.publish_doctree(message)[0]
90         banner = nodes.warning(ids=['contributing-banner'])
91         banner.append(paragraph)
92 
93         for document in doctree.traverse(nodes.document):
94             document.insert(0, banner)
95 
96     # Change the sourcedir programmatically because Read the Docs always call it with `.`
97     app.srcdir = 'cpython/Doc'
98 
99     app.connect('doctree-read', add_contributing_banner)
100
```
--- 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/conf.py b/conf.py
--- a/conf.py
+++ b/conf.py
@@ -11,7 +11,7 @@
 #
 # This can be built locally using `sphinx-build` by running
 #
-#   $ sphinx-build -b html -n -d _build/doctrees -D language=es . _build/html
+#   $ sphinx-build -b html -d _build/doctrees -D language=es . _build/html
 
 import sys, os, time
 sys.path.append(os.path.abspath('cpython/Doc/tools/extensions'))
@@ -37,6 +37,12 @@
 os.system('ln -nfs `pwd` cpython/locales/es/LC_MESSAGES')
 
 
+exclude_patterns = [
+    # This file is not included and it not marked as :orphan:
+    'distutils/_setuptools_disclaimer.rst',
+    'README.rst',
+]
+
 if not os.environ.get('SPHINX_GETTEXT') == 'True':
     # Override all the files from ``.overrides`` directory
     import glob

{"golden_diff": "diff --git a/conf.py b/conf.py\n--- a/conf.py\n+++ b/conf.py\n@@ -11,7 +11,7 @@\n #\n # This can be built locally using `sphinx-build` by running\n #\n-#   $ sphinx-build -b html -n -d _build/doctrees -D language=es . _build/html\n+#   $ sphinx-build -b html -d _build/doctrees -D language=es . _build/html\n \n import sys, os, time\n sys.path.append(os.path.abspath('cpython/Doc/tools/extensions'))\n@@ -37,6 +37,12 @@\n os.system('ln -nfs `pwd` cpython/locales/es/LC_MESSAGES')\n \n \n+exclude_patterns = [\n+    # This file is not included and it not marked as :orphan:\n+    'distutils/_setuptools_disclaimer.rst',\n+    'README.rst',\n+]\n+\n if not os.environ.get('SPHINX_GETTEXT') == 'True':\n     # Override all the files from ``.overrides`` directory\n     import glob\n", "issue": "Revisar los `:role:!key`\nCuando hicimos la migraci\u00f3n #27 aceptamos `:role:!key` como `:role:key`.\r\n\r\nLa \u00fanica diferencia entre ellos es que el que tiene `!` no hace un link a la referencia.\r\n\r\nTenemos que revisar que queden consistentes nuevamente.\n", "before_files": [{"content": "# Sphinx configuration file.\n#\n#  - import original configurations from cpython/Doc/conf.py\n#  - append the path considering the cpython submodule is at ./cpython\n#  - create the symbolic links under ./cpython/locale/es/LC_MESSAGES\n#  - make the build to work under Read the Docs\n#\n# The git submodule was created using this Stack Overflow answer\n# to fetch only the commit that I needed and avoid clonning the whole history\n# https://stackoverflow.com/a/27445058\n#\n# This can be built locally using `sphinx-build` by running\n#\n#   $ sphinx-build -b html -n -d _build/doctrees -D language=es . _build/html\n\nimport sys, os, time\nsys.path.append(os.path.abspath('cpython/Doc/tools/extensions'))\nsys.path.append(os.path.abspath('cpython/Doc/includes'))\n\n# Import all the Sphinx settings from cpython\nsys.path.append(os.path.abspath('cpython/Doc'))\nfrom conf import *\n\n# Call patchlevel with the proper path to get the version from\n# instead of hardcoding it\nimport patchlevel\nversion, release = patchlevel.get_header_version_info(os.path.abspath('cpython/Doc'))\n\nproject = 'Python en Espa\u00f1ol'\ncopyright = '2001-%s, Python Software Foundation' % time.strftime('%Y')\n\nhtml_theme_path = ['cpython/Doc/tools']\ntemplates_path = ['cpython/Doc/tools/templates']\nhtml_static_path = ['cpython/Doc/tools/static']\n\nos.system('mkdir -p cpython/locales/es/')\nos.system('ln -nfs `pwd` cpython/locales/es/LC_MESSAGES')\n\n\nif not os.environ.get('SPHINX_GETTEXT') == 'True':\n    # Override all the files from ``.overrides`` directory\n    import glob\n    for root, dirs, files in os.walk('.overrides'):\n        for fname in files:\n            if fname == 'README.rst' and root == '.overrides':\n                continue\n            destroot = root.replace('.overrides', '').lstrip('/')\n            outputdir = os.path.join(\n                'cpython',\n                'Doc',\n                destroot,\n                fname,\n            )\n            os.system(f'ln -nfs `pwd`/{root}/{fname} {outputdir}')\n\ngettext_compact = False\nlocale_dirs = ['../locales', 'cpython/locales']  # relative to the sourcedir\n\n\n# NOTE: Read the Docs does not support \"multi document output\".\n# So, we put all the documentation as a single file for now.\n_stdauthor = r'Guido van Rossum\\\\and the Python development team'\nlatex_documents = [\n    ('contents', 'python-docs-es.tex', u'Documentaci\u00f3n de Python en Espa\u00f1ol',\n     _stdauthor, 'manual'),\n]\n\ndef setup(app):\n\n    def add_contributing_banner(app, doctree):\n        \"\"\"\n        Insert a banner at the top of the index.\n\n        This way, we can easily communicate people to help with the translation,\n        pointing them to different resources.\n        \"\"\"\n\n        if app.builder.format != 'html':\n            # Do not include the banner when building with other formats\n            # (this is useful when using -b gettext)\n            return\n\n        from docutils import nodes, core\n\n        message = '\u00a1Ay\u00fadanos a traducir la documentaci\u00f3n oficial de Python al Espa\u00f1ol! ' \\\n        f'Puedes encontrar m\u00e1s informaci\u00f3n en `Como contribuir </es/{version}/CONTRIBUTING.html>`_.  ' \\\n        'Ayuda a acercar Python a m\u00e1s personas de habla hispana.'\n\n        paragraph = core.publish_doctree(message)[0]\n        banner = nodes.warning(ids=['contributing-banner'])\n        banner.append(paragraph)\n\n        for document in doctree.traverse(nodes.document):\n            document.insert(0, banner)\n\n    # Change the sourcedir programmatically because Read the Docs always call it with `.`\n    app.srcdir = 'cpython/Doc'\n\n    app.connect('doctree-read', add_contributing_banner)\n", "path": "conf.py"}], "after_files": [{"content": "# Sphinx configuration file.\n#\n#  - import original configurations from cpython/Doc/conf.py\n#  - append the path considering the cpython submodule is at ./cpython\n#  - create the symbolic links under ./cpython/locale/es/LC_MESSAGES\n#  - make the build to work under Read the Docs\n#\n# The git submodule was created using this Stack Overflow answer\n# to fetch only the commit that I needed and avoid clonning the whole history\n# https://stackoverflow.com/a/27445058\n#\n# This can be built locally using `sphinx-build` by running\n#\n#   $ sphinx-build -b html -d _build/doctrees -D language=es . _build/html\n\nimport sys, os, time\nsys.path.append(os.path.abspath('cpython/Doc/tools/extensions'))\nsys.path.append(os.path.abspath('cpython/Doc/includes'))\n\n# Import all the Sphinx settings from cpython\nsys.path.append(os.path.abspath('cpython/Doc'))\nfrom conf import *\n\n# Call patchlevel with the proper path to get the version from\n# instead of hardcoding it\nimport patchlevel\nversion, release = patchlevel.get_header_version_info(os.path.abspath('cpython/Doc'))\n\nproject = 'Python en Espa\u00f1ol'\ncopyright = '2001-%s, Python Software Foundation' % time.strftime('%Y')\n\nhtml_theme_path = ['cpython/Doc/tools']\ntemplates_path = ['cpython/Doc/tools/templates']\nhtml_static_path = ['cpython/Doc/tools/static']\n\nos.system('mkdir -p cpython/locales/es/')\nos.system('ln -nfs `pwd` cpython/locales/es/LC_MESSAGES')\n\n\nexclude_patterns = [\n    # This file is not included and it not marked as :orphan:\n    'distutils/_setuptools_disclaimer.rst',\n    'README.rst',\n]\n\nif not os.environ.get('SPHINX_GETTEXT') == 'True':\n    # Override all the files from ``.overrides`` directory\n    import glob\n    for root, dirs, files in os.walk('.overrides'):\n        for fname in files:\n            if fname == 'README.rst' and root == '.overrides':\n                continue\n            destroot = root.replace('.overrides', '').lstrip('/')\n            outputdir = os.path.join(\n                'cpython',\n                'Doc',\n                destroot,\n                fname,\n            )\n            os.system(f'ln -nfs `pwd`/{root}/{fname} {outputdir}')\n\ngettext_compact = False\nlocale_dirs = ['../locales', 'cpython/locales']  # relative to the sourcedir\n\n\n# NOTE: Read the Docs does not support \"multi document output\".\n# So, we put all the documentation as a single file for now.\n_stdauthor = r'Guido van Rossum\\\\and the Python development team'\nlatex_documents = [\n    ('contents', 'python-docs-es.tex', u'Documentaci\u00f3n de Python en Espa\u00f1ol',\n     _stdauthor, 'manual'),\n]\n\ndef setup(app):\n\n    def add_contributing_banner(app, doctree):\n        \"\"\"\n        Insert a banner at the top of the index.\n\n        This way, we can easily communicate people to help with the translation,\n        pointing them to different resources.\n        \"\"\"\n\n        if app.builder.format != 'html':\n            # Do not include the banner when building with other formats\n            # (this is useful when using -b gettext)\n            return\n\n        from docutils import nodes, core\n\n        message = '\u00a1Ay\u00fadanos a traducir la documentaci\u00f3n oficial de Python al Espa\u00f1ol! ' \\\n        f'Puedes encontrar m\u00e1s informaci\u00f3n en `Como contribuir </es/{version}/CONTRIBUTING.html>`_.  ' \\\n        'Ayuda a acercar Python a m\u00e1s personas de habla hispana.'\n\n        paragraph = core.publish_doctree(message)[0]\n        banner = nodes.warning(ids=['contributing-banner'])\n        banner.append(paragraph)\n\n        for document in doctree.traverse(nodes.document):\n            document.insert(0, banner)\n\n    # Change the sourcedir programmatically because Read the Docs always call it with `.`\n    app.srcdir = 'cpython/Doc'\n\n    app.connect('doctree-read', add_contributing_banner)\n", "path": "conf.py"}]}