def maxshape(shapes):
    shapes = [shape for shape in shapes if shape]
    if not shapes:
        return ()
    ndim = max(map(len, shapes))
    shapes = [(1,) * (ndim - len(shape)) + shape for shape in shapes]
    for dims in zip(*shapes):
        if len(set(dims) - set([1])) >= 2:
            raise ValueError("Shapes don't align, %s" % str(dims))
    return tuple(map(maxvar, zip(*shapes)))
Response to a SECURE command, starting TLS when necessary, and using a
dataset/ETHPy150Open blaze/blaze/blaze/expr/utils.py/maxshape--crossover with--dataset/ETHPy150Open twisted/vertex/vertex/q2q.py/Q2Q._secure