eaiovnaovbqoebvqoeavibavo  abc@@sjddlmZddlZddlZddlmZmZmZmZm Z defdYZ dS(i(tabsolute_importNi(tLockBaset NotLockedt NotMyLockt LockTimeoutt AlreadyLockedtSymlinkLockFilecB@sMeZdZeddZddZdZdZdZ dZ RS(s'Lock access to a file using symlink(2).cC@s6tj||||tjj|jd|_dS(Ni(Rt__init__tostpathtsplitt unique_name(tselfR tthreadedttimeout((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyR scC@s|dk r|n|j}tj}|dk rL|dkrL||7}nxtrytj|j|jWntk r |j rdS|dk rtj|kr|dkrt d|j qt d|j ntj |dk r|dndqOXdSqOWdS(Nis&Timeout waiting to acquire lock for %ss%s is already lockedi g?(tNoneRttimetTrueRtsymlinkR t lock_filetOSErrort i_am_lockingRR Rtsleep(R Rtend_time((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pytacquires$      'cC@sX|js"td|jn"|jsDtd|jntj|jdS(Ns%s is not lockeds%s is locked, but not by me(t is_lockedRR RRRtunlinkR(R ((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pytrelease6s   cC@stjj|jS(N(RR tislinkR(R ((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyR=scC@s.tjj|jo-tj|j|jkS(N(RR RRtreadlinkR (R ((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyR@scC@s,tjj|jr(tj|jndS(N(RR RRR(R ((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyt break_lockDsN( t__name__t __module__t__doc__RRRRRRRR(((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyR s #   ( t __future__RRRtRRRRRR(((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyts  (