
    4bh&*                         	 d dl Z d dlZ	 d dlZd Zd Zd Zd Zd ZdZ	d Z
d	 Zd
 Zd Zd Zd Zy# e$ r dZY -w xY w)    Nc                   	 	 t         j                   d      di 	fd		fdt        j                         5 }t         j                  |_        t         j
                  |_        t         j                  |_        d|j                  t         j                  <   | dk  rd}|  } nd} | | j                               }|r| }d d d        |S # 1 sw Y   S xY w)	N      c                     	 j                  |       x}>| k  r| z  }n.| dz
  v r| dz
     x}|z   }n| dz	  } |       | |z
        z  }|| <   |S N   get)wresulttw2BITLIMD2memw2pows       1/opt/python-3.12.12/usr/lib/python3.12/_pylong.pyr   zint_to_decimal.<locals>.w2pow+   s}    	? ggaj F)F{QQ#"1q5z/!Q.!V
 rU1r6]2CF    c                     |k  r |       S |dz	  }| |z	  }| ||z  z
  } ||       |||z
         |      z  z   S r    )	nr   r   hilor   Dinnerr   s	        r   r   zint_to_decimal.<locals>.inner>   sW    ;Q4K!V"W"(^R}uRR059<<<r   r   r   TF)decimalDecimallocalcontextMAX_PRECprecMAX_EMAXEmaxMIN_EMINEmintrapsInexact
bit_length)
r   ctxnegater   r   r   r   r   r   r   s
       @@@@@@r   int_to_decimalr*      s    @ 	A	
1BF
C&= 
			3######%&		'//"q5FAFq!,,.)WF 
  M 
  Ms   BCC"c                    	 | j                         }|dkD  rt        t        t        |             S fdt	        |dz  dz         }i | dk  r|  } d}nd} | |      }|d   dk(  r| r|j                  d      }||z   S )	Ni c                     |dk  rt        |       S |dz	  }j                  |      }|d|z  |z  x}|<   t        | |      \  }} |||z
         ||      j                  |      z   S )Ni  r      )strr
   divmodzfill)r   r   r   dr   r   r   pow10_caches         r   r   z$int_to_decimal_string.<locals>.innerd   s{    9q6M!VOOB9"#R%2+-AB1BRR 5R=#6#6r#:::r   gyPD?r   r   - 0)r'   _decimalr.   r*   intlstrip)r   r   signsr   r2   s       @@r   int_to_decimal_stringr;   W   s    I	A7{x+ >!$%%;" 	A""Q&'AK1uBaAts{q HHSM!8Or   c                 X     	 di fd fd dt                     S )Ni   c                     	 j                  |       x}<| k  rd| z  }n,| dz
  v r| dz
     dz  }n| dz	  } |       | |z
        z  }|| <   |S )Nr-   r   r	   )r   r   r   DIGLIMr   w5pows      r   r?   z _str_to_int_inner.<locals>.w5pow   sx    	
 ggaj F)F{AQ#QUa!V
 rU1r6]2CFr   c                     || z
  k  rt        | |       S | |z   dz   dz	  } ||       | |       ||z
        z  ||z
  z  z   S r   )r7   )abmidr>   r   r:   r?   s      r   r   z _str_to_int_inner.<locals>.inner   s]    q5F?q1v;1uqyQS!}q#q3w!?QW MNNr   r   len)r:   r>   r   r   r?   s   `@@@@r   _str_to_int_innerrF      s0    @ F
C*O CFr   c                 Z    	 | j                         j                  dd      } t        |       S )N_r4   )rstripreplacerF   )r:   s    r   int_from_stringrK      s,    4 	

3#AQr   c                     	 t        j                  d|       }|st        d      t        |j	                  d            }|j	                  d      dk(  r| }|S )Nz\s*([+-]?)([0-9_]+)\s*z&invalid literal for int() with base 10r   r   r3   )rematch
ValueErrorrK   group)r:   mvs      r   
str_to_intrS      sS    L
*A.AABB
#AwwqzSBHr   i  c                 0   	 | j                         |z
  t        k  rt        | |      S |dz  }|r| dz  } |dz  }|dz  }|dz	  }d|z  dz
  }||z	  ||z  }}t        | |z	  | |z	  |z  ||||      \  }}	t        |	| |z  ||||      \  }
}	|r|	dz  }	||z  |
z  |	fS r   )r'   
_DIV_LIMITr/   _div3n2n)rA   rB   r   padhalf_nmaskb1b2q1rq2s              r   _div2n1nr_      s     	||~Z'a|
a%C
	a	a	Q!VFK1D&[!d(BQ!Va6kT11b"fEEBQD!RV4EB
	a<"ar   c                     	 | |z	  |k(  rd|z  dz
  | ||z  z
  |z   }}nt        | ||      \  }}||z  |z  ||z  z
  }|dk  r|dz  }||z  }|dk  r||fS )Nr   r   )r_   )a12a3rB   rZ   r[   r   qr]   s           r   rV   rV      s    K
ax2~Q!|SB!G_r11R#1	
a"BA
a%	Q	Q a% a4Kr   c                     	 dg| j                         z   dz
  z  z  fd| r | dt                     S )Nr   r   c                     |dz   |k(  r| |<   y ||z   dz	  }||z
  	z  }| |z	  }| ||z  z  } |||        |||       y r   r   )
xLRrC   shiftupperlowera_digitsr   r   s
          r   r   z_int2digits.<locals>.inner  sc    q5A:HQK1ulqAU
Ue^$eQeS!r   )r'   rE   )rA   r   rl   r   s    `@@r   _int2digitsrm      sJ     sq||~)A-!34H	 	aCM"Or   c                 D     	  fd r dt                     S dS )Nc                 j    | dz   |k(  r|    S | |z   dz	  }|| z
  z  } ||      |z   | |      z   S r   r   )rg   rh   rC   ri   digitsr   r   s       r   r   z_digits2int.<locals>.inner!  sN    q5A:!91ulqAc1&%3-77r   r   rD   )rp   r   r   s   ``@r   _digits2intrq     s'    8 %+5CK 11r   c                     	 |j                         }t        | |      }d}g }t        |      D ])  }t        ||z  |z   ||      \  }}|j	                  |       + |j                          t        ||      }||fS Nr   )r'   rm   reversedr_   appendreverserq   )	rA   rB   r   rl   r]   q_digitsa_digitq_digitrc   s	            r   _divmod_posrz   +  s     	
A1a H	AHH%qAv0!Q7
  & Ha Aa4Kr   c                     	 |dk(  rt         |dk  rt        |  |       \  }}|| fS | dk  rt        |  |      \  }}| || z   fS t        | |      S rs   )ZeroDivisionError
int_divmodrz   )rA   rB   rc   r]   s       r   r}   r}   <  st     	Av	
Q1"qb!11"u	
Q1"a 1r1r6z1a  r   )rM   r   r6   ImportErrorr*   r;   rF   rK   rS   rU   r_   rV   rm   rq   rz   r}   r   r   r   <module>r      sr   > 
 
=@*Z,^ 	" 
 <
>2"!S	  Hs   3 ==