+
    Vß$gs-  ã                  ó†  € R t ^ RIHt ^ RIt^ RIt^ RIHtHtHtH	t	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ]'       d   ^ RIHt ]P&                  ! R04      P(                  t^t^t^t^t^t^ t^@tRtR	tR
t^t ^t!^t"^t#^t$^t%^t&^t'^t(^t)^t*Rt+Rt,]&t-]'t.]+t/^t0^€t1^Àt2^ t3Rt4Rt5 ! R R]Pl                  4      t7R R lt8R R lt9R R lt:]Pv                  ! R4      t<]<Pz                  t=]]=n>        ]8]=n?        ]]
]]]]P€                  ! ]4      ]P€                  ! ]74      ]
3]=nA        ]<P„                  tB]]Bn>        ]9]Bn?        ]	]]]
]]]3]BnA        ]<P†                  tC]]Cn>        ]3]CnA        ]<Pˆ                  tD]]Dn>        ]8]Dn?        ]]P€                  ! ]74      3]DnA        ]<PŠ                  tF]]Fn>        ]9]Fn?        ]
]]]	3]FnA        ]<PŽ                  tG]]Gn>        ]8]Gn?        ]3]GnA        ]<P�                  tH]]Hn>        ]:]Hn?        ]]]3]HnA        ]<P’                  tI]]In>        ]9]In?        ]]]
]3]InA        ]<P”                  tJ]]Jn>        ]8]Jn?        ]]
]
]P€                  ! ]74      ]3]JnA        ]<P–                  tK]]Kn>        ]8]Kn?        ]]]]P€                  ! ]74      3]KnA        ]<P˜                  tL]]Ln>        ]:]Ln?        ]]]]3]LnA         ! R R]Pl                  4      tM]P€                  ! ]M4      tN]tO]! R ]!]"]#.4      tP]! R ]]]]]]]].4      tQRtRRtSR R ltTR  R! ltUR" R# ltVR$ R% ltWR& R' ltXR( R) ltY]! R*R+7       ! R, R-4      4       tZR. R/ lt[R# )1u›  :module: watchdog.observers.winapi
:synopsis: Windows API-Python interface (removes dependency on ``pywin32``).
:author: theller@ctypes.org (Thomas Heller)
:author: will@willmcgugan.com (Will McGugan)
:author: ryan@rfk.id.au (Ryan Kelly)
:author: yesudeep@gmail.com (Yesudeep Mangalapilly)
:author: thomas.amland@gmail.com (Thomas Amland)
:author: contact@tiger-222.fr (MickaÃ«l Schoentgen)
:platforms: windows
)ÚannotationsN)ÚBOOLÚDWORDÚHANDLEÚLPCWSTRÚLPVOIDÚLPWSTR)Ú	dataclass)Úreduce)ÚTYPE_CHECKING)ÚAnyé   i   i   @iþÿ  iÿÿ  i  iã  c                  ó>   € ] tR t^ItR]3R]3R]3R]3R]3R]33tRtR# )	Ú
OVERLAPPEDÚInternalÚInternalHighÚOffsetÚ
OffsetHighÚPointerÚhEvent© N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   Ú_fields_Ú__static_attributes__r   ó    Ú;/usr/lib/python3/dist-packages/watchdog/observers/winapi.pyr   r   I   s9   † à	�VÐØ	˜Ð Ø	�5ÐØ	�uÐØ	�FÐØ	�6Ðð„Hr   r   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©é   Úvaluez
Any | NoneÚfuncr   ÚargsÚreturnr   )Úformats   "r   Ú__annotate__r'   T   s(   € ÷ ñ ˜*ð ¨Cð °sð ¸sñ r   c                ó@   € V '       g   \         P                  ! 4       hV# ©N©ÚctypesÚWinError©r"   r#   r$   s   &&&r   Ú_errcheck_boolr.   T   s   € ßÜ�oŠoÓÐØ€Kr   c               ó(   € V ^8„  d   QhRRRRRRRR/# r    r   )r&   s   "r   r'   r'   Z   s(   € ÷ ñ ˜Jð ¨cð ¸ð Àñ r   c                ó€   € V '       g   \         P                  ! 4       hV \        8X  d   \         P                  ! 4       hV# r)   )r+   r,   ÚINVALID_HANDLE_VALUEr-   s   &&&r   Ú_errcheck_handler2   Z   s-   € ßÜ�oŠoÓÐØÔ$Ô$Ü�oŠoÓÐØ€Kr   c               ó(   € V ^8„  d   QhRRRRRRRR/# r    r   )r&   s   "r   r'   r'   b   s(   € ÷ ñ ˜:ð ¨Sð ¸ð Àñ r   c                ó>   € V R 8X  d   \         P                  ! 4       hV# )l   ÿÿ r*   r-   s   &&&r   Ú_errcheck_dwordr5   b   s   € Ø�
ÔÜ�oŠoÓÐØ€Kr   Úkernel32c                  óT   € ] tR t^ÔtR]3R]3R]3R]P                  ^,          33tRtR# )ÚFileNotifyInformationÚNextEntryOffsetÚActionÚFileNameLengthÚFileNamer   N)	r   r   r   r   r   r+   Úc_charr   r   r   r   r   r8   r8   Ô   s2   † à	˜EÐ"Ø	�5ÐØ	˜5Ð!Ø	�f—m‘m aÕ'Ð)ð	„Hr   r8   c                ó   € W,          # r)   r   ©ÚxÚys   &&r   Ú<lambda>rB   ä   ó   € �–r   c                ó   € W,          # r)   r   r?   s   &&r   rB   rB   ì   rC   r   i ú  i   c               ó$   € V ^8„  d   QhRRRRRR/# )r!   Úread_bufferÚbytesÚn_bytesÚintr%   zlist[tuple[int, str]]r   )r&   s   "r   r'   r'     s"   € ÷ ñ  Uð °Sð Ð=Rñ r   c                ó¦  € . pV^ 8”  dÈ   \         P                  ! V \        4      ^ ,          p\         P                  ! V4      \        P
                  P                  ,           p\         P                  ! WCP                  4      pVP                  VP                  VP                  R4      34       VP                  pV^ 8:  d    V# WR p W,          pKÎ  V# )é    zutf-16N)r+   ÚcastÚLPFNIÚ	addressofr8   r<   ÚoffsetÚ	string_atr;   Úappendr:   Údecoder9   )rF   rH   ÚresultsÚfniÚptrÚfilenameÚnum_to_skips   &&     r   Ú_parse_event_bufferrX     s¯   € Ø€GØ
�AŒ+Ü�kŠk˜+¤uÓ-¨aÕ0ˆÜ×Ò˜sÓ#Ô&;×&DÑ&D×&KÑ&KÕKˆÜ×#Ò# C×);Ñ);Ó<ˆØ�‰˜Ÿ
™
 H§O¡O°HÓ$=Ð>Ô?Ø×)Ñ)ˆØ˜!ÔØð €Nð " ,Ð/ˆØÕŠØ€Nr   c               ó$   € V ^8„  d   QhRRRRRR/# )r!   Úhandler   ÚpathÚstrr%   Úboolr   )r&   s   "r   r'   r'     s!   € ÷ ñ  fð °Cð ¸Dñ r   c                ó~   € \         P                  ! \        4      p\        W\        \        4       VP
                  V8g  # r)   )r+   Úcreate_unicode_bufferÚPATH_BUFFER_SIZEÚGetFinalPathNameByHandleWÚVOLUME_NAME_NTr"   )rZ   r[   Úbuffs   && r   Ú_is_observed_path_deletedrd     s1   € ô ×'Ò'Ô(8Ó9€DÜ˜fÔ,<¼nÔMØ�:‰:˜ÑÐr   c               ó   € V ^8„  d   QhRR/# )r!   r%   útuple[bytes, int]r   )r&   s   "r   r'   r'     s   € ÷  ñ  Ð/@ñ  r   c                 ój  € \         P                  ! R 4      p \        ^ \        \	        V 4      V P
                  P                  R4      4      p\         P                  ! V4      p\         P                  ! \        4      p\         P                  ! V\         P                  ! V4      V4       VP                  V3# )Ú.zutf-8)r+   r_   r8   ÚFILE_ACTION_DELETED_SELFÚlenr"   ÚencodeÚsizeofÚcreate_string_bufferr`   ÚmemmoverN   Úraw)r[   ÚeventÚ
event_sizerc   s       r   Ú%_generate_observed_path_deleted_eventrr     s€   € ä×'Ò'¨Ó,€DÜ! !Ô%=¼sÀ4»yÈ$Ï*É*×J[ÑJ[Ð\cÓJdÓe€EÜ—’˜uÓ%€JÜ×&Ò&Ô'7Ó8€DÜ
‡N‚N�4œ×)Ò)¨%Ó0°*Ô=Ø�8‰8�ZÐÐr   c               ó    € V ^8„  d   QhRRRR/# )r!   r[   r\   r%   r   r   )r&   s   "r   r'   r'   (  s   € ÷ 
ñ 
˜sð 
 vñ 
r   c           	     óD   € \        V \        \        R\        \        R4      # )z9Returns a Windows handle to the specified directory path.N)ÚCreateFileWÚFILE_LIST_DIRECTORYÚWATCHDOG_FILE_SHARE_FLAGSÚOPEN_EXISTINGÚWATCHDOG_FILE_FLAGS)r[   s   &r   Úget_directory_handlerz   (  s$   € äØÜÜ!ØÜÜØóð r   c               ó    € V ^8„  d   QhRRRR/# )r!   rZ   r   r%   ÚNoner   )r&   s   "r   r'   r'   5  s   € ÷  ñ   6ð  ¨dñ  r   c                óð   €  \        V R 4       \        V 4       R #   \         dP    \        P                  ! \
        4      ;_uu_ 4        \        T 4       R R R 4        R #   + '       g   i      R # ; ii ; ir)   )Ú
CancelIoExÚCloseHandleÚOSErrorÚ
contextlibÚsuppressÚ	Exception)rZ   s   &r   Úclose_directory_handler„   5  sP   € ð Ü�6˜4Ô Ü�FÖøÜô  Ü× Ò ¤×+Õ+Ü˜Ô÷ ,×+×+Ô+úð ús'   ‚ ›-A5ÁAÁA5ÁA1Á*A5Á1A5c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r!   rZ   r   r[   r\   Ú	recursiver]   r%   rf   r   )r&   s   "r   r'   r'   >  s)   € ÷ /ñ / 6ð /°ð /ÀDð /ÐM^ñ /r   c          
     óÔ  € \         P                  ! \        4      p\        4       p \	        V \         P
                  ! V4      \        V4      V\        \         P
                  ! V4      RR4       TP                  \        TP                  4      3#   \         dO   pTP                  \        8X  d   TP                  ^ 3u Rp?# \        Y4      '       d   \        4       u Rp?# h Rp?ii ; i)z•Read changes to the directory using the specified directory handle.

https://timgolden.me.uk/pywin32-docs/win32file__ReadDirectoryChangesW_meth.html
N)r+   rm   ÚBUFFER_SIZEr   ÚReadDirectoryChangesWÚbyrefrj   ÚWATCHDOG_FILE_NOTIFY_FLAGSr€   ÚwinerrorÚERROR_OPERATION_ABORTEDro   rd   rr   rI   r"   )rZ   r[   r†   Úevent_bufferÚnbytesÚes   &&$   r   Úread_directory_changesr‘   >  s¼   € ô
 ×.Ò.¬{Ó;€LÜ‹W€FðÜØÜ�LŠL˜Ó&Ü�ÓØÜ&Ü�LŠL˜Ó ØØô		
ð( ×ÑœS §¡Ó.Ð.Ð.øô ô Ø�:‰:Ô0Ô0Ø×#Ñ# QÐ&Õ&ô % V×2Ò2Ü8Ó:Õ:àûðús0   ¦AB ÂC'Â"C"Â;C'ÃC"ÃC'Ã!C"Ã"C'T)Úunsafe_hashc                  ó°   € ] tR tRt$ R]R&   R]R&   ]R R l4       t]R R	 l4       t]R
 R l4       t]R R l4       t	]R R l4       t
]R R l4       tRtR# )ÚWinAPINativeEventi]  rI   Úactionr\   Úsrc_pathc               ó   € V ^8„  d   QhRR/# ©r!   r%   r]   r   )r&   s   "r   r'   ÚWinAPINativeEvent.__annotate__c  s   € ÷ 2ñ 2˜$ñ 2r   c                	ó(   € V P                   \        8H  # r)   )r•   ÚFILE_ACTION_CREATED©Úselfs   &r   Úis_addedÚWinAPINativeEvent.is_addedb  ó   € à�{‰{Ô1Ñ1Ð1r   c               ó   € V ^8„  d   QhRR/# r˜   r   )r&   s   "r   r'   r™   g  s   € ÷ 2ñ 2˜Dñ 2r   c                	ó(   € V P                   \        8H  # r)   )r•   ÚFILE_ACTION_REMOVEDrœ   s   &r   Ú
is_removedÚWinAPINativeEvent.is_removedf  r    r   c               ó   € V ^8„  d   QhRR/# r˜   r   )r&   s   "r   r'   r™   k  s   € ÷ 3ñ 3˜Tñ 3r   c                	ó(   € V P                   \        8H  # r)   )r•   ÚFILE_ACTION_MODIFIEDrœ   s   &r   Úis_modifiedÚWinAPINativeEvent.is_modifiedj  s   € à�{‰{Ô2Ñ2Ð2r   c               ó   € V ^8„  d   QhRR/# r˜   r   )r&   s   "r   r'   r™   o  ó   € ÷ ;ñ ; ñ ;r   c                	ó(   € V P                   \        8H  # r)   )r•   ÚFILE_ACTION_RENAMED_OLD_NAMErœ   s   &r   Úis_renamed_oldÚ WinAPINativeEvent.is_renamed_oldn  ó   € à�{‰{Ô:Ñ:Ð:r   c               ó   € V ^8„  d   QhRR/# r˜   r   )r&   s   "r   r'   r™   s  r¬   r   c                	ó(   € V P                   \        8H  # r)   )r•   ÚFILE_ACTION_RENAMED_NEW_NAMErœ   s   &r   Úis_renamed_newÚ WinAPINativeEvent.is_renamed_newr  r±   r   c               ó   € V ^8„  d   QhRR/# r˜   r   )r&   s   "r   r'   r™   w  s   € ÷ 7ñ 7 ñ 7r   c                	ó(   € V P                   \        8H  # r)   )r•   ÚFILE_ACTION_REMOVED_SELFrœ   s   &r   Úis_removed_selfÚ!WinAPINativeEvent.is_removed_selfv  s   € à�{‰{Ô6Ñ6Ð6r   r   N)r   r   r   r   Ú__annotations__Úpropertyrž   r¤   r©   r¯   rµ   rº   r   r   r   r   r”   r”   ]  s‚   ‡ àƒKØƒMàô2ó ð2ð ô2ó ð2ð ô3ó ð3ð ô;ó ð;ð ô;ó ð;ð ô7ó ô7r   r”   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r!   rZ   r   r[   r\   r†   r]   r%   zlist[WinAPINativeEvent]r   )r&   s   "r   r'   r'   {  s/   € ÷ Pñ P˜ð P cð P¸ð PÐBYñ Pr   c               ó€   € \        WVR 7      w  r4\        W44      pV UUu. uF  w  rg\        Wg4      NK  	  upp# u uppi ))r†   )r‘   rX   r”   )rZ   r[   r†   Úbufr�   Úeventsr•   r–   s   &&$     r   Úread_eventsrÂ   {  s;   € Ü(¨ÀÔK�K€CÜ  Ó-€FÙHNÔOÉÑ4D°FÔ˜fÖ/ÉÒOÐOùÓOs    :éÿÿÿÿ)\Ú__doc__Ú
__future__r   r�   r+   Úctypes.wintypesr   r   r   r   r   r   Údataclassesr	   Ú	functoolsr
   Útypingr   r   Úc_void_pr"   r1   ÚFILE_NOTIFY_CHANGE_FILE_NAMEÚFILE_NOTIFY_CHANGE_DIR_NAMEÚFILE_NOTIFY_CHANGE_ATTRIBUTESÚFILE_NOTIFY_CHANGE_SIZEÚFILE_NOTIFY_CHANGE_LAST_WRITEÚFILE_NOTIFY_CHANGE_LAST_ACCESSÚFILE_NOTIFY_CHANGE_CREATIONÚFILE_NOTIFY_CHANGE_SECURITYÚFILE_FLAG_BACKUP_SEMANTICSÚFILE_FLAG_OVERLAPPEDrv   ÚFILE_SHARE_READÚFILE_SHARE_WRITEÚFILE_SHARE_DELETErx   rb   r›   ÚFILE_ACTION_DELETEDr¨   r®   r´   ri   ÚFILE_ACTION_OVERFLOWÚFILE_ACTION_ADDEDr£   r¹   ÚTHREAD_TERMINATEÚWAIT_ABANDONEDÚWAIT_IO_COMPLETIONÚWAIT_OBJECT_0ÚWAIT_TIMEOUTr�   Ú	Structurer   r.   r2   r5   ÚWinDLLr6   r‰   ÚrestypeÚerrcheckÚPOINTERÚargtypesru   r   r~   ÚCreateEventWÚCreateEventÚSetEventÚWaitForSingleObjectExÚCreateIoCompletionPortÚGetQueuedCompletionStatusÚPostQueuedCompletionStatusra   r8   rM   ry   rw   r‹   rˆ   r`   rX   rd   rr   rz   r„   r‘   r”   rÂ   r   r   r   Ú<module>rí      sZ  ðñ	õ #ã Û ß H× HÝ !Ý Ý  çÝð —’ rÓ*×0Ñ0Ð ð  $Ð Ø"Ð Ø $Ð ØÐ Ø %Ð Ø!&Ð Ø#Ð Ø$Ð à'Ð Ø!Ð ØÐ Ø€ØÐ ØÐ Ø€à€ð Ð ØÐ ØÐ Ø Ð Ø Ð Ø!Ð ØÐ ð (Ð Ø)Ð Ø3Ð àÐ ð €ØÐ Ø€Ø€ð Ð ô�×!Ñ!ô õõõð �=Š=˜Ó$€à ×6Ñ6Ð Ø $Ð Ô Ø!/Ð Ô à
Ø
Ø	ØØ	Ø
‡N‚N�5ÓØ
‡N‚N�:ÓØ
ð	"Ð Ô ð ×"Ñ"€Ø€Ô Ø'€Ô àØ	Ø	Ø
Ø	Ø	Ø
ð€Ô ð ×"Ñ"€Ø€Ô Ø�y€Ô à× Ñ €
Ø€
Ô Ø$€
Ô à
Ø
‡N‚N�:Óð€
Ô ð
 ×#Ñ#€Ø€Ô Ø'€Ô à
ØØØð	€Ô ð ×Ñ€Ø€Ô Ø"€Ô Ø�I€Ô à ×6Ñ6Ð Ø %Ð Ô Ø!0Ð Ô à
Ø	Øð"Ð Ô ð "×8Ñ8Ð Ø!'Ð Ô Ø"2Ð Ô à
Ø
Ø
Ø	ð	#Ð Ô ð %×>Ñ>Ð Ø$(Ð Ô !Ø%3Ð Ô "à
Ø
Ø
Ø
‡N‚N�:ÓØ	ð&Ð Ô "ð &×@Ñ@Ð Ø%)Ð Ô "Ø&4Ð Ô #à
Ø	Ø	Ø
‡N‚N�:Óð	'Ð Ô #ð %×>Ñ>Ð Ø$)Ð Ô !Ø%4Ð Ô "à
Ø
Ø	Ø	ð	&Ð Ô "ô˜F×,Ñ,ô ð 	�ŠÐ,Ó-€ð
 1Ð Ù"ÙàØØðóÐ ñ $Ùà$Ø#Ø%ØØ%Ø#Ø&Ø#ð	óÐ ð( €ð Ð õõõ õ
õ õ/ñ> �tÔ÷7ð 7ó ð7÷:Pr   