ó
    F\hï  ã                   ó¸   • S SK r S SKrS SKJr  S SKJrJr  Sr\S-  rS r " S S\ R                  5      r
 " S	 S
\ R                  5      rSrSrSr " S S5      rg)é    N)ÚRLock)ÚsleepÚtimei   é   c                 ó  • [         R                  (       a  g [        U 5      q[	        US[         R
                  R                  5       5      [         l        [	        US[         R                  R                  5       5      [         l        g )Nzpython.stdoutzpython.stderr)ÚsysÚ
executableÚLogcatÚlogcatÚTextLogStreamÚstdoutÚfilenoÚstderr)Úandroid_log_writeÚstdout_prioÚstderr_prios      Ú'/usr/lib/python3.13/_android_support.pyÚinit_streamsr      sY   € Ü
‡~‡~Øô Ð%Ó&€FäØ�_¤c§j¡j×&7Ñ&7Ó&9ó;„C„JäØ�_¤c§j¡j×&7Ñ&7Ó&9ó;„C…Jó    c                   óT   ^ • \ rS rSrS	U 4S jjrS rS rS rS r\	S 5       r
SrU =r$ )
r   é'   c                 ó¾   >• UR                  SS5        UR                  SS5        [        TU ]  " [        XU5      40 UD6  [	        5       U l        / U l        SU l        g )NÚencodingzUTF-8ÚerrorsÚbackslashreplacer   )Ú
setdefaultÚsuperÚ__init__ÚBinaryLogStreamr   Ú_lockÚ_pending_bytesÚ_pending_bytes_count)ÚselfÚprioÚtagr   ÚkwargsÚ	__class__s        €r   r   ÚTextLogStream.__init__(   sX   ø€ ð 	×Ñ˜* gÔ.Ø×Ñ˜(Ð$6Ô7ä‰Òœ¨°FÓ;ÑF¸vÒFÜ“WˆŒ
Ø ˆÔØ$%ˆÕ!r   c                 ó8   • SU R                   R                  < S3$ )Nz<TextLogStream Ú>)Úbufferr%   ©r#   s    r   Ú__repr__ÚTextLogStream.__repr__4   s   € Ø  §¡§¡Ñ 3°1Ð5Ð5r   c                 ó�  • [        U[        5      (       d!  [        S[        U5      R                   35      e[        R                  U5      nU R                     UR                  SS9 H8  nU(       d  M  US [         nU[        S  nU R                  U5        U(       a  M,  M:     S S S 5        [        U5      $ ! , (       d  f       N= f)Nz"write() argument must be str, not T)Úkeepends)Ú
isinstanceÚstrÚ	TypeErrorÚtypeÚ__name__Ú__str__r    Ú
splitlinesÚMAX_CHARS_PER_WRITEÚ_write_chunkÚlen)r#   ÚsÚlineÚchunks       r   ÚwriteÚTextLogStream.write7   s®   € Ü˜!œS×!Ñ!ÜØ4´T¸!³W×5EÑ5EÐ4FÐGóIð Iô
 �K‰K˜‹Nˆð
 �Z‹ZØŸ™¨d˜Ó3�ß�dØ Ð!5Ô"5Ð6�EØÔ 3Ð 4Ð5�DØ×%Ñ% eÔ,÷ ’dñ 4÷ ô �1‹vˆ÷ �Zús   ÁB7Á4*B7Â B7Â7
Cc                 óº  • UR                  U R                  U R                  5      nU R                  [	        U5      -   [
        :”  a  U R                  5         U R                  R                  U5        U =R                  [	        U5      -  sl        U R                  (       d*  UR                  S5      (       d  U R                  [
        :”  a  U R                  5         g g )Nó   
)Úencoder   r   r"   r:   ÚMAX_BYTES_PER_WRITEÚflushr!   ÚappendÚwrite_throughÚendswith)r#   r;   Úbs      r   r9   ÚTextLogStream._write_chunkN   s™   € Ø�H‰H�T—]‘] D§K¡KÓ0ˆØ×$Ñ$¤s¨1£vÑ-Ô0CÓCØ�J‰JŒLà×Ñ×"Ñ" 1Ô%Ø×!Ò!¤S¨£VÑ+Õ!à××Ø�z‰z˜%× Ñ Ø×(Ñ(Ô+>Ó>à�J‰J�Lð ?r   c                 óú   • U R                      U R                  R                  SR                  U R                  5      5        U R                  R                  5         SU l        S S S 5        g ! , (       d  f       g = f)Nr   r   )r    r+   r>   Újoinr!   Úclearr"   r,   s    r   rD   ÚTextLogStream.flush\   sN   € Ø�Z‹ZØ�K‰K×Ñ˜cŸh™h t×':Ñ':Ó;Ô<Ø×Ñ×%Ñ%Ô'Ø()ˆDÔ%÷ �ZŽZús   �AA,Á,
A:c                 ó   • g©NT© r,   s    r   Úline_bufferingÚTextLogStream.line_bufferingd   s   € àr   )r    r!   r"   ©N)r5   Ú
__module__Ú__qualname__Ú__firstlineno__r   r-   r>   r9   rD   ÚpropertyrQ   Ú__static_attributes__Ú__classcell__)r'   s   @r   r   r   '   s0   ø† ÷
&ò6òò.ò*ð ñó ör   r   c                   ó6   • \ rS rSrS	S jrS rS rS rS rSr	g)
r   éi   Nc                 ó(   • Xl         X l        X0l        g rS   )r$   r%   Ú_fileno)r#   r$   r%   r   s       r   r   ÚBinaryLogStream.__init__j   s   € ØŒ	ØŒØ�r   c                 ó$   • SU R                   < S3$ )Nz<BinaryLogStream r*   )r%   r,   s    r   r-   ÚBinaryLogStream.__repr__o   s   € Ø" 4§8¡8¡,¨aÐ0Ð0r   c                 ó   • grO   rP   r,   s    r   ÚwritableÚBinaryLogStream.writabler   s   € Ør   c                 ó*  • [        U5      [        La   [        [        U5      5      nU(       a+  [
        R                  U R                  U R                  U5        [        U5      $ ! [         a#    [        S[        U5      R                   35      S ef = f)Nz)write() argument must be bytes-like, not )
r4   ÚbytesÚ
memoryviewr3   r5   r   r>   r$   r%   r:   )r#   rH   s     r   r>   ÚBinaryLogStream.writeu   s}   € Ü�‹7œ%ÒðÜœ* Q›-Ó(�ö Ü�L‰L˜Ÿ™ D§H¡H¨aÔ0Ü�1‹vˆøô ó ÜØ?ÄÀQÃ×@PÑ@PÐ?QÐRóàððús   ”A% Á%-Bc                 ó`   • U R                   c  [        R                  " S5      eU R                   $ )Nr   )r]   ÚioÚUnsupportedOperationr,   s    r   r   ÚBinaryLogStream.fileno„   s'   € Ø�<‰<ÑÜ×)Ò)¨(Ó3Ð3Ø�|‰|Ðr   )r]   r$   r%   rS   )
r5   rT   rU   rV   r   r-   rb   r>   r   rX   rP   r   r   r   r   i   s   † ôò
1òòõr   r   i   i   é   c                   ó    • \ rS rSrS rS rSrg)r
   é›   c                 óZ   • Xl         [        5       U l        SU l        [	        5       U l        g )Nr   )r   r   r    Ú_bucket_levelr   Ú_prev_write_time)r#   r   s     r   r   ÚLogcat.__init__œ   s#   € Ø!2ÔÜ“WˆŒ
ØˆÔÜ $£ˆÕr   c                 ó  • UR                  SS5      nU R                     [        5       nU =R                  X@R                  -
  [
        -  -  sl        [        S[        U R                  [        5      5      U l        X@l        U =R                  [        [        U5      -   [        U5      -   -  sl        U R                  S:  a  [        U R                  * [
        -  5        U R                  XU5        S S S 5        g ! , (       d  f       g = f)Nó    s   À€r   )Úreplacer    r   rp   rq   ÚMAX_BYTES_PER_SECONDÚmaxÚminÚBUCKET_SIZEÚPER_MESSAGE_OVERHEADr:   r   r   )r#   r$   r%   ÚmessageÚnows        r   r>   ÚLogcat.write¢   sÍ   € ð —/‘/ '¨;Ó7ˆà�Z‹ZÜ“&ˆCØ×ÒØ×,Ñ,Ñ,Ô0DÑDñFÕô
 "% Q¬¨D×,>Ñ,>ÄÓ(LÓ!MˆDÔØ$'Ô!à×ÒÔ"6¼¸S»Ñ"AÄCÈÃLÑ"PÑPÕØ×!Ñ! AÓ%Ü�t×)Ñ)Ð)Ô,@Ñ@ÔAà×"Ñ" 4¨gÔ6÷ �ZŽZús   ŸCC:Ã:
D)rp   r    rq   r   N)r5   rT   rU   rV   r   r>   rX   rP   r   r   r
   r
   ›   s   † ò'õ7r   r
   )ri   r   Ú	threadingr   r   r   rC   r8   r   ÚTextIOWrapperr   Ú	RawIOBaser   rv   ry   rz   r
   rP   r   r   Ú<module>r�      sp   ðÛ 	Û 
Ý ß ð Ð ð *¨QÑ.Ð ò
;ô?�B×$Ñ$ô ?ôD�b—l‘lô ðL #Ð ð €ð Ð ÷7ò 7r   