
    i                     h    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dS )    N)
TRUNCATEROUNDROUND_UP
ROUND_DOWNDECIMAL_PLACESSIGNIFICANT_DIGITS	TICK_SIZE
NO_PADDINGPAD_WITH_ZEROdecimal_to_precision                  c                    |J |t           k    rat          |t                    sKt          |t          j                  s1t          |t
          j                  st          |t                    sJ n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           k    rt          |j        dz
  |          }d|j        t          j        <   t          j        |_        t          j        t          |                     t          j        t          |                    }d                              }d }d }	|dk     r|t           k    rt-          d           |	|          }
|t          k    rCd                    |
t          j        t/          |
z  |dt          |                    z            S |t          k    rt/          |
z  z
  |dt          |          S |t           k    rMt1                    |z  }|dk    r]|t          k    r6dk    r||dz  k    r	|z
  |z   n:|z
  n4||dz  k    r	|z   |z
  n"|z   n|t          k    rdk     r|z   n|z
  t3          j        ddd                    |                                        d	          }t9          |          d
k    rt9          |d
                   }nCt3          j        d|d                   }|d}n#t9          |                    d                     }t/          d                              t          |t          |          S |t          k    r"|t          k    r2d                                         |	|                              }n|t          k    r|                                 z
  d
z
  } |	|          }|dk     rT|d |         }|t          j        |r|nd          z  }||z   }d                    t          ||ffd                    }n(d                                        |                    }|dt9          |          dz  z   d d         k    s|dk    r
|d
d          }n8|t          k    r,|t          k    r1d	|v r|                    d	          n|df\  }}|d	z   |d |         z   }n|t          k    r|dk    rdS d	|v r|!                    d	          nt9          |          }|                                 z
  }||z   }||k    r|d
z  }|t9          |"                    d	d                    k    r|}n|d |         #                    |d          }|dt9          |          dz  z   d d         k    s|dk    r
|d
d          }|$                    d	          }|t          k    r.d	|v r(|$                    d          $                    d	          n|S |t          k    r%d	|v r|t          k    r4|                    d	          \  }}|d	z   |#                    |d          z   S |t          k    r}t9          tK          tM          j'        d |                              }d	||d          v r|d
z  }|d |         ||d          $                    d          #                    |d          z   S d S |t          k    r/|t9          |          k    r|d	z   |t9          |          z
  dz  z   S n|t          k    r|dk    r|d	z   |dz  z   S |S d S )Nr   T{:f}c                 2    t          j        d          |  z  S )N10)decimalDecimalxs    d/var/www/html/crypto-bot/backend/venv/lib/python3.11/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    p| 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   $   s      	!!)U++  	`z)W_/U/U  	`Ycdmovo  ZA  ZA  	`  EO  PY  [^  E_  E_  	`  	`  _)W%566776Xu-----^-?KKKKKJ66666)S!! %)$$	 ""G	!!q()44	 (,GM'#$,G
/#a&&
!
!COC	NN33M]]3FG- - - 1}}I%%VWWW [++
E!!==go>RSVYcScertu  xF  HT  ?U  ?U  /V  /V  "V  W  W  Wh&&'cJ.>(>qR`bnooo	!!c((]*a<<%%77)a-//!Gmm;!Gm)a-//!Gmm;!Gm(**77-CC-Cvr6==#?#?@@FFsKKu::>>aMMMMIfeAh//E} !"%ekk!nn"5"5 5#FMM#$6$6}n^jkkkN**mmCLLY1G1G$H$HIIGG000CLLNN*Q.A [^^F1uu&,ZiZ&8#H[1d1D1Dad!e!ee --UEN@V@V@V@V(W(W(WXX --V(<(<==us7||c112A2666'T//abbkG	(	"	"N**14FLL---VRLMFEslU:I:%66GG000A~~s'*f}}&,,s####f++C#,,..(E)#CczzqCsB 7 78888  #,,,S#66us7||c112A2666'T//abbkG..%%z!!25..w~~c""))#...gM		&	&'>>.. 'c 2 2|ekk)S&A&AAA"4444	 34R4RT[ \ \]]^^'$%%.((NIuu~(=(=c(B(B(H(HTW(X(XXX	 54  222s7||++"S=IG,D+KKK ,.00q=="S=9s?::N% 
'	&r   c                     | d S t          j        t          |                     }d                    |          }d|v r(|                    d                              d          n|S )Nr   r   r    )r   r   r,   r4   rA   )r   d	formatteds      r   number_to_stringra      sc    ytAAa  I03y0@0@9C  '',,,iOr   )r   r*   rC   r6   __all__r   r   r   r   r   r   r	   r
   r   r   ra   r'   r   r   <module>rc      s          				   	
  	 
 +04~lv A A A AHP P P P Pr   