ó
    cÛ–i¦  ã                   óì   • S  r \ " 5         \" \" 5       R                  5       5       H-  r\R                  5       (       d  M  \4S jr\\" 5       S\-  '   M/     CCS rS rSS jr	SS.S jr
SS.S	 jrS
 rg)c                  óÈ   • [        5       n [        S5       H-  u  pSU-  X'   SU-  U SU-   '   SU-  U SU-   '   SU-  U SU-   '   M/     [        U S	'   [        U S
'   SU S'   SU S'   g )N)ÚBLACKÚREDÚGREENÚYELLOWÚBLUEÚMAGENTAÚCYANÚWHITEz[1;3%dmz[3%dmÚDARK_z[1;4%dmÚREV_z[4%dmÚ	REV_DARK_ÚPURPLEÚGREYz[0mÚC_NORMALz[4mÚ	UNDERLINE)ÚglobalsÚ	enumerateÚDARK_MAGENTAÚ
DARK_WHITE)ÚgÚiÚnames      Ú./usr/lib/python3/dist-packages/samba/colour.pyÚ_gen_ansi_coloursr      s�   € Ü‹	€AÜð :ö ;‰ˆà !Ñ#ˆ‰Ø'¨!™Oˆˆ'�D‰.ÑØ(¨1Ñ,ˆˆ&�4‰-ÑØ +¨a¡ˆˆ+˜Ñ
Óñ;ô €A€h�KÜ€A€f�Ið €A€j�Mð €A€k‚Nó    c                 ó6   • [        5       U   < U < [        < 3$ )N)r   r   )Úsr   s     r   Ú_fr   B   s   € Ü&›y¨›²¶8Ð<Ð<r   zc_%sc                  óð   • [        5       n [        U R                  5       5       HO  u  pUR                  5       (       d  M  [	        U[
        5      (       d  M3  UR                  S5      (       d  MK  SX'   MQ     g)z5Convert all the ANSI colour codes into empty strings.ÚÚ N)r   ÚlistÚitemsÚisupperÚ
isinstanceÚstrÚ
startswith)r   ÚkÚvs      r   Úswitch_colour_offr*   I   sK   € ä‹	€AÜ�Q—W‘W“Y–‰ˆØ�9‰9�;‹;œ: a¬×-Ó-°!·,±,¸v×2FÓ2FØˆA‹Dò  r   c                  ó   • [        5         g)z%Regenerate all the ANSI colour codes.N)r   © r   r   Úswitch_colour_onr-   Q   s   € äÕr   c                 óN   • U(       a  SOSnU(       a  SOSnSX4[        U 5      4-  $ )Nz01;r!   Ú48Ú38z[%s%s;5;%dm)Úint)ÚnÚbgÚboldÚweightÚtargets        r   Úxterm_256_colourr7   V   s(   € Þ‰U €FÞ‰T˜T€Fà ´°A³Ð7Ñ7Ð7r   Úauto)Úhintc                 ó  • U S;   a  gU S;   a  gU S;  a  [        SU  S35      eSS	KJn  UR                  S
5      (       a  gU HG  n[	        U[
        5      (       a  US:w  a    gSSKnUR                  nUR                  5       (       a  MG    g   g)a  The hint is presumably a --color argument.

The streams to be considered can be file objects or file names,
with '-' being a special filename indicating stdout.

We follow the behaviour of GNU `ls` in what we accept.
* `git` is stricter, accepting only {always,never,auto}.
* `grep` is looser, accepting mixed case variants.
* historically we have used {yes,no,auto}.
* {always,never,auto} appears the commonest convention.
* if the caller tries to opt out of choosing and sets hint to None
  or '', we assume 'auto'.
)ÚnoÚneverÚnoneF)ÚyesÚalwaysÚforceT)r8   Úttyzif-ttyNr!   zunexpected colour hint: z; try always|never|autoé    )ÚenvironÚNO_COLORÚ-N)	Ú
ValueErrorÚosrC   Úgetr%   r&   ÚsysÚstdoutÚisatty)r9   ÚstreamsrC   ÚstreamrI   s        r   Úis_colour_wantedrN   ]   sœ   € ð Ð&Ó&ØàÐ)Ó)ØàÐ6Ó6ÜÐ3°D°6ð :1ð 1ó 2ð 	2õ Ø‡{�{�:×ÑàãˆÜ�fœc×"Ñ"ð ˜‹}ÙÛØ—Z‘ZˆFà�}‰}�‹Ùñ ð r   c                 óV   • [        USU 06nU(       a  [        5         U$ [        5         U$ )Nr9   )rN   r-   r*   )r9   rL   Úwanteds      r   Úcolour_if_wantedrQ   ‰   s.   € Ü˜wÐ2¨TÑ2€FÞÜÔð €Mô 	ÔØ€Mr   c                 óÌ  • SSK Jn  / n[        U [        5      (       a  U R	                  S5      n [        U[        5      (       a  UR	                  S5      nU R                  SS5      n UR                  SS5      nU" SX5      nUR                  5        H¿  u  pVpxn	US:X  a  UR                  XU 5        M"  US:X  a  UR                  [        XU 5      5        MF  US	:X  a  UR                  [        XU	 5      5        Mj  US
:X  a:  UR                  [        XU 5      5        UR                  [        XU	 5      5        Mª  UR                  SU S35        MÁ     SR                  U5      $ )z­Generate a string comparing two strings or byte sequences, with
differences coloured to indicate what changed.

Byte sequences are printed as hex pairs separated by colons.
rB   )ÚSequenceMatcherÚ:Ú u   â� NÚequalÚdeleteÚinsertÚreplacez --unknown diff op z!-- r!   )ÚdifflibrS   r%   ÚbytesÚhexrY   Úget_opcodesÚappendÚc_REDÚc_GREENÚjoin)
ÚaÚbrS   Úoutr   ÚopÚalÚarÚblÚbrs
             r   Ú
colourdiffrj   ’   s)  € õ (Ø
€CÜ�!”U×ÑØ�E‰E�#‹JˆÜ�!”U×ÑØ�E‰E�#‹JˆØ	�	‰	�#�uÓ€AØ	�	‰	�#�uÓ€Aá˜˜aÓ#€AØŸm™mžoÑˆ�˜Ø�‹=Ø�J‰J�q˜R�yÖ!Ø�8‹^Ø�J‰J”u˜Q 2˜YÓ'Ö(Ø�8‹^Ø�J‰J”w˜q R˜yÓ)Ö*Ø�9‹_Ø�J‰J”u˜Q 2˜YÓ'Ô(Ø�J‰J”w˜q R˜yÓ)Ö*à�J‰JÐ,¨R¨D°Ð5Ö6ñ .ð �7‰7�3‹<Ðr   N)FF)r   r"   r   ÚkeysÚ_kr$   r   r*   r-   r7   rN   rQ   rj   r,   r   r   Ú<module>rm      s   ðò:ñ( Ô ñ ‰w‹y�~‰~ÓÖ
 €BØ	‡z�z‡|ƒ|Øô 	=à!#‰‹	�&˜2‘+Óñ	 !ð ˆòòô
8ð %+õ )ðX %+õ ór   