
    ":h                     f    d dl Z d dlZd dlZd dlZg dZd ZdZdZdZdZ	dZ
dZdZdZede	efd	Zd
 Zy)    N)
TRUNCATEROUNDROUND_UP
ROUND_DOWNDECIMAL_PLACESSIGNIFICANT_DIGITS	TICK_SIZE
NO_PADDINGPAD_WITH_ZEROdecimal_to_precision                  c                 z   |J |t         k(  rVt        |t              sbt        |t        j                        sHt        |t
        j                        s.t        |t              sJ t        |t
        j                        sJ |t        t        fv sJ |t        t        t         fv sJ |t        t        fv sJ t        |t              rt        |      }t        j                         }|t         k7  rt        |j                   dz
  |      }d|j"                  t        j$                  <   t        j&                  |_        t        j                  t        |             t        j                  t        |            }dj+                        }d }d }	|dk  r|t         k(  rt-        d       |	|      }
|t        k(  r;dj+                  |
t        j                  t/        |
z  |dt        |            z        S |t        k(  rt/        |
z  z
  |dt        |      S |t         k(  rt1              |z  }|dk7  rU|t        k(  r3dkD  r||dz  k\  r	|z
  |z   n6|z
  n0||dz  k\  r	|z   |z
  n|z   n|t        k(  rdk  r|z   n|z
  t3        j4                  dddj+                  |            j7                  d	      }t9        |      d
kD  rt9        |d
         }n9t3        j:                  d|d         }|d}nt9        |j=                  d             }t/        dj+                        t        |t        |      S |t        k(  r|t        k(  r'dj+                  j?                   |	|                  }n|t        k(  r|jA                         z
  d
z
  } |	|      }|dk  rH|d | }|t        j                  |r|nd      z  }||z   }dj+                  t        ||ffd            }n dj+                  j?                  |            }|dt9        |      dz  z   d d k(  s|dk(  r|d
d  }n|t        k(  r|t        k(  r(d	|v r|j7                  d	      n|df\  }}|d	z   |d | z   }n|t        k(  r~|dk(  ryd	|v r|jC                  d	      n
t9        |      }|jA                         z
  }||z   }||k\  r|d
z  }|t9        |jE                  d	d            k\  r|}n|d | jG                  |d      }|dt9        |      dz  z   d d k(  s|dk(  r|d
d  }|jI                  d	      }|t        k(  r&d	|v r |jI                  d      jI                  d	      S |S |t        k(  rd	|v r|t        k(  r,|j7                  d	      \  }}|d	z   |jG                  |d      z   S |t        k(  r_t9        tK        tM        jN                  d |                  }d	||d  v r|d
z  }|d | ||d  jI                  d      jG                  |d      z   S y |t        k(  r'|t9        |      kD  r|d	z   |t9        |      z
  dz  z   S |S |t        k(  r|dkD  r|d	z   |dz  z   S |S y )Nr   T{:f}c                 4    t        j                  d      |  z  S )N10)decimalDecimalxs    X/var/www/html/turnos/venv/lib/python3.12/site-packages/ccxt/base/decimal_to_precision.pypower_of_10z)decimal_to_precision.<locals>.power_of_10?   s    t$!,,    r   z7TICK_SIZE cant be used with negative numPrecisionDigitsz0+$ .r   0c                      t        | z
        S )N)abs)r   decs    r   <lambda>z&decimal_to_precision.<locals>.<lambda>u   s    #aRUg, r   )keyz-0.z-0r   c                     | dk(  xs | dk(  S )Nr   r     r   s    r   r$   z&decimal_to_precision.<locals>.<lambda>   s    a3h>R!s( r   )(r	   
isinstancefloatr   r   numbersIntegralstrr   r   r   r   r
   r   
getcontextminprectraps	UnderflowROUND_HALF_UProundingformat
ValueErrorr   r"   resubsplitlensearchgroupquantizeadjustedindexreplaceljustrstriplist	itertools	takewhile)nrounding_mode	precisioncounting_modepadding_modecontextprecision_decstringpreciser   
to_nearestmissingpartsnew_precisionmatchqsigfigstring_to_precisionbelowabovebeforeafterdotstartendfsfgr#   s                             @r   r   r   $   sa      	!)U+z)W__/UYcdmovoo  ZA  EO  PY  [^  E_  	`  _)W%5%5676Xu----^-?KKKKJ6666)S!)$	  "G	!q()4	 (,GMM'##$,,G
//#a&
!COOC	N3M]]3FG- 1}I%VWW +
E!==goo>RSVYcScertu  xF  HT  ?U  /V  "V  W  Wh&'cJ.>(>qR`bnoo	!c(]*a<%7)a-/!Gmm;!Gm)a-/!Gmm;!Gm(*7-C-Cvr6==#?@FFsKu:>aMMIIfeAh/E} !"%ekk!n"5 5#FMM#$6}n^jkkN*mmCLLY1G$HIG00CLLN*Q.A ^F1u&,Zi&8#H[1Dad!ee --UEN@V(WX --V(<=us7|c112A66'T/abkG	(	"N*14FLL-VRLMFEslU:I%66G00A~'*f}&,,s##f+C#,,.(E)#CczqCsB 788  #,,,S#6us7|c112A66'T/abkG..%z!25.w~~c"))#.MgM		&'>. 'c 2|ekk)S&AAA"444	 3 34RT[ \]^'$%.(NIu~(=(=c(B(H(HTW(XXX	 5  22s7|+"S=IG,D+KKK N .0q="S=9s?::N% 
'r   c                     | y t        j                  t        |             }dj                  |      }d|v r |j	                  d      j	                  d      S |S )Nr   r   r    )r   r   r,   r4   rA   )r   d	formatteds      r   number_to_stringra      sR    yAAa I03y0@9C '',OiOr   )r   r*   rC   r6   __all__r   r   r   r   r   r   r	   r
   r   r   ra   r'   r   r   <module>rc      se       	 	
  	 
 +04~lv AHPr   