'return a new source object deindented by offset.
If offset is None then guess an indentation offset from
the first non-blank line.  Subsequent lines which have a
lower indentation offset will be copied verbatim as
they are assumed to be part of multilines.'

def deindent(self, offset=None):

    newsource = Source()
    newsource.lines[:] = deindent(self.lines, offset)
    return newsource
