from contextlib import contextmanager
@contextmanager
def context():
print 'open'
yield
print 'close'
def generator():
with context():
for x in xrange(10):
print 'yielding', x
yield x
def f():
for x in generator():
if x == 5:
return
f()
ZnJvbSBjb250ZXh0bGliIGltcG9ydCBjb250ZXh0bWFuYWdlcgoKQGNvbnRleHRtYW5hZ2VyCmRlZiBjb250ZXh0KCk6CiAgICBwcmludCAnb3BlbicKICAgIHlpZWxkCiAgICBwcmludCAnY2xvc2UnCiAgICAKZGVmIGdlbmVyYXRvcigpOgogICAgd2l0aCBjb250ZXh0KCk6CiAgICAgICAgZm9yIHggaW4geHJhbmdlKDEwKToKICAgICAgICAgICAgcHJpbnQgJ3lpZWxkaW5nJywgeAogICAgICAgICAgICB5aWVsZCB4CiAgICAgICAgICAgIApkZWYgZigpOgogICAgZm9yIHggaW4gZ2VuZXJhdG9yKCk6CiAgICAgICAgaWYgeCA9PSA1OiAKICAgICAgICAgICAgcmV0dXJuCiAgICAKZigpCg==