prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Stop using Read the Docs
  Having ads in the manual is extraordinarily tacky. We should probably just host the web versions of Hy and Hyrule's manuals on Arfer.net, where I also host [the new Hylang.org](http://hylang.org). For simplicity, we can serve only the stable release of the manual. We would then just rebuild it as part of the release process.
  
  </issue>
  <code>
  [start of docs/conf.py]
  1 # This file is execfile()d with the current directory set to its containing dir.
  2 
  3 import html
  4 import os
  5 import re
  6 import sys
  7 import time
  8 
  9 sys.path.insert(0, os.path.abspath(".."))
  10 
  11 extensions = [
  12     "sphinx.ext.napoleon",
  13     "sphinx.ext.intersphinx",
  14     "sphinx.ext.autodoc",
  15     "sphinx.ext.viewcode",
  16     "sphinxcontrib.hydomain",
  17 ]
  18 
  19 import warnings; import sphinx.deprecation as SD
  20 for c in (SD.RemovedInSphinx60Warning, SD.RemovedInSphinx70Warning):
  21     warnings.filterwarnings('ignore', category = c)
  22 
  23 from get_version import __version__ as hy_version
  24 
  25 # Read the Docs might dirty its checkout, so strip the dirty flag.
  26 hy_version = re.sub(r"[+.]dirty\Z", "", hy_version)
  27 
  28 templates_path = ["_templates"]
  29 source_suffix = ".rst"
  30 
  31 master_doc = "index"
  32 
  33 # General information about the project.
  34 project = "hy"
  35 copyright = "%s the authors" % time.strftime("%Y")
  36 
  37 # The version info for the project you're documenting, acts as replacement for
  38 # |version| and |release|, also used in various other places throughout the
  39 # built documents.
  40 #
  41 # The short X.Y version.
  42 version = ".".join(hy_version.split(".")[:-1])
  43 # The full version, including alpha/beta/rc tags.
  44 release = hy_version
  45 hy_descriptive_version = html.escape(hy_version)
  46 if "+" in hy_version:
  47     hy_descriptive_version += " <strong style='color: red;'>(unstable)</strong>"
  48 
  49 exclude_patterns = ["_build", "coreteam.rst"]
  50 add_module_names = True
  51 
  52 pygments_style = "sphinx"
  53 
  54 import sphinx_rtd_theme
  55 
  56 html_theme = "sphinx_rtd_theme"
  57 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
  58 
  59 # Add any paths that contain custom static files (such as style sheets) here,
  60 # relative to this directory. They are copied after the builtin static files,
  61 # so a file named "default.css" will overwrite the builtin "default.css".
  62 html_static_path = ["_static"]
  63 
  64 html_use_smartypants = False
  65 html_show_sphinx = False
  66 
  67 html_context = dict(
  68     hy_descriptive_version=hy_descriptive_version)
  69 
  70 highlight_language = "hylang"
  71 
  72 intersphinx_mapping = dict(
  73     py=("https://docs.python.org/3/", None),
  74     hyrule=("https://hyrule.readthedocs.io/en/master/", None),
  75 )
  76 
  77 import hy
  78 hy.I = type(hy.I)  # A trick to enable `hy:autoclass:: hy.I`
  79 
  80 
  81 # ** Sphinx App Setup
  82 
  83 
  84 def setup(app):
  85     app.add_css_file("overrides.css")
  86
  [end of docs/conf.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/docs/conf.py b/docs/conf.py
  --- a/docs/conf.py
  +++ b/docs/conf.py
  @@ -1,20 +1,14 @@
  -# This file is execfile()d with the current directory set to its containing dir.
  +import os, re, sys, time, html
   
  -import html
  -import os
  -import re
  -import sys
  -import time
  +sys.path.insert(0, os.path.abspath('..'))
   
  -sys.path.insert(0, os.path.abspath(".."))
  +import hy; hy.I = type(hy.I)  # A trick to enable `hy:autoclass:: hy.I`
   
   extensions = [
  -    "sphinx.ext.napoleon",
  -    "sphinx.ext.intersphinx",
  -    "sphinx.ext.autodoc",
  -    "sphinx.ext.viewcode",
  -    "sphinxcontrib.hydomain",
  -]
  +    'sphinx.ext.napoleon',
  +    'sphinx.ext.intersphinx',
  +    'sphinx.ext.autodoc',
  +    'sphinxcontrib.hydomain']
   
   import warnings; import sphinx.deprecation as SD
   for c in (SD.RemovedInSphinx60Warning, SD.RemovedInSphinx70Warning):
  @@ -22,64 +16,33 @@
   
   from get_version import __version__ as hy_version
   
  -# Read the Docs might dirty its checkout, so strip the dirty flag.
  -hy_version = re.sub(r"[+.]dirty\Z", "", hy_version)
  -
  -templates_path = ["_templates"]
  -source_suffix = ".rst"
  -
  -master_doc = "index"
  -
  -# General information about the project.
  -project = "hy"
  -copyright = "%s the authors" % time.strftime("%Y")
  -
  -# The version info for the project you're documenting, acts as replacement for
  -# |version| and |release|, also used in various other places throughout the
  -# built documents.
  -#
  -# The short X.Y version.
  -version = ".".join(hy_version.split(".")[:-1])
  -# The full version, including alpha/beta/rc tags.
  +project = 'Hy'
  +copyright = '%s the authors' % time.strftime('%Y')
  +html_title = f'Hy {hy_version} manual'
  +version = '.'.join(hy_version.split('.')[:-1])
  +  # The short dotted version identifier
   release = hy_version
  -hy_descriptive_version = html.escape(hy_version)
  -if "+" in hy_version:
  -    hy_descriptive_version += " <strong style='color: red;'>(unstable)</strong>"
  -
  -exclude_patterns = ["_build", "coreteam.rst"]
  -add_module_names = True
  -
  -pygments_style = "sphinx"
  -
  -import sphinx_rtd_theme
  -
  -html_theme = "sphinx_rtd_theme"
  -html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
  -
  -# Add any paths that contain custom static files (such as style sheets) here,
  -# relative to this directory. They are copied after the builtin static files,
  -# so a file named "default.css" will overwrite the builtin "default.css".
  -html_static_path = ["_static"]
  -
  +  # The full version identifier, including alpha, beta, and RC tags
  +
  +source_suffix = '.rst'
  +master_doc = 'index'
  +exclude_patterns = ['_build', 'coreteam.rst']
  +
  +html_theme = 'nature'
  +html_theme_options = dict(
  +    nosidebar = True,
  +    body_min_width = 0,
  +    body_max_width = 'none')
  +html_css_files = ['custom.css']
  +html_static_path = ['_static']
   html_use_smartypants = False
  +html_copy_source = False
   html_show_sphinx = False
   
  -html_context = dict(
  -    hy_descriptive_version=hy_descriptive_version)
  +add_module_names = True
   
  -highlight_language = "hylang"
  +highlight_language = 'hylang'
   
   intersphinx_mapping = dict(
  -    py=("https://docs.python.org/3/", None),
  -    hyrule=("https://hyrule.readthedocs.io/en/master/", None),
  -)
  -
  -import hy
  -hy.I = type(hy.I)  # A trick to enable `hy:autoclass:: hy.I`
  -
  -
  -# ** Sphinx App Setup
  -
  -
  -def setup(app):
  -    app.add_css_file("overrides.css")
  +    py = ('https://docs.python.org/3/', None),
  +    hyrule = ('https://hyrule.readthedocs.io/en/master/', None))
  
verification_info: {"golden_diff": "diff --git a/docs/conf.py b/docs/conf.py\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -1,20 +1,14 @@\n-# This file is execfile()d with the current directory set to its containing dir.\n+import os, re, sys, time, html\n \n-import html\n-import os\n-import re\n-import sys\n-import time\n+sys.path.insert(0, os.path.abspath('..'))\n \n-sys.path.insert(0, os.path.abspath(\"..\"))\n+import hy; hy.I = type(hy.I)  # A trick to enable `hy:autoclass:: hy.I`\n \n extensions = [\n-    \"sphinx.ext.napoleon\",\n-    \"sphinx.ext.intersphinx\",\n-    \"sphinx.ext.autodoc\",\n-    \"sphinx.ext.viewcode\",\n-    \"sphinxcontrib.hydomain\",\n-]\n+    'sphinx.ext.napoleon',\n+    'sphinx.ext.intersphinx',\n+    'sphinx.ext.autodoc',\n+    'sphinxcontrib.hydomain']\n \n import warnings; import sphinx.deprecation as SD\n for c in (SD.RemovedInSphinx60Warning, SD.RemovedInSphinx70Warning):\n@@ -22,64 +16,33 @@\n \n from get_version import __version__ as hy_version\n \n-# Read the Docs might dirty its checkout, so strip the dirty flag.\n-hy_version = re.sub(r\"[+.]dirty\\Z\", \"\", hy_version)\n-\n-templates_path = [\"_templates\"]\n-source_suffix = \".rst\"\n-\n-master_doc = \"index\"\n-\n-# General information about the project.\n-project = \"hy\"\n-copyright = \"%s the authors\" % time.strftime(\"%Y\")\n-\n-# The version info for the project you're documenting, acts as replacement for\n-# |version| and |release|, also used in various other places throughout the\n-# built documents.\n-#\n-# The short X.Y version.\n-version = \".\".join(hy_version.split(\".\")[:-1])\n-# The full version, including alpha/beta/rc tags.\n+project = 'Hy'\n+copyright = '%s the authors' % time.strftime('%Y')\n+html_title = f'Hy {hy_version} manual'\n+version = '.'.join(hy_version.split('.')[:-1])\n+  # The short dotted version identifier\n release = hy_version\n-hy_descriptive_version = html.escape(hy_version)\n-if \"+\" in hy_version:\n-    hy_descriptive_version += \" <strong style='color: red;'>(unstable)</strong>\"\n-\n-exclude_patterns = [\"_build\", \"coreteam.rst\"]\n-add_module_names = True\n-\n-pygments_style = \"sphinx\"\n-\n-import sphinx_rtd_theme\n-\n-html_theme = \"sphinx_rtd_theme\"\n-html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]\n-\n-# Add any paths that contain custom static files (such as style sheets) here,\n-# relative to this directory. They are copied after the builtin static files,\n-# so a file named \"default.css\" will overwrite the builtin \"default.css\".\n-html_static_path = [\"_static\"]\n-\n+  # The full version identifier, including alpha, beta, and RC tags\n+\n+source_suffix = '.rst'\n+master_doc = 'index'\n+exclude_patterns = ['_build', 'coreteam.rst']\n+\n+html_theme = 'nature'\n+html_theme_options = dict(\n+    nosidebar = True,\n+    body_min_width = 0,\n+    body_max_width = 'none')\n+html_css_files = ['custom.css']\n+html_static_path = ['_static']\n html_use_smartypants = False\n+html_copy_source = False\n html_show_sphinx = False\n \n-html_context = dict(\n-    hy_descriptive_version=hy_descriptive_version)\n+add_module_names = True\n \n-highlight_language = \"hylang\"\n+highlight_language = 'hylang'\n \n intersphinx_mapping = dict(\n-    py=(\"https://docs.python.org/3/\", None),\n-    hyrule=(\"https://hyrule.readthedocs.io/en/master/\", None),\n-)\n-\n-import hy\n-hy.I = type(hy.I)  # A trick to enable `hy:autoclass:: hy.I`\n-\n-\n-# ** Sphinx App Setup\n-\n-\n-def setup(app):\n-    app.add_css_file(\"overrides.css\")\n+    py = ('https://docs.python.org/3/', None),\n+    hyrule = ('https://hyrule.readthedocs.io/en/master/', None))\n", "issue": "Stop using Read the Docs\nHaving ads in the manual is extraordinarily tacky. We should probably just host the web versions of Hy and Hyrule's manuals on Arfer.net, where I also host [the new Hylang.org](http://hylang.org). For simplicity, we can serve only the stable release of the manual. We would then just rebuild it as part of the release process.\n", "before_files": [{"content": "# This file is execfile()d with the current directory set to its containing dir.\n\nimport html\nimport os\nimport re\nimport sys\nimport time\n\nsys.path.insert(0, os.path.abspath(\"..\"))\n\nextensions = [\n    \"sphinx.ext.napoleon\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.viewcode\",\n    \"sphinxcontrib.hydomain\",\n]\n\nimport warnings; import sphinx.deprecation as SD\nfor c in (SD.RemovedInSphinx60Warning, SD.RemovedInSphinx70Warning):\n    warnings.filterwarnings('ignore', category = c)\n\nfrom get_version import __version__ as hy_version\n\n# Read the Docs might dirty its checkout, so strip the dirty flag.\nhy_version = re.sub(r\"[+.]dirty\\Z\", \"\", hy_version)\n\ntemplates_path = [\"_templates\"]\nsource_suffix = \".rst\"\n\nmaster_doc = \"index\"\n\n# General information about the project.\nproject = \"hy\"\ncopyright = \"%s the authors\" % time.strftime(\"%Y\")\n\n# The version info for the project you're documenting, acts as replacement for\n# |version| and |release|, also used in various other places throughout the\n# built documents.\n#\n# The short X.Y version.\nversion = \".\".join(hy_version.split(\".\")[:-1])\n# The full version, including alpha/beta/rc tags.\nrelease = hy_version\nhy_descriptive_version = html.escape(hy_version)\nif \"+\" in hy_version:\n    hy_descriptive_version += \" <strong style='color: red;'>(unstable)</strong>\"\n\nexclude_patterns = [\"_build\", \"coreteam.rst\"]\nadd_module_names = True\n\npygments_style = \"sphinx\"\n\nimport sphinx_rtd_theme\n\nhtml_theme = \"sphinx_rtd_theme\"\nhtml_theme_path = [sphinx_rtd_theme.get_html_theme_path()]\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\nhtml_use_smartypants = False\nhtml_show_sphinx = False\n\nhtml_context = dict(\n    hy_descriptive_version=hy_descriptive_version)\n\nhighlight_language = \"hylang\"\n\nintersphinx_mapping = dict(\n    py=(\"https://docs.python.org/3/\", None),\n    hyrule=(\"https://hyrule.readthedocs.io/en/master/\", None),\n)\n\nimport hy\nhy.I = type(hy.I)  # A trick to enable `hy:autoclass:: hy.I`\n\n\n# ** Sphinx App Setup\n\n\ndef setup(app):\n    app.add_css_file(\"overrides.css\")\n", "path": "docs/conf.py"}]}