def foo():
    if True:
        a = 1
        for (u, v) in range(1):
            if True:
                b = 1

            graph.clear = 0.1
