code: def _find_bounds(py_line_no, py_by_line_no, cheetah_by_line_no):
      
      # Find lower bound
      for line_no in range(py_line_no, 0, -1):
          lower_bound = _get_line_no_from_comments(py_by_line_no[line_no])
          if lower_bound != 0:
              break
      else:
          lower_bound = 0
  
      # Find upper bound
      for line_no in range(py_line_no, len(py_by_line_no)):
          upper_bound = _get_line_no_from_comments(py_by_line_no[line_no])
          if upper_bound != 0:
              # Since we'll eventually be building a range(), let's make this
              # the non-inclusive upper-bound
              upper_bound += 1
              break
      else:
          upper_bound = len(cheetah_by_line_no)
  
      return lower_bound, upper_bound
docs: Searches before and after in the python source to find comments which
      denote cheetah line numbers.  If a lower bound is not found, 0 is
      substituted.  If an upper bound is not found, len(cheetah lines) is
      returned.  The result is a lower-inclusive upper-exclusive range:
      [..., ...)