ó
    ñZj  ã            
       ó  • S SK r S SKrS SKJr  S SKJr  S SKJrJrJ	r	J
r
  S SKJr  S SKrS SKrS\	\
\\4   S4   S\	\
\\4   S4   4S	 jrS
\
\R&                  \\   \	\   4   S\
\R&                  \\   \	\S4   4   S\
\R&                  \\   \	\   4   4S jrS rS\R&                  S\	\\\\4   4S jrS\S\4S jrS\S\4S jrSS\
\\4   S\S\4S jjrS\
\\4   S\R&                  4S jrS\S\4S jrSS jrg)é    N)ÚPath)Úplatform)ÚAnyÚListÚTupleÚUnion)ÚurlparseÚtexts.Úreturnc                 ó˜   •  SSK Jn  [	        U  Vs/ s H
  o1" U5      PM     sn5      $ ! [         a  n[        S5      UeS nAff = fs  snf )Nr   )Úget_displayz\Required dependency 'python-bidi' is not installed. Install it with: pip install python-bidi)Úbidi.algorithmr   ÚImportErrorÚModuleNotFoundErrorÚtuple)r
   r   ÚeÚtexts       ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/rapidocr/utils/utils.pyÚreorder_bidi_for_displayr      sX   € ðÝ.ô ±Ó6²¨�+˜dÖ#±Ñ6Ó7Ð7øô ó Ü!ð7ó
ð ð	ûðüò 7s   ‚) ‘A©
A³?¿AÚdataÚindicesc                 óà   • [        U [        R                  5      (       a  X   $ [        U [        [        45      (       a  U Vs/ s H  o U   PM	     sn$ [        S[        U 5       35      es  snf )NzUnsupported data type: )Ú
isinstanceÚnpÚndarrayÚlistr   Ú	TypeErrorÚtype)r   r   Úis      r   Úfilter_by_indicesr       sa   € ô �$œŸ
™
×#Ñ#Ø‰}Ðä�$œœu˜×&Ñ&Ù!(Ó)¢˜A�Q”¡Ñ)Ð)ä
Ð-¬d°4«j¨\Ð:Ó
;Ð;ùò *s   ÁA+c                 ó6   • [        U 5      R                  SSS9  g )NT©ÚparentsÚexist_ok)r   Úmkdir)Údir_paths    r   r%   r%   *   s   € ÜˆƒN×Ñ °ÐÒ5ó    Úbboxc                 ó   • U R                   S:w  a  [        S5      eU R                  S   S:w  a  U R                  S   S:w  a  [        S5      eU S S 2S S 2S4   R                  5       U S S 2S S 2S4   R                  5       p![        R
                  " U5      [        R
                  " U5      pC[        R                  " U5      [        R                  " U5      pe[        U5      [        U5      [        U5      [        U5      4$ )Né   zbbox shape must be 3é   é   é   zbbox shape must be (N, 4, 2)r   )ÚndimÚ
ValueErrorÚshapeÚflattenr   ÚminÚmaxÚfloat)r(   Úall_xÚall_yÚx_minÚy_minÚx_maxÚy_maxs          r   Úquads_to_rect_bboxr;   .   s¾   € Ø‡y�y�Aƒ~ÜÐ/Ó0Ð0à‡z�z�!�}˜Ó˜dŸj™j¨™m¨qÓ0ÜÐ7Ó8Ð8àššA˜q˜‘M×)Ñ)Ó+¨T²!²Q¸°'©]×-BÑ-BÓ-Dˆ5Ü—6’6˜%“=¤"§&¢&¨£-ˆ5Ü—6’6˜%“=¤"§&¢&¨£-ˆ5Ü�‹<œ˜u›¤u¨U£|´U¸5³\ÐAÐAr'   Úchc                 óœ   • SU s=:*  =(       a    S:*  Os  =(       d1    SU s=:*  =(       a    S:*  Os  =(       d    SU s=:*  =(       a    S:*  $ s  $ )Nu   ä¸€u   é¿¿u   ã€€u   ã€¿u   ï¼€u   ï¿¯© )r<   s    r   Úis_chinese_charr?   ;   sK   € à�B×"Ó"˜(Ô"÷ 	&Ø�r×%Ó%˜XÔ%÷	&à�r×%Ó%˜XÑ%ðñ &ðr'   r   c                 ó&   • [        S U  5       5      $ )Nc              3   ó8   #   • U  H  n[        U5      v •  M     g 7f©N)r?   )Ú.0r<   s     r   Ú	<genexpr>Ú#has_chinese_char.<locals>.<genexpr>D   s   é € Ð2ªT rŒ˜r×"Ð"ªTùs   ‚)Úany)r   s    r   Úhas_chinese_charrG   C   s   € ÜÑ2©TÓ2Ó2Ð2r'   Ú	file_pathÚ
chunk_sizec                 ó  • [        U S5       n[        R                  " 5       n UR                  U5      nU(       d  OUR	                  U5        M,  S S S 5        UR                  5       $ ! , (       d  f       WR                  5       $ = f)NÚrb)ÚopenÚhashlibÚsha256ÚreadÚupdateÚ	hexdigest)rH   rI   ÚfileÚsha_signatureÚchunks        r   Úget_file_sha256rU   G   st   € Ü	ˆi˜Ô	 $ÜŸšÓ(ˆØØ—I‘I˜jÓ)ˆEÞØØ× Ñ  Ô'ñ	 ÷ 
ð ×"Ñ"Ó$Ð$÷ 
Ô	ð ×"Ñ"Ó$Ð$ús   �AA(Á(
BÚ	save_pathÚimgc                 óœ  • [        U 5      R                  R                  5       (       d#  [        U 5      R                  R                  SSS9  [        R
                  " S5      (       aF  [        R                  " [        U 5      R                  U5      S   R                  [        U 5      5        g [        R                  " [        U 5      U5        g )NTr"   Úwin32r+   )r   ÚparentÚexistsr%   r   Ú
startswithÚcv2ÚimencodeÚsuffixÚtofileÚstrÚimwrite)rV   rW   s     r   Úsave_imgrc   S   sŠ   € Ü�	‹?×!Ñ!×(Ñ(×*Ñ*ÜˆY‹×Ñ×$Ñ$¨T¸DÐ$ÑAä×Ò˜7×#Ñ#Ü�Š”T˜)“_×+Ñ+¨SÓ1°!Ñ4×;Ñ;¼CÀ	»NÔKØä‡K‚K”�I“ Õ$r'   Úurlc                 óŠ   •  [        U 5      n[        UR                  UR                  /5      $ ! [         a
  n S nAgS nAff = f)NF)r	   ÚallÚschemeÚnetlocÚ	Exception)rd   Úresultr   s      r   Úis_urlrk   ^   s;   € ðÜ˜#“ˆÜ�F—M‘M 6§=¡=Ð1Ó2Ð2øÜó Üûðús   ‚+. ®
A½Ac                 óP   •  [         R                  " XS9nU$ ! [         a     g f = f)N)Úpackage)Ú	importlibÚimport_moduler   )Únamerm   Úmodules      r   Úimport_packagerr   f   s.   € ðÜ×(Ò(¨Ñ?ˆØˆøÜó Ùðús   ‚ ˜
%¤%)i   rB   ) rM   rn   Úpathlibr   Úsysr   Útypingr   r   r   r   Úurllib.parser	   r]   Únumpyr   ra   Úbytesr   r   Úintr    r%   r4   r;   Úboolr?   rG   rU   rc   rk   rr   r>   r'   r   Ú<module>r{      sv  ðó Û Ý Ý ß *Ó *Ý !ã 
Û ð8Ø��s˜E�zÑ" CÐ'Ñ(ð8à
ˆ5��e�Ñ˜cÐ!Ñ"ô8ð
<Ø
�—
‘
˜D ™I u¨S¡zÐ1Ñ
2ð
<à�2—:‘:˜t C™y¨%°°S°©/Ð9Ñ:ð
<ð ˆ2�:‰:�t˜C‘y %¨¡*Ð,Ñ-ô
<ò6ð
B˜RŸZ™Zð 
B¨E°%¸ÀÀuÐ2LÑ,Mô 
Bð˜ð  ô ð3˜3ð 3 4ô 3ñ	%˜u S¨$ YÑ/ð 	%¸Sð 	%ÈSõ 	%ð%˜˜c 4˜iÑ(ð %¨r¯z©zô %ð�ð ˜ô õr'   