Ë
    V.j;  ã                   ó|   — d Z ddlZdee   deedf   fd„Zdededefd	„Zd
edeeef   fd„Zdedeedf   defd„Z	y)a	  
Given a list of integers, made up of (hopefully) a small number of long runs
of consecutive integers, compute a representation of the form
((start1, end1), (start2, end2) ...). Then answer the question "was x present
in the original list?" in time O(log(# runs)).
é    NÚlist_Úreturn.c                 ó  — t        | «      }g }d}t        t        |«      «      D ]V  }|dz   t        |«      k  r||   ||dz      dz
  k(  rŒ&||dz   |dz    }|j                  t	        |d   |d   dz   «      «       |}ŒX t        |«      S )a  Represent a list of integers as a sequence of ranges:
    ((start_0, end_0), (start_1, end_1), ...), such that the original
    integers are exactly those x such that start_i <= x < end_i for some i.

    Ranges are encoded as single integers (start << 32 | end), not as tuples.
    éÿÿÿÿé   r   )ÚsortedÚrangeÚlenÚappendÚ_encode_rangeÚtuple)r   Úsorted_listÚrangesÚ
last_writeÚiÚcurrent_ranges         úPC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\idna/intranges.pyÚintranges_from_listr      sŸ   € ô ˜“-€KØ€FØ€JÜ”3�{Ó#Ö$ˆØˆq‰5”3�{Ó#Ò#¨°A©¸+ÀaÈ!ÁeÑ:LÈqÑ:PÒ(PØØ# J°¡N°Q¸±UÐ;ˆØ�‰”m M°!Ñ$4°mÀBÑ6GÈ!Ñ6KÓLÔMØ‰
ð %ô �‹=Ðó    ÚstartÚendc                 ó   — | dz  |z  S )Né    © )r   r   s     r   r   r       s   € Ø�R‰K˜3ÑÐr   Úrc                 ó   — | dz	  | dz  fS )Nr   l   ÿÿ r   )r   s    r   Ú_decode_ranger   $   s   € Ø�‰G�q˜MÑ*Ð+Ð+r   Úint_r   c                 óÞ   — t        | d«      }t        j                  ||«      }|dkD  r!t        ||dz
     «      \  }}|| cxk  r|k  ry |t	        |«      k  rt        ||   «      \  }}|| k(  ryy)z=Determine if `int_` falls into one of the ranges in `ranges`.r   r   TF)r   ÚbisectÚbisect_leftr   r
   )r   r   Útuple_ÚposÚleftÚrightÚ_s          r   Úintranges_containr'   (   s�   € ä˜4 Ó#€FÜ
×
Ñ
˜V VÓ
,€Cð ˆQ‚wÜ# F¨3°©7¡OÓ4‰ˆˆeØ�4Ô˜%ÒØð  ð ŒS�‹[ÒÜ  s¡Ó,‰ˆˆaØ�4Š<ØØr   )
Ú__doc__r    ÚlistÚintr   r   r   r   Úboolr'   r   r   r   Ú<module>r,      s…   ðñó ð˜t C™yð ¨U°3¸°8©_ó ð*˜ð  3ð ¨3ó ð,�Sð ,˜U 3¨ 8™_ó ,ð˜Cð ¨¨s°C¨x©ð ¸Tô r   