prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  ME failing since at least 2018-10-25
  ME has been failing since 2018-10-25
  
  Based on automated runs it appears that ME has not run successfully in 2 days (2018-10-25).
  
  
  ```
    loaded Open States pupa settings...
  me (scrape, import)
    bills: {}
  Traceback (most recent call last):
    File "/opt/openstates/venv-pupa//bin/pupa", line 11, in <module>
      load_entry_point('pupa', 'console_scripts', 'pupa')()
    File "/opt/openstates/venv-pupa/src/pupa/pupa/cli/__main__.py", line 68, in main
      subcommands[args.subcommand].handle(args, other)
    File "/opt/openstates/venv-pupa/src/pupa/pupa/cli/commands/update.py", line 260, in handle
      return self.do_handle(args, other, juris)
    File "/opt/openstates/venv-pupa/src/pupa/pupa/cli/commands/update.py", line 301, in do_handle
      self.check_session_list(juris)
    File "/opt/openstates/venv-pupa/src/pupa/pupa/cli/commands/update.py", line 228, in check_session_list
      scraped_sessions = juris.get_session_list()
    File "/opt/openstates/openstates/openstates/me/__init__.py", line 98, in get_session_list
      sessions.remove('jb-Test')
  ValueError: list.remove(x): x not in list
  ```
  
  Visit http://bobsled.openstates.org for more info.
  
  
  </issue>
  <code>
  [start of openstates/me/__init__.py]
  1 from pupa.scrape import Jurisdiction, Organization
  2 from openstates.utils import url_xpath
  3 
  4 from .bills import MEBillScraper
  5 # from .people import MEPersonScraper
  6 # from .committees import MECommitteeScraper
  7 
  8 
  9 class Maine(Jurisdiction):
  10     division_id = "ocd-division/country:us/state:me"
  11     classification = "government"
  12     name = "Maine"
  13     url = "http://legislature.maine.gov"
  14     scrapers = {
  15         'bills': MEBillScraper,
  16         # 'people': MEPersonScraper,
  17         # 'committees': MECommitteeScraper,
  18     }
  19     legislative_sessions = [
  20         {
  21             "_scraped_name": "121st Legislature",
  22             "identifier": "121",
  23             "name": "121st Legislature (2003-2004)"
  24         },
  25         {
  26             "_scraped_name": "122nd Legislature",
  27             "identifier": "122",
  28             "name": "122nd Legislature (2005-2006)"
  29         },
  30         {
  31             "_scraped_name": "123rd Legislature",
  32             "identifier": "123",
  33             "name": "123rd Legislature (2007-2008)"
  34         },
  35         {
  36             "_scraped_name": "124th Legislature",
  37             "identifier": "124",
  38             "name": "124th Legislature (2009-2010)"
  39         },
  40         {
  41             "_scraped_name": "125th Legislature",
  42             "identifier": "125",
  43             "name": "125th Legislature (2011-2012)"
  44         },
  45         {
  46             "_scraped_name": "126th Legislature",
  47             "identifier": "126",
  48             "name": "126th Legislature (2013-2014)"
  49         },
  50         {
  51             "_scraped_name": "127th Legislature",
  52             "identifier": "127",
  53             "name": "127th Legislature (2015-2016)"
  54         },
  55         {
  56             "_scraped_name": "128th Legislature",
  57             "identifier": "128",
  58             "name": "128th Legislature (2017-2018)",
  59             "start_date": "2016-12-07",
  60             "end_date": "2017-06-14",
  61         }
  62     ]
  63     ignored_scraped_sessions = []
  64 
  65     def get_organizations(self):
  66         legislature_name = "Maine Legislature"
  67         lower_chamber_name = "House"
  68         lower_seats = 151
  69         lower_title = "Representative"
  70         upper_chamber_name = "Senate"
  71         upper_seats = 35
  72         upper_title = "Senator"
  73 
  74         legislature = Organization(name=legislature_name,
  75                                    classification="legislature")
  76         upper = Organization(upper_chamber_name, classification='upper',
  77                              parent_id=legislature._id)
  78         lower = Organization(lower_chamber_name, classification='lower',
  79                              parent_id=legislature._id)
  80 
  81         for n in range(1, upper_seats + 1):
  82             upper.add_post(
  83                 label=str(n), role=upper_title,
  84                 division_id='{}/sldu:{}'.format(self.division_id, n))
  85         for n in range(1, lower_seats + 1):
  86             lower.add_post(
  87                 label=str(n), role=lower_title,
  88                 division_id='{}/sldl:{}'.format(self.division_id, n))
  89 
  90         yield legislature
  91         yield Organization(name='Office of the Governor', classification='executive')
  92         yield upper
  93         yield lower
  94 
  95     def get_session_list(self):
  96         sessions = url_xpath('http://www.mainelegislature.org/LawMakerWeb/advancedsearch.asp',
  97                              '//select[@name="LegSession"]/option/text()')
  98         sessions.remove('jb-Test')
  99         sessions.remove('2001-2002')
  100         return sessions
  101
  [end of openstates/me/__init__.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/openstates/me/__init__.py b/openstates/me/__init__.py
  --- a/openstates/me/__init__.py
  +++ b/openstates/me/__init__.py
  @@ -60,7 +60,9 @@
               "end_date": "2017-06-14",
           }
       ]
  -    ignored_scraped_sessions = []
  +    ignored_scraped_sessions = [
  +        '2001-2002'
  +    ]
   
       def get_organizations(self):
           legislature_name = "Maine Legislature"
  @@ -95,6 +97,4 @@
       def get_session_list(self):
           sessions = url_xpath('http://www.mainelegislature.org/LawMakerWeb/advancedsearch.asp',
                                '//select[@name="LegSession"]/option/text()')
  -        sessions.remove('jb-Test')
  -        sessions.remove('2001-2002')
           return sessions
  
verification_info: {"golden_diff": "diff --git a/openstates/me/__init__.py b/openstates/me/__init__.py\n--- a/openstates/me/__init__.py\n+++ b/openstates/me/__init__.py\n@@ -60,7 +60,9 @@\n             \"end_date\": \"2017-06-14\",\n         }\n     ]\n-    ignored_scraped_sessions = []\n+    ignored_scraped_sessions = [\n+        '2001-2002'\n+    ]\n \n     def get_organizations(self):\n         legislature_name = \"Maine Legislature\"\n@@ -95,6 +97,4 @@\n     def get_session_list(self):\n         sessions = url_xpath('http://www.mainelegislature.org/LawMakerWeb/advancedsearch.asp',\n                              '//select[@name=\"LegSession\"]/option/text()')\n-        sessions.remove('jb-Test')\n-        sessions.remove('2001-2002')\n         return sessions\n", "issue": "ME failing since at least 2018-10-25\nME has been failing since 2018-10-25\n\nBased on automated runs it appears that ME has not run successfully in 2 days (2018-10-25).\n\n\n```\n  loaded Open States pupa settings...\nme (scrape, import)\n  bills: {}\nTraceback (most recent call last):\n  File \"/opt/openstates/venv-pupa//bin/pupa\", line 11, in <module>\n    load_entry_point('pupa', 'console_scripts', 'pupa')()\n  File \"/opt/openstates/venv-pupa/src/pupa/pupa/cli/__main__.py\", line 68, in main\n    subcommands[args.subcommand].handle(args, other)\n  File \"/opt/openstates/venv-pupa/src/pupa/pupa/cli/commands/update.py\", line 260, in handle\n    return self.do_handle(args, other, juris)\n  File \"/opt/openstates/venv-pupa/src/pupa/pupa/cli/commands/update.py\", line 301, in do_handle\n    self.check_session_list(juris)\n  File \"/opt/openstates/venv-pupa/src/pupa/pupa/cli/commands/update.py\", line 228, in check_session_list\n    scraped_sessions = juris.get_session_list()\n  File \"/opt/openstates/openstates/openstates/me/__init__.py\", line 98, in get_session_list\n    sessions.remove('jb-Test')\nValueError: list.remove(x): x not in list\n```\n\nVisit http://bobsled.openstates.org for more info.\n\n", "before_files": [{"content": "from pupa.scrape import Jurisdiction, Organization\nfrom openstates.utils import url_xpath\n\nfrom .bills import MEBillScraper\n# from .people import MEPersonScraper\n# from .committees import MECommitteeScraper\n\n\nclass Maine(Jurisdiction):\n    division_id = \"ocd-division/country:us/state:me\"\n    classification = \"government\"\n    name = \"Maine\"\n    url = \"http://legislature.maine.gov\"\n    scrapers = {\n        'bills': MEBillScraper,\n        # 'people': MEPersonScraper,\n        # 'committees': MECommitteeScraper,\n    }\n    legislative_sessions = [\n        {\n            \"_scraped_name\": \"121st Legislature\",\n            \"identifier\": \"121\",\n            \"name\": \"121st Legislature (2003-2004)\"\n        },\n        {\n            \"_scraped_name\": \"122nd Legislature\",\n            \"identifier\": \"122\",\n            \"name\": \"122nd Legislature (2005-2006)\"\n        },\n        {\n            \"_scraped_name\": \"123rd Legislature\",\n            \"identifier\": \"123\",\n            \"name\": \"123rd Legislature (2007-2008)\"\n        },\n        {\n            \"_scraped_name\": \"124th Legislature\",\n            \"identifier\": \"124\",\n            \"name\": \"124th Legislature (2009-2010)\"\n        },\n        {\n            \"_scraped_name\": \"125th Legislature\",\n            \"identifier\": \"125\",\n            \"name\": \"125th Legislature (2011-2012)\"\n        },\n        {\n            \"_scraped_name\": \"126th Legislature\",\n            \"identifier\": \"126\",\n            \"name\": \"126th Legislature (2013-2014)\"\n        },\n        {\n            \"_scraped_name\": \"127th Legislature\",\n            \"identifier\": \"127\",\n            \"name\": \"127th Legislature (2015-2016)\"\n        },\n        {\n            \"_scraped_name\": \"128th Legislature\",\n            \"identifier\": \"128\",\n            \"name\": \"128th Legislature (2017-2018)\",\n            \"start_date\": \"2016-12-07\",\n            \"end_date\": \"2017-06-14\",\n        }\n    ]\n    ignored_scraped_sessions = []\n\n    def get_organizations(self):\n        legislature_name = \"Maine Legislature\"\n        lower_chamber_name = \"House\"\n        lower_seats = 151\n        lower_title = \"Representative\"\n        upper_chamber_name = \"Senate\"\n        upper_seats = 35\n        upper_title = \"Senator\"\n\n        legislature = Organization(name=legislature_name,\n                                   classification=\"legislature\")\n        upper = Organization(upper_chamber_name, classification='upper',\n                             parent_id=legislature._id)\n        lower = Organization(lower_chamber_name, classification='lower',\n                             parent_id=legislature._id)\n\n        for n in range(1, upper_seats + 1):\n            upper.add_post(\n                label=str(n), role=upper_title,\n                division_id='{}/sldu:{}'.format(self.division_id, n))\n        for n in range(1, lower_seats + 1):\n            lower.add_post(\n                label=str(n), role=lower_title,\n                division_id='{}/sldl:{}'.format(self.division_id, n))\n\n        yield legislature\n        yield Organization(name='Office of the Governor', classification='executive')\n        yield upper\n        yield lower\n\n    def get_session_list(self):\n        sessions = url_xpath('http://www.mainelegislature.org/LawMakerWeb/advancedsearch.asp',\n                             '//select[@name=\"LegSession\"]/option/text()')\n        sessions.remove('jb-Test')\n        sessions.remove('2001-2002')\n        return sessions\n", "path": "openstates/me/__init__.py"}]}