prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Update MANIFEST.in
  Clean up and make sure `sdist` contains all needed files.
  
  </issue>
  <code>
  [start of setup.py]
  1 #  python-holidays
  2 #  ---------------
  3 #  A fast, efficient Python library for generating country, province and state
  4 #  specific sets of holidays on the fly. It aims to make determining whether a
  5 #  specific date is a holiday as fast and flexible as possible.
  6 #
  7 #  Authors: dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
  8 #           ryanss <ryanssdev@icloud.com> (c) 2014-2017
  9 #  Website: https://github.com/dr-prodigy/python-holidays
  10 #  License: MIT (see LICENSE file)
  11 
  12 import os
  13 import subprocess
  14 import sys
  15 from pathlib import Path
  16 
  17 from setuptools import setup
  18 
  19 
  20 def generate_mo_files():
  21     """Looks up for .po files and generates respective .mo files."""
  22     for po_path in Path(os.path.join("holidays", "locale")).rglob("*.po"):
  23         po_file = str(po_path)
  24         mo_file = po_file.replace(".po", ".mo")
  25 
  26         if os.path.exists(mo_file):
  27             os.unlink(mo_file)
  28         subprocess.run(
  29             (
  30                 sys.executable,
  31                 os.path.join("scripts", "l10n", "msgfmt.py"),
  32                 "-o",
  33                 mo_file,
  34                 po_file,
  35             ),
  36             check=True,
  37         )
  38 
  39 
  40 if __name__ == "__main__":
  41     generate_mo_files()
  42     setup()
  43
  [end of setup.py]
  [start of scripts/l10n/generate_mo_files.py]
  1 #!/usr/bin/env python3
  2 
  3 #  python-holidays
  4 #  ---------------
  5 #  A fast, efficient Python library for generating country, province and state
  6 #  specific sets of holidays on the fly. It aims to make determining whether a
  7 #  specific date is a holiday as fast and flexible as possible.
  8 #
  9 #  Authors: dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
  10 #           ryanss <ryanssdev@icloud.com> (c) 2014-2017
  11 #  Website: https://github.com/dr-prodigy/python-holidays
  12 #  License: MIT (see LICENSE file)
  13 
  14 import os
  15 import subprocess
  16 import sys
  17 from pathlib import Path
  18 
  19 
  20 class MOGenerator:
  21     """Creates .mo files for supported country/market entities."""
  22 
  23     def run(self):
  24         """Runs the .mo files generation process."""
  25         # Delete old files.
  26         for mo_file in Path(os.path.join("holidays", "locale")).rglob("*.mo"):
  27             os.unlink(str(mo_file))
  28 
  29         # Create new files.
  30         for po_path in Path(os.path.join("holidays", "locale")).rglob("*.po"):
  31             po_file = str(po_path)
  32             mo_file = po_file.replace(".po", ".mo")
  33             subprocess.run(
  34                 (
  35                     sys.executable,
  36                     os.path.join("scripts", "l10n", "msgfmt.py"),
  37                     "-o",
  38                     mo_file,
  39                     po_file,
  40                 ),
  41                 check=True,
  42             )
  43 
  44 
  45 if __name__ == "__main__":
  46     MOGenerator().run()
  47
  [end of scripts/l10n/generate_mo_files.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/scripts/l10n/generate_mo_files.py b/scripts/l10n/generate_mo_files.py
  --- a/scripts/l10n/generate_mo_files.py
  +++ b/scripts/l10n/generate_mo_files.py
  @@ -22,14 +22,12 @@
   
       def run(self):
           """Runs the .mo files generation process."""
  -        # Delete old files.
  -        for mo_file in Path(os.path.join("holidays", "locale")).rglob("*.mo"):
  -            os.unlink(str(mo_file))
  -
  -        # Create new files.
           for po_path in Path(os.path.join("holidays", "locale")).rglob("*.po"):
               po_file = str(po_path)
               mo_file = po_file.replace(".po", ".mo")
  +
  +            if os.path.exists(mo_file):
  +                os.unlink(mo_file)
               subprocess.run(
                   (
                       sys.executable,
  diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -9,34 +9,7 @@
   #  Website: https://github.com/dr-prodigy/python-holidays
   #  License: MIT (see LICENSE file)
   
  -import os
  -import subprocess
  -import sys
  -from pathlib import Path
  -
   from setuptools import setup
   
  -
  -def generate_mo_files():
  -    """Looks up for .po files and generates respective .mo files."""
  -    for po_path in Path(os.path.join("holidays", "locale")).rglob("*.po"):
  -        po_file = str(po_path)
  -        mo_file = po_file.replace(".po", ".mo")
  -
  -        if os.path.exists(mo_file):
  -            os.unlink(mo_file)
  -        subprocess.run(
  -            (
  -                sys.executable,
  -                os.path.join("scripts", "l10n", "msgfmt.py"),
  -                "-o",
  -                mo_file,
  -                po_file,
  -            ),
  -            check=True,
  -        )
  -
  -
   if __name__ == "__main__":
  -    generate_mo_files()
       setup()
  
verification_info: {"golden_diff": "diff --git a/scripts/l10n/generate_mo_files.py b/scripts/l10n/generate_mo_files.py\n--- a/scripts/l10n/generate_mo_files.py\n+++ b/scripts/l10n/generate_mo_files.py\n@@ -22,14 +22,12 @@\n \n     def run(self):\n         \"\"\"Runs the .mo files generation process.\"\"\"\n-        # Delete old files.\n-        for mo_file in Path(os.path.join(\"holidays\", \"locale\")).rglob(\"*.mo\"):\n-            os.unlink(str(mo_file))\n-\n-        # Create new files.\n         for po_path in Path(os.path.join(\"holidays\", \"locale\")).rglob(\"*.po\"):\n             po_file = str(po_path)\n             mo_file = po_file.replace(\".po\", \".mo\")\n+\n+            if os.path.exists(mo_file):\n+                os.unlink(mo_file)\n             subprocess.run(\n                 (\n                     sys.executable,\ndiff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -9,34 +9,7 @@\n #  Website: https://github.com/dr-prodigy/python-holidays\n #  License: MIT (see LICENSE file)\n \n-import os\n-import subprocess\n-import sys\n-from pathlib import Path\n-\n from setuptools import setup\n \n-\n-def generate_mo_files():\n-    \"\"\"Looks up for .po files and generates respective .mo files.\"\"\"\n-    for po_path in Path(os.path.join(\"holidays\", \"locale\")).rglob(\"*.po\"):\n-        po_file = str(po_path)\n-        mo_file = po_file.replace(\".po\", \".mo\")\n-\n-        if os.path.exists(mo_file):\n-            os.unlink(mo_file)\n-        subprocess.run(\n-            (\n-                sys.executable,\n-                os.path.join(\"scripts\", \"l10n\", \"msgfmt.py\"),\n-                \"-o\",\n-                mo_file,\n-                po_file,\n-            ),\n-            check=True,\n-        )\n-\n-\n if __name__ == \"__main__\":\n-    generate_mo_files()\n     setup()\n", "issue": "Update MANIFEST.in\nClean up and make sure `sdist` contains all needed files.\n", "before_files": [{"content": "#  python-holidays\n#  ---------------\n#  A fast, efficient Python library for generating country, province and state\n#  specific sets of holidays on the fly. It aims to make determining whether a\n#  specific date is a holiday as fast and flexible as possible.\n#\n#  Authors: dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023\n#           ryanss <ryanssdev@icloud.com> (c) 2014-2017\n#  Website: https://github.com/dr-prodigy/python-holidays\n#  License: MIT (see LICENSE file)\n\nimport os\nimport subprocess\nimport sys\nfrom pathlib import Path\n\nfrom setuptools import setup\n\n\ndef generate_mo_files():\n    \"\"\"Looks up for .po files and generates respective .mo files.\"\"\"\n    for po_path in Path(os.path.join(\"holidays\", \"locale\")).rglob(\"*.po\"):\n        po_file = str(po_path)\n        mo_file = po_file.replace(\".po\", \".mo\")\n\n        if os.path.exists(mo_file):\n            os.unlink(mo_file)\n        subprocess.run(\n            (\n                sys.executable,\n                os.path.join(\"scripts\", \"l10n\", \"msgfmt.py\"),\n                \"-o\",\n                mo_file,\n                po_file,\n            ),\n            check=True,\n        )\n\n\nif __name__ == \"__main__\":\n    generate_mo_files()\n    setup()\n", "path": "setup.py"}, {"content": "#!/usr/bin/env python3\n\n#  python-holidays\n#  ---------------\n#  A fast, efficient Python library for generating country, province and state\n#  specific sets of holidays on the fly. It aims to make determining whether a\n#  specific date is a holiday as fast and flexible as possible.\n#\n#  Authors: dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023\n#           ryanss <ryanssdev@icloud.com> (c) 2014-2017\n#  Website: https://github.com/dr-prodigy/python-holidays\n#  License: MIT (see LICENSE file)\n\nimport os\nimport subprocess\nimport sys\nfrom pathlib import Path\n\n\nclass MOGenerator:\n    \"\"\"Creates .mo files for supported country/market entities.\"\"\"\n\n    def run(self):\n        \"\"\"Runs the .mo files generation process.\"\"\"\n        # Delete old files.\n        for mo_file in Path(os.path.join(\"holidays\", \"locale\")).rglob(\"*.mo\"):\n            os.unlink(str(mo_file))\n\n        # Create new files.\n        for po_path in Path(os.path.join(\"holidays\", \"locale\")).rglob(\"*.po\"):\n            po_file = str(po_path)\n            mo_file = po_file.replace(\".po\", \".mo\")\n            subprocess.run(\n                (\n                    sys.executable,\n                    os.path.join(\"scripts\", \"l10n\", \"msgfmt.py\"),\n                    \"-o\",\n                    mo_file,\n                    po_file,\n                ),\n                check=True,\n            )\n\n\nif __name__ == \"__main__\":\n    MOGenerator().run()\n", "path": "scripts/l10n/generate_mo_files.py"}]}