def __eq__(self, line2):
    "\n        What comes in:\n          -- self\n          -- a Line object\n        What goes out: Returns  True  if:\n             this Line's start point is equal to line2's start point AND\n             this Line's end point is equal to line2's end point.\n           Returns  False  otherwise.\n        Side effects: None.\n        Note:  a == b   is equivalent to  a.__eq__(b).\n\n        Examples:\n            p1 = Point(30, 17)\n            p2 = Point(50, 80)\n\n            line1 = Line(p1, p2)\n            line2 = Line(p1, p2)\n            line3 = Line(p2, p1)\n\n            print(line1 == line1)   # Should print: True\n            print(line1 == line2)   # Should print: True\n            print(line1 == line3)   # Should print: False\n\n            line1.start = Point(0, 0)\n            print(line1 == line2)   # Should now print: False\n\n        Type hints:\n          :type  line2: Line\n          :rtype: bool\n        "
    return ((self.start == line2.start) and (self.end == line2.end))
What comes in:
  -- self
  -- a Line object
What goes out: Returns  True  if:
     this Line's start point is equal to line2's start point AND
     this Line's end point is equal to line2's end point.
   Returns  False  otherwise.
Side effects: None.
Note:  a == b   is equivalent to  a.__eq__(b).

Examples:
    p1 = Point(30, 17)
    p2 = Point(50, 80)

    line1 = Line(p1, p2)
    line2 = Line(p1, p2)
    line3 = Line(p2, p1)

    print(line1 == line1)   # Should print: True
    print(line1 == line2)   # Should print: True
    print(line1 == line3)   # Should print: False

    line1.start = Point(0, 0)
    print(line1 == line2)   # Should now print: False

Type hints:
  :type  line2: Line
  :rtype: bool
def __eq__(self, line2):
    "\n        What comes in:\n          -- self\n          -- a Line object\n        What goes out: Returns  True  if:\n             this Line's start point is equal to line2's start point AND\n             this Line's end point is equal to line2's end point.\n           Returns  False  otherwise.\n        Side effects: None.\n        Note:  a == b   is equivalent to  a.__eq__(b).\n\n        Examples:\n            p1 = Point(30, 17)\n            p2 = Point(50, 80)\n\n            line1 = Line(p1, p2)\n            line2 = Line(p1, p2)\n            line3 = Line(p2, p1)\n\n            print(line1 == line1)   # Should print: True\n            print(line1 == line2)   # Should print: True\n            print(line1 == line3)   # Should print: False\n\n            line1.start = Point(0, 0)\n            print(line1 == line2)   # Should now print: False\n\n        Type hints:\n          :type  line2: Line\n          :rtype: bool\n        "
    return ((self.start == line2.start) and (self.end == line2.end))