def big_bounding_box(paths_n_stuff):
bbs = []<EOL>for thing in paths_n_stuff:<EOL><INDENT>if is_path_segment(thing) or isinstance(thing, Path):<EOL><INDENT>bbs.append(thing.bbox())<EOL><DEDENT>elif isinstance(thing, complex):<EOL><INDENT>bbs.append((thing.real, thing.real, thing.imag, thing.imag))<EOL><DEDENT>else:<EOL><INDENT>try:<EOL><INDENT>complexthing = complex(thing)<EOL>bbs.append((complexthing.real, complexthing.real,<EOL>complexthing.imag, complexthing.imag))<EOL><DEDENT>except ValueError:<EOL><INDENT>raise TypeError(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT><DEDENT><DEDENT>xmins, xmaxs, ymins, ymaxs = list(zip(*bbs))<EOL>xmin = min(xmins)<EOL>xmax = max(xmaxs)<EOL>ymin = min(ymins)<EOL>ymax = max(ymaxs)<EOL>return xmin, xmax, ymin, ymax<EOL>
Finds a BB containing a collection of paths, Bezier path segments, and
    points (given as complex numbers).