prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  PRAW installed by pip is missing the `images` directory and its contents
  ## Issue Description
  
  PRAW's video submit method uses a placeholder image as a video thumbnail when the user doesn't provide a thumbnail. Here's the relevant code:
  
  https://github.com/praw-dev/praw/blob/54f8b3f998008b81988aac057d33fe38d5ac7739/praw/models/reddit/subreddit.py#L511-L514
  
  That image is at [`praw/images/PRAW logo.png`](https://github.com/praw-dev/praw/blob/master/praw/images/PRAW%20logo.png). Unfortunately the current release on PyPI is missing the file and the entire `images` directory, so the `submit_video` method fails when another thumbnail isn't provided.
  
  It isn't just the wheel on PyPI that is missing the image. The source tarball is as well.
  
  I suspect that a change to [`MANIFEST.in`](https://github.com/praw-dev/praw/blob/master/MANIFEST.in) might solve this problem. Or maybe not, as [this Stack Overflow answer](https://stackoverflow.com/a/25964691/8033766) suggests that `MANIFEST.in` is just for Python 2.6 and earlier.
  
  Adding an `__init__.py` to the `images` folder would probably [make `find_packages()` in `setup.py`](https://setuptools.readthedocs.io/en/latest/setuptools.html#using-find-packages) notice the folder, but this would be a mis-use of an `__init__.py` since that folder is not a Python package.
  
  [This page](https://docs.python.org/3.3/distutils/setupscript.html#installing-additional-files) suggests using the `data_files` argument in `setup.py`, but I tried that and couldn't get it to work ([branch here](https://github.com/jarhill0/praw/tree/image-upload-fix), [PyPI testing push here](https://test.pypi.org/project/praw/)).
  
  </issue>
  <code>
  [start of setup.py]
  1 """praw setup.py"""
  2 
  3 import re
  4 from codecs import open
  5 from os import path
  6 from setuptools import find_packages, setup
  7 
  8 
  9 PACKAGE_NAME = "praw"
  10 HERE = path.abspath(path.dirname(__file__))
  11 with open(path.join(HERE, "README.rst"), encoding="utf-8") as fp:
  12     README = fp.read()
  13 with open(path.join(HERE, PACKAGE_NAME, "const.py"), encoding="utf-8") as fp:
  14     VERSION = re.search('__version__ = "([^"]+)"', fp.read()).group(1)
  15 
  16 extras = {
  17     "ci": ["coveralls"],
  18     "dev": ["pre-commit"],
  19     "lint": ["black", "flake8", "pydocstyle", "sphinx", "sphinx_rtd_theme"],
  20     "test": [
  21         "betamax >=0.8, <0.9",
  22         "betamax-matchers >=0.3.0, <0.5",
  23         "betamax-serializers >=0.2, <0.3",
  24         "mock >=0.8",
  25         "pytest >=2.7.3",
  26     ],
  27 }
  28 extras["dev"] += extras["lint"] + extras["test"]
  29 
  30 setup(
  31     name=PACKAGE_NAME,
  32     author="Bryce Boe",
  33     author_email="bbzbryce@gmail.com",
  34     python_requires=">=3.5",
  35     classifiers=[
  36         "Development Status :: 5 - Production/Stable",
  37         "Environment :: Console",
  38         "Intended Audience :: Developers",
  39         "License :: OSI Approved :: BSD License",
  40         "Natural Language :: English",
  41         "Operating System :: OS Independent",
  42         "Programming Language :: Python",
  43         "Programming Language :: Python :: 3",
  44         "Programming Language :: Python :: 3.5",
  45         "Programming Language :: Python :: 3.6",
  46         "Programming Language :: Python :: 3.7",
  47         "Programming Language :: Python :: 3.8",
  48         "Topic :: Utilities",
  49     ],
  50     description=(
  51         "PRAW, an acronym for `Python Reddit API Wrapper`, is a "
  52         "python package that allows for simple access to "
  53         "reddit's API."
  54     ),
  55     extras_require=extras,
  56     install_requires=[
  57         "prawcore >=1.0.1, <2.0",
  58         "update_checker >=0.16",
  59         "websocket-client >=0.54.0",
  60     ],
  61     keywords="reddit api wrapper",
  62     license="Simplified BSD License",
  63     long_description=README,
  64     package_data={"": ["LICENSE.txt"], PACKAGE_NAME: ["*.ini"]},
  65     packages=find_packages(exclude=["tests", "tests.*", "tools", "tools.*"]),
  66     url="https://praw.readthedocs.org/",
  67     version=VERSION,
  68 )
  69
  [end of setup.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/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -61,7 +61,10 @@
       keywords="reddit api wrapper",
       license="Simplified BSD License",
       long_description=README,
  -    package_data={"": ["LICENSE.txt"], PACKAGE_NAME: ["*.ini"]},
  +    package_data={
  +        "": ["LICENSE.txt"],
  +        PACKAGE_NAME: ["*.ini", "images/*.jpg"],
  +    },
       packages=find_packages(exclude=["tests", "tests.*", "tools", "tools.*"]),
       url="https://praw.readthedocs.org/",
       version=VERSION,
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -61,7 +61,10 @@\n     keywords=\"reddit api wrapper\",\n     license=\"Simplified BSD License\",\n     long_description=README,\n-    package_data={\"\": [\"LICENSE.txt\"], PACKAGE_NAME: [\"*.ini\"]},\n+    package_data={\n+        \"\": [\"LICENSE.txt\"],\n+        PACKAGE_NAME: [\"*.ini\", \"images/*.jpg\"],\n+    },\n     packages=find_packages(exclude=[\"tests\", \"tests.*\", \"tools\", \"tools.*\"]),\n     url=\"https://praw.readthedocs.org/\",\n     version=VERSION,\n", "issue": "PRAW installed by pip is missing the `images` directory and its contents\n## Issue Description\r\n\r\nPRAW's video submit method uses a placeholder image as a video thumbnail when the user doesn't provide a thumbnail. Here's the relevant code:\r\n\r\nhttps://github.com/praw-dev/praw/blob/54f8b3f998008b81988aac057d33fe38d5ac7739/praw/models/reddit/subreddit.py#L511-L514\r\n\r\nThat image is at [`praw/images/PRAW logo.png`](https://github.com/praw-dev/praw/blob/master/praw/images/PRAW%20logo.png). Unfortunately the current release on PyPI is missing the file and the entire `images` directory, so the `submit_video` method fails when another thumbnail isn't provided.\r\n\r\nIt isn't just the wheel on PyPI that is missing the image. The source tarball is as well.\r\n\r\nI suspect that a change to [`MANIFEST.in`](https://github.com/praw-dev/praw/blob/master/MANIFEST.in) might solve this problem. Or maybe not, as [this Stack Overflow answer](https://stackoverflow.com/a/25964691/8033766) suggests that `MANIFEST.in` is just for Python 2.6 and earlier.\r\n\r\nAdding an `__init__.py` to the `images` folder would probably [make `find_packages()` in `setup.py`](https://setuptools.readthedocs.io/en/latest/setuptools.html#using-find-packages) notice the folder, but this would be a mis-use of an `__init__.py` since that folder is not a Python package.\r\n\r\n[This page](https://docs.python.org/3.3/distutils/setupscript.html#installing-additional-files) suggests using the `data_files` argument in `setup.py`, but I tried that and couldn't get it to work ([branch here](https://github.com/jarhill0/praw/tree/image-upload-fix), [PyPI testing push here](https://test.pypi.org/project/praw/)).\n", "before_files": [{"content": "\"\"\"praw setup.py\"\"\"\n\nimport re\nfrom codecs import open\nfrom os import path\nfrom setuptools import find_packages, setup\n\n\nPACKAGE_NAME = \"praw\"\nHERE = path.abspath(path.dirname(__file__))\nwith open(path.join(HERE, \"README.rst\"), encoding=\"utf-8\") as fp:\n    README = fp.read()\nwith open(path.join(HERE, PACKAGE_NAME, \"const.py\"), encoding=\"utf-8\") as fp:\n    VERSION = re.search('__version__ = \"([^\"]+)\"', fp.read()).group(1)\n\nextras = {\n    \"ci\": [\"coveralls\"],\n    \"dev\": [\"pre-commit\"],\n    \"lint\": [\"black\", \"flake8\", \"pydocstyle\", \"sphinx\", \"sphinx_rtd_theme\"],\n    \"test\": [\n        \"betamax >=0.8, <0.9\",\n        \"betamax-matchers >=0.3.0, <0.5\",\n        \"betamax-serializers >=0.2, <0.3\",\n        \"mock >=0.8\",\n        \"pytest >=2.7.3\",\n    ],\n}\nextras[\"dev\"] += extras[\"lint\"] + extras[\"test\"]\n\nsetup(\n    name=PACKAGE_NAME,\n    author=\"Bryce Boe\",\n    author_email=\"bbzbryce@gmail.com\",\n    python_requires=\">=3.5\",\n    classifiers=[\n        \"Development Status :: 5 - Production/Stable\",\n        \"Environment :: Console\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: BSD License\",\n        \"Natural Language :: English\",\n        \"Operating System :: OS Independent\",\n        \"Programming Language :: Python\",\n        \"Programming Language :: Python :: 3\",\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        \"Topic :: Utilities\",\n    ],\n    description=(\n        \"PRAW, an acronym for `Python Reddit API Wrapper`, is a \"\n        \"python package that allows for simple access to \"\n        \"reddit's API.\"\n    ),\n    extras_require=extras,\n    install_requires=[\n        \"prawcore >=1.0.1, <2.0\",\n        \"update_checker >=0.16\",\n        \"websocket-client >=0.54.0\",\n    ],\n    keywords=\"reddit api wrapper\",\n    license=\"Simplified BSD License\",\n    long_description=README,\n    package_data={\"\": [\"LICENSE.txt\"], PACKAGE_NAME: [\"*.ini\"]},\n    packages=find_packages(exclude=[\"tests\", \"tests.*\", \"tools\", \"tools.*\"]),\n    url=\"https://praw.readthedocs.org/\",\n    version=VERSION,\n)\n", "path": "setup.py"}]}