ó
    �2¨j  ã                   ó*  • S r SSKrSSKr\R                  S:X  a  SSKrSrSrSr\R                  r	OM\R                  S:X  a5  SSK
r
\
R
                  r\
R                  r\
R                  r\
R                  r	O\" S5      e " S	 S
\R                  5      rg)ag  Locking constants.

Lock types:

- `EXCLUSIVE` exclusive lock
- `SHARED` shared lock. Note: on Windows this requires the optional
  ``pywin32`` package (``pip install "portalocker[win32]"``); without it,
  acquiring a shared lock raises ``ImportError``.

Lock flags:

- `NON_BLOCKING` non-blocking

Manually unlock, only needed internally

- `UNBLOCK` unlock
é    NÚnté   é   é   Úposixz3PortaLocker only defined for nt and posix platformsc                   ó(   • \ rS rSrSr\r\r\	r
\rSrg)Ú	LockFlagsé:   aò  Flags selecting how `portalocker.lock` acquires a file lock.

Members combine with the bitwise ``|`` operator to build up the
behavior you want. The library's own default, used when no `flags`
argument is given, is ``LockFlags.EXCLUSIVE | LockFlags.NON_BLOCKING``:
take an exclusive lock and fail immediately rather than wait.

On POSIX platforms these map onto ``fcntl`` locks, which are
advisory: the OS only enforces them against other processes that
also lock the file through ``fcntl``/``flock``. A process that opens
and writes the file without locking it is never blocked. On Windows
they map onto ``msvcrt`` locks, except `SHARED`, which requires the
optional ``pywin32`` package (``pip install "portalocker[win32]"``);
without it, acquiring a shared lock raises `ImportError`.

Example:
    >>> import portalocker
    >>> flags = (
    ...     portalocker.LockFlags.EXCLUSIVE
    ...     | portalocker.LockFlags.NON_BLOCKING
    ... )
    >>> bool(flags & portalocker.LockFlags.NON_BLOCKING)
    True
© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚLOCK_EXÚ	EXCLUSIVEÚLOCK_SHÚSHAREDÚLOCK_NBÚNON_BLOCKINGÚLOCK_UNÚUNBLOCKÚ__static_attributes__r   ó    Ú£C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\portalocker/constants.pyr	   r	   :   s#   † ñð: €Ið €Fð €Lð ƒGr   r	   )r   ÚenumÚosÚnameÚmsvcrtr   r   r   ÚLK_UNLCKr   ÚfcntlÚRuntimeErrorÚIntFlagr	   r   r   r   Ú<module>r$      s�   ðñó, Û 	ð ‡7�7ˆdƒ?Ûð €Gà€Gà€Gà�o‰o�Gà‡W�W�ÓÛð �m‰m€Gà�m‰m€Gà�m‰m€Gà�m‰m�Gñ ÐLÓ
MÐMô.�—‘õ .r   