§
    jŠtj@  ã                   óÂ  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z  d dlm!Z! d dl"m#Z# d dl"m$Z$ d dl"m%Z% d dl&m'Z' dZ(	 d dl)m*Z* dZ+n# e,$ r dZ+Y nw xY w	 d dl-Z.dZ/n# e,$ r dZ/Y nw xY w e j0        d¦  «        Z1dZ2 ej3        d¦  «        Z4dZ5h d£Z6d e7fd!e7fd"e7fd#e8fd$e9fd%e8fd&œZ:d'd(d)d*d+œZ; e%d,¦  «        Z< e%d-¦  «        Z= G d.„ d/¦  «        Z> G d0„ d1e?¦  «        Z@ G d2„ d3eA¦  «        ZB G d4„ d5e?¦  «        ZC G d6„ d7e?¦  «        ZD G d8„ d9e?¦  «        ZEd:„ ZFed]d;„¦   «         ZGd<„ ZHd=„ ZId>„ ZJd?„ ZKed@„ ¦   «         ZLd^dA„ZM	 	 	 d_dC„ZNd`dDe9dEeOfdF„ZP	 	 	 	 dadGe e9         dHe!e9         dIe7dJe7dEeOf
dK„ZQ	 	 	 	 	 	 dbdL„ZRdM„ ZSdN„ ZTdO„ ZUeHdcdP„¦   «         ZVeHdQ„ ¦   «         ZWddBd e>jX        d fdR„ZY	 	 	 	 	 dddT„ZZ	 	 	 	 dedU„Z[ddBd e>jX        d fdV„Z\d]dW„Z]ddBd e>jX        d dfdX„Z^dYdBd e>jX        d fdZ„Z_d[„ Z`ead\k    r eb e`¦   «         ¦  «        ‚dS )fé    N)Úcontextmanager)Ú
QUOTE_NONE)ÚENOENT)Úwraps)Úiglob)ÚBytesIO)Úenviron)Úextsep)Úlinesep)Úremove)Únormcase)Únormpath)Úrealpath)ÚNamedTemporaryFile)Úsleep)ÚList)ÚOptional)ÚInvalidVersion)Úparse)ÚVersion)ÚImageÚ	tesseract)ÚndarrayTFÚpytesseractzutf-8z	^[a-z_]+$ÚRGB>
   ÚBMPÚGIFÚPBMÚPGMÚPNGÚPPMÚJPEGÚTIFFÚWEBPÚJPEG2000Úpage_numÚorientationÚrotateÚorientation_confÚscriptÚscript_conf)zPage numberzOrientation in degreesÚRotatezOrientation confidenceÚScriptzScript confidencez.tessedit_create_boxfile=1 batch.nochop makeboxztessedit_create_alto=1ztessedit_create_hocr=1ztessedit_create_tsv=1)ÚboxÚxmlÚhocrÚtsvz3.05z4.1.0c                   ó   — e Zd ZdZdZdZdZdS )ÚOutputÚbytesz
data.frameÚdictÚstringN)Ú__name__Ú
__module__Ú__qualname__ÚBYTESÚ	DATAFRAMEÚDICTÚSTRING© ó    úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pytesseract/pytesseract.pyr3   r3   V   s"   € € € € € Ø€EØ€IØ€DØ€F€F€Fr?   r3   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚPandasNotSupportedc                 óJ   •— t          ¦   «                              d¦  «         d S )NzMissing pandas package©ÚsuperÚ__init__©ÚselfÚ	__class__s    €r@   rF   zPandasNotSupported.__init__^   s"   ø€ Ý‰Œ×ÒÐ1Ñ2Ô2Ð2Ð2Ð2r?   ©r7   r8   r9   rF   Ú__classcell__©rI   s   @r@   rB   rB   ]   s8   ø€ € € € € ð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3r?   rB   c                   ó   — e Zd Zd„ ZdS )ÚTesseractErrorc                 ó4   — || _         || _        ||f| _        d S ©N)ÚstatusÚmessageÚargs)rH   rQ   rR   s      r@   rF   zTesseractError.__init__c   s    € ØˆŒØˆŒØ˜WÐ%ˆŒ	ˆ	ˆ	r?   N)r7   r8   r9   rF   r>   r?   r@   rN   rN   b   s#   € € € € € ð&ð &ð &ð &ð &r?   rN   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTesseractNotFoundErrorc                 óZ   •— t          ¦   «                              t          › d�¦  «         d S )NzQ is not installed or it's not in your PATH. See README file for more information.)rE   rF   Útesseract_cmdrG   s    €r@   rF   zTesseractNotFoundError.__init__j   s;   ø€ Ý‰Œ×ÒÝð 6ð 6ð 6ñ	
ô 	
ð 	
ð 	
ð 	
r?   rJ   rL   s   @r@   rU   rU   i   s8   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r?   rU   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTSVNotSupportedc                 óJ   •— t          ¦   «                              d¦  «         d S )Nz4TSV output not supported. Tesseract >= 3.05 requiredrD   rG   s    €r@   rF   zTSVNotSupported.__init__r   s,   ø€ Ý‰Œ×ÒØBñ	
ô 	
ð 	
ð 	
ð 	
r?   rJ   rL   s   @r@   rY   rY   q   ó8   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r?   rY   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚALTONotSupportedc                 óJ   •— t          ¦   «                              d¦  «         d S )Nz6ALTO output not supported. Tesseract >= 4.1.0 requiredrD   rG   s    €r@   rF   zALTONotSupported.__init__y   s,   ø€ Ý‰Œ×ÒØDñ	
ô 	
ð 	
ð 	
ð 	
r?   rJ   rL   s   @r@   r]   r]   x   r[   r?   r]   c                 ó&  — |                       ¦   «          	 |                      d¦  «         n*# t          $ r t          d¦  «         Y nt          $ r Y nw xY w|                      ¦   «          || _        d S # |                      ¦   «          || _        w xY w)Né   )Ú	terminateÚwaitÚ	TypeErrorr   Ú	ExceptionÚkillÚ
returncode)ÚprocessÚcodes     r@   re   re      s¬   € Ø×ÒÑÔÐð"Ø�Š�Q‰ŒˆˆøÝð ð ð Ýˆa‰ŒˆˆˆÝð ð ð Øˆðøøøð 	�Š‰ŒˆØ!ˆÔÐÐøð 	�Š‰ŒˆØ!ˆÔÐ!Ð!Ð!Ð!s2   –, «A3 ¬AÁA3 Á	AÁA3 ÁAÁA3 Á3Bc              #   ó¾  K  — 	 |sj|                       ¦   «         d         V — 	 | j                             ¦   «          | j                             ¦   «          | j                             ¦   «          d S 	 |                       |¬¦  «        \  }}|V — n2# t
          j        $ r  t          | d¦  «         t          d¦  «        ‚w xY w	 | j                             ¦   «          | j                             ¦   «          | j                             ¦   «          d S # | j                             ¦   «          | j                             ¦   «          | j                             ¦   «          w xY w)Nr`   )ÚtimeoutéÿÿÿÿzTesseract process timeout)	ÚcommunicateÚstdinÚcloseÚstdoutÚstderrÚ
subprocessÚTimeoutExpiredre   ÚRuntimeError)ÚprocÚsecondsÚ_Úerror_strings       r@   Útimeout_managerrx   Œ   sm  è è € ðØð 	Ø×"Ò"Ñ$Ô$ QÔ'Ð'Ð'Ð'Øð 	Œ
×ÒÑÔÐØŒ×ÒÑÔÐØŒ×ÒÑÔÐÐÐð	<Ø"×.Ò.°wÐ.Ñ?Ô?‰OˆAˆ|ØÐÐÐÐøÝÔ(ð 	<ð 	<ð 	<Ý��r‰NŒNˆNÝÐ:Ñ;Ô;Ð;ð	<øøøð ð
 	Œ
×ÒÑÔÐØŒ×ÒÑÔÐØŒ×ÒÑÔÐÐÐøð 	Œ
×ÒÑÔÐØŒ×ÒÑÔÐØŒ×ÒÑÔÐÐøøøs$   „D Á1B ÂD Â/B>Â>D ÄAEc                 óN   ‡ ‡— t          ‰ ¦  «        ˆ ˆfd„¦   «         Š‰‰_        ‰S )Nc                  ój   •— |                      dd¦  «        r	‰j        ‰u r ‰| i |¤Ž‰_        ‰j        S )NÚcachedF)ÚpopÚ_result)rS   ÚkwargsÚfuncÚwrappers     €€r@   r€   zrun_once.<locals>.wrapper    sC   ø€ à�zŠz˜( EÑ*Ô*ð 	4¨g¬oÀÐ.HÐ.HØ"˜d DÐ3¨FÐ3Ð3ˆGŒOØŒÐr?   )r   r}   )r   r€   s   `@r@   Úrun_oncer�   Ÿ   s@   øø€ Ý
ˆ4�[„[ðð ð ð ð ñ „[ðð
 €G„OØ€Nr?   c                 ó¸   — d                      d„ |                      t          ¦  «                             ¦   «         D ¦   «         ¦  «                             ¦   «         S )Nú c              3   ó   K  — | ]}|V — Œd S rP   r>   ©Ú.0Úlines     r@   ú	<genexpr>zget_errors.<locals>.<genexpr>«   s3   è è € ð ð Øˆðð ð ð ð ð r?   )ÚjoinÚdecodeÚDEFAULT_ENCODINGÚ
splitlinesÚstrip)rw   s    r@   Ú
get_errorsrŽ   ª   sX   € Ø�8Š8ð ð Ø%×,Ò,Õ-=Ñ>Ô>×IÒIÑKÔKðñ ô ñ ô ç‚e�g„gðr?   c                 ó¨   — t          | r| › d�n| ¦  «        D ]:}	 t          |¦  «         Œ# t          $ r}|j        t          k    r‚ Y d}~Œ3d}~ww xY wdS )z5Tries to remove temp files by filename wildcard path.Ú*N)r   r   ÚOSErrorÚerrnor   )Ú	temp_nameÚfilenameÚes      r@   Úcleanupr–   °   sˆ   € å¨YÐE˜Y˜/˜/˜/˜/¸IÑFÔFð ð ˆð	Ý�8ÑÔÐÐøÝð 	ð 	ð 	ØŒw�&Ò Ð Øð !Ð Ð Ð Ð øøøøð	øøøðð s   š*ª
A´A
Á
Ac                 óÞ  — t           r)t          | t          ¦  «        rt          j        | ¦  «        } t          | t          j        ¦  «        st          d¦  «        ‚| j        sdn| j        }|t          vrt          d¦  «        ‚d|                      ¦   «         v rLt          j	        t          | j        d¦  «        }|                     | d|                      d¦  «        ¦  «         |} || _        | |fS )NzUnsupported image objectr    zUnsupported image format/typeÚA)éÿ   r™   r™   )r   r   )Únumpy_installedÚ
isinstancer   r   Ú	fromarrayrc   ÚformatÚSUPPORTED_FORMATSÚgetbandsÚnewÚRGB_MODEÚsizeÚpasteÚ
getchannel)ÚimageÚ	extensionÚ
backgrounds      r@   Úpreparer¨   º   sá   € Ýð '�: e­WÑ5Ô5ð 'Ý” Ñ&Ô&ˆå�e�Uœ[Ñ)Ô)ð 4ÝÐ2Ñ3Ô3Ð3à"œ\Ð;��¨u¬|€IØÕ)Ð)Ð)ÝÐ7Ñ8Ô8Ð8à
ˆe�nŠnÑÔÐÐå”Y�x¨¬°_ÑEÔEˆ
Ø×Ò˜ ¨×(8Ò(8¸Ñ(=Ô(=Ñ>Ô>Ð>Øˆà€E„LØ�)ÐÐr?   c           	   #   ó"  K  — 	 t          dd¬¦  «        5 }t          | t          ¦  «        rT|j        t	          t          t          | ¦  «        ¦  «        ¦  «        fV — 	 d d d ¦  «         t          |j        ¦  «         d S t          | ¦  «        \  } }|j        › dt          › |› �}|  
                    || j        ¬¦  «         |j        |fV — d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «         d S # t          |j        ¦  «         w xY w)NÚtess_F)ÚprefixÚdeleteÚ_input)r�   )r   r›   ÚstrÚnamer   r   r   r–   r¨   r
   Úsaver�   )r¥   Úfr¦   Úinput_file_names       r@   r°   r°   Ï   s[  è è € ð
Ý w°uÐ=Ñ=Ô=ð 	*ÀÝ˜%¥Ñ%Ô%ð Ø”f�h¥xµ¸±´Ñ'@Ô'@ÑAÔAÐAÐAÐAÐAØð	*ð 	*ð 	*ñ 	*ô 	*ð 	*õ 	�”‰Œˆˆˆõ  ' u™~œ~ÑˆE�9Ø!"¤ÐBÐB­vÐB°yÐBÐBˆOØ�JŠJ�¨u¬|ˆJÑ<Ô<Ð<Ø”&˜/Ð)Ð)Ð)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*õ 	�”‰Œˆˆˆø��”‰Œˆˆøøøs<   „C8 •A	CÁC8 Á?ACÃC8 ÃCÃC8 ÃCÃC8 Ã8Dc                 óL  — t           j        t           j        d t          dœ}t          t           d¦  «        rMt          j        ¦   «         |d<   |d         xj        t           j        z  c_        t           j        |d         _        | rt           j        |d<   nt           j	        |d<   |S )N)rm   rp   ÚstartupinfoÚenvÚSTARTUPINFOr´   ro   )
rq   ÚPIPEr	   Úhasattrr¶   ÚdwFlagsÚSTARTF_USESHOWWINDOWÚSW_HIDEÚwShowWindowÚDEVNULL)Úinclude_stdoutr~   s     r@   Úsubprocess_argsr¿   Þ   sœ   € õ
 ”Ý”/ØÝð	ð €Fõ �z˜=Ñ)Ô)ð ?Ý *Ô 6Ñ 8Ô 8ˆˆ}ÑØˆ}ÔÐ%Ô%­Ô)HÑHÐ%Ô%Ý,6Ô,>ˆˆ}ÔÔ)àð .Ý%œ?ˆˆxÑÐå%Ô-ˆˆxÑà€Mr?   Ú c                 ó¦  — g }t           j        dk     }|r|dk    r|ddt          |¦  «        fz  }|t          | |fz  }|�|d|fz  }|r|t	          j        ||¬¦  «        z  }|                     ¦   «         D ]}	|	dvr|                     |	¦  «         Œt                               d|¦  «         	 t          j
        |fi t          ¦   «         ¤Ž}
n1# t          $ r$}|j        t          k    r‚ t          ¦   «         ‚d }~ww xY wt!          |
|¦  «        5 }|
j        r"t%          |
j        t'          |¦  «        ¦  «        ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )	NÚwin32r   Únicez-nú-l)Úposix>   r.   Úosdr1   r/   z%r)ÚsysÚplatformr®   rW   ÚshlexÚsplitÚappendÚLOGGERÚdebugrq   ÚPopenr¿   r‘   r’   r   rU   rx   rf   rN   rŽ   )Úinput_filenameÚoutput_filename_baser¦   ÚlangÚconfigrÃ   rj   Úcmd_argsÚnot_windowsÚ
_extensionrt   r•   rw   s                r@   Úrun_tesseractrÖ   ö   sã  € ð €HÝ”| wÒ.Ð/€Kàð .�t˜q’y�yØ�V˜T¥3 t¡9¤9Ð-Ñ-ˆà• Ð0DÐEÑE€HàÐØ�T˜4�LÑ ˆàð ;Ø•E”K ¨kÐ:Ñ:Ô:Ñ:ˆà—o’oÑ'Ô'ð (ð (ˆ
ØÐ9Ð9Ð9Ø�OŠO˜JÑ'Ô'Ð'øÝ
‡L‚L��xÑ Ô Ð ð+ÝÔ Ð>Ð>­OÑ,=Ô,=Ð>Ð>ˆˆøÝð +ð +ð +ØŒ7•fÒÐØå(Ñ*Ô*Ð*øøøøð	+øøøõ 
˜˜wÑ	'Ô	'ð L¨<ØŒ?ð 	LÝ  ¤µ*¸\Ñ2JÔ2JÑKÔKÐKð	LðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lð Lð Ls*   Â.C Ã
C;ÃC6Ã6C;Ä*EÅE
ÅE
r”   Úreturn_bytesc                 óò   — t          | d¦  «        5 }|r |                     ¦   «         cd d d ¦  «         S |                     ¦   «                              t          ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )NÚrb)ÚopenÚreadrŠ   r‹   )r”   r×   Úoutput_files      r@   Ú_read_outputrÝ     sÒ   € Ý	ˆh˜Ñ	Ô	ð ; Øð 	&Ø×#Ò#Ñ%Ô%ð;ð ;ð ;ð ;ñ ;ô ;ð ;ð ;ð ×ÒÑ!Ô!×(Ò(Õ)9Ñ:Ô:ð;ð ;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;s   ‘A,´+A,Á,A0Á3A0Ú
extensionsrÑ   rÃ   rj   c           	      óD  ‡‡	— d                      d„ |D ¦   «         ¦  «                             ¦   «         }|rd|› �}nd}t          | ¦  «        5 \  }}||d                      |¦  «        ||||dœŠ	t          di ‰	¤Ž ˆ	ˆfd„|D ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )Nrƒ   c              3   óL   K  — | ]}t                                |d ¦  «        V — Œ dS )rÀ   N)ÚEXTENTION_TO_CONFIGÚget)r†   r¦   s     r@   rˆ   z.run_and_get_multiple_output.<locals>.<genexpr>.  sD   è è € ð ð Ø3<Õ×Ò 	¨2Ñ.Ô.ðð ð ð ð ð r?   z-c rÀ   ©rÏ   rÐ   r¦   rÑ   rÒ   rÃ   rj   c                 ó^   •— g | ])}t          ‰d          › t          › |› �|dv rdn‰¦  «        ‘Œ*S )rÐ   ¾   Úpdfr0   T)rÝ   r
   )r†   r¦   r~   r×   s     €€r@   ú
<listcomp>z/run_and_get_multiple_output.<locals>.<listcomp>C  s_   ø€ ð 
ð 
ð 
ð
 õ	 ØÐ0Ô1ÐFµ6ÐF¸9ÐFÐFØ! _Ð4Ð4��¸,ñô ð
ð 
ð 
r?   r>   )r‰   r�   r°   rÖ   )
r¥   rÞ   rÑ   rÃ   rj   r×   rÒ   r“   rÏ   r~   s
        `   @r@   Úrun_and_get_multiple_outputrè   &  s?  øø€ ð �XŠXð ð Ø@Jðñ ô ñ ô ç‚e�g„gð ð ð Ø�v��ˆˆàˆå	ˆe‰Œð 
Ñ3˜ Nà,Ø$-ØŸš *Ñ-Ô-ØØØØð
ð 
ˆõ 	ÐÐ˜ÐÐÐð
ð 
ð 
ð 
ð 
ð
 (ð
ñ 
ô 
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   Á;BÂBÂBc           	      óÈ   — t          | ¦  «        5 \  }}|||||||dœ}	t          di |	¤Ž t          |	d         › t          › |› �|¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nrã   rÐ   r>   )r°   rÖ   rÝ   r
   )
r¥   r¦   rÑ   rÒ   rÃ   rj   r×   r“   rÏ   r~   s
             r@   Úrun_and_get_outputrê   L  sÖ   € õ 
ˆe‰Œð 
Ñ3˜ Nà,Ø$-Ø"ØØØØð
ð 
ˆõ 	ÐÐ˜ÐÐÐÝØÐ,Ô-ÐB­vÐB°yÐBÐBØñ
ô 
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   �:AÁAÁAc                 óª  ‡— i }ˆfd„|                       ¦   «                              d¦  «        D ¦   «         }t          |¦  «        dk     r|S |                     d¦  «        }t          |¦  «        }t          |d         ¦  «        |k     r|d                              d¦  «         |dk     r||z  }t          |¦  «        D ]”\  }}t          ¦   «         ||<   |D ]{}	t          |	¦  «        |k    rŒ||k    r<	 t          t          |	|         ¦  «        ¦  «        }
n # t          $ r |	|         }
Y nw xY w|	|         }
||                              |
¦  «         Œ|Œ•|S )Nc                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r>   ©rÊ   )r†   ÚrowÚcell_delimiters     €r@   rç   z file_to_dict.<locals>.<listcomp>i  s%   ø€ ÐIÐIÐI¨#ˆC�IŠI�nÑ%Ô%ÐIÐIÐIr?   ú
é   r   rk   rÀ   )
r�   rÊ   Úlenr|   rË   Ú	enumerateÚlistÚintÚfloatÚ
ValueError)r1   rï   Ústr_col_idxÚresultÚrowsÚheaderÚlengthÚiÚheadrî   Úvals    `         r@   Úfile_to_dictr   g  sq  ø€ Ø€FØIÐIÐIÐI°·²±´×1BÒ1BÀ4Ñ1HÔ1HÐIÑIÔI€DÝ
ˆ4�y„y�1‚}€}Øˆà�XŠX�a‰[Œ[€FÝ�‰[Œ[€FÝ
ˆ4�Œ8�}„}�vÒÐð 	ˆRŒ�Š˜ÑÔÐà�Q‚€Ø�vÑˆå˜VÑ$Ô$ð %ð %‰ˆˆ4Ý‘v”vˆˆt‰Øð 	%ð 	%ˆCÝ�3‰xŒx˜1Š}ˆ}Øà�KÒÐð!Ý�e C¨¤F™mœmÑ,Ô,�C�CøÝ!ð !ð !ð !Ø˜aœ&�C�C�Cð!øøøð ˜!”f�à�4ŒL×Ò Ñ$Ô$Ð$Ð$ð	%ð €Ms   Ã3"DÄD+Ä*D+c                 ó˜   — |t           u r|                      ¦   «         S |t          u r#	 t          | ¦  «         dS # t          $ r Y dS w xY wdS )NTF)rõ   Úisdigitrö   r÷   )rÿ   Ú_types     r@   Úis_validr  Š  s`   € Ø•€|€|Ø�{Š{‰}Œ}Ðà•€~€~ð	Ý�#‰JŒJˆJØ�4øÝð 	ð 	ð 	Ø�5�5ð	øøøð ˆ4s   ¨9 ¹
AÁAc                 óT   — d„ d„ |                       d¦  «        D ¦   «         D ¦   «         S )Nc                 ó  — i | ]�}t          |¦  «        d k    ¯t          |d         t          |d                  d         ¦  «        ¯Bt          |d                  d         t          |d                  d         |d         ¦  «        “Œ‚S )rñ   r`   r   )rò   r  ÚOSD_KEYS)r†   Úkvs     r@   ú
<dictcomp>zosd_to_dict.<locals>.<dictcomp>™  sv   € ð ð ð àÝˆr‰7Œ7�aŠ<ˆ<�H R¨¤U­H°R¸´U¬O¸AÔ,>Ñ?Ô?ˆ<õ 	��A”Œ˜Ô�H R¨¤UœO¨AÔ.¨r°!¬uÑ5Ô5àˆ<ˆ<r?   c              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS )ú: Nrí   r…   s     r@   rˆ   zosd_to_dict.<locals>.<genexpr>›  s.   è è € Ð@Ð@¨�4—:’:˜dÑ#Ô#Ð@Ð@Ð@Ð@Ð@Ð@r?   rð   rí   )rÆ   s    r@   Úosd_to_dictr  ˜  s;   € ðð à@Ð@°·	²	¸$±´Ð@Ñ@Ô@ðñ ô ð r?   c                 ó  — t           dg}| r|t          j        | ¦  «        z  }	 t          j        |t          j        t          j        ¬¦  «        }n# t          $ r t          ¦   «         ‚w xY w|j	        dvrt          ¦   «         ‚g }|j
        r}|j
                             t          ¦  «                             t          ¦  «        D ]E}|                     ¦   «         }t                               |¦  «        r|                     |¦  «         ŒF|S )Nz--list-langs)ro   rp   )r   r`   )rW   rÉ   rÊ   rq   Úrunr·   ÚSTDOUTr‘   rU   rf   ro   rŠ   r‹   r   r�   ÚLANG_PATTERNÚmatchrË   )rÒ   rÓ   rù   Ú	languagesr‡   rÑ   s         r@   Úget_languagesr     s  € å˜~Ð.€HØð (Ø•E”K Ñ'Ô'Ñ'ˆð'Ý”ØÝ”?ÝÔ$ð
ñ 
ô 
ˆˆøõ
 ð 'ð 'ð 'Ý$Ñ&Ô&Ð&ð'øøøð Ô Ð&Ð&Ý$Ñ&Ô&Ð&à€IØ„}ð 'Ø”M×(Ò(Õ)9Ñ:Ô:×@Ò@ÅÑIÔIð 	'ð 	'ˆDØ—:’:‘<”<ˆDÝ×!Ò! $Ñ'Ô'ð 'Ø× Ò  Ñ&Ô&Ð&øàÐs   ¤+A ÁA)c                  ó  — 	 t          j        t          dgt           j        t          t           j        ¬¦  «        } n# t          $ r t          ¦   «         ‚w xY w|                      t          ¦  «        }| 
                    t          j        dd…         ¦  «                             d¦  «        ^}}|                     d¦  «        ^}}	 t          |¦  «        }|t          k    sJ ‚n(# t           t"          f$ r t%          d|› d�¦  «        ‚w xY w|S )	z9
    Returns Version object of the Tesseract version
    z	--version)rp   rµ   rm   é
   Nrƒ   ú-zInvalid tesseract version: "ú")rq   Úcheck_outputrW   r  r	   r½   r‘   rU   rŠ   r‹   Úlstripr6   Ú	printableÚ	partitionr   ÚTESSERACT_MIN_VERSIONÚAssertionErrorr   Ú
SystemExit)ÚoutputÚraw_versionÚstr_versionrv   Úversions        r@   Úget_tesseract_versionr#  ½  s)  € ð
'ÝÔ(Ý˜KÐ(ÝÔ$ÝÝÔ$ð	
ñ 
ô 
ˆˆøõ ð 'ð 'ð 'Ý$Ñ&Ô&Ð&ð'øøøð —-’-Õ 0Ñ1Ô1€KØ!×(Ò(­Ô)9¸"¸#¸#Ô)>Ñ?Ô?×IÒIÈ#ÑNÔN€O€K�!Ø!×+Ò+¨CÑ0Ô0€O€K�!ðHÝ˜Ñ$Ô$ˆØÕ/Ò/Ð/Ð/Ð/Ð/øÝ�NÐ+ð Hð Hð HÝÐF¸ÐFÐFÐFÑGÔGÐGðHøøøð €Ns   ‚8; »AÃC" Ã"%Dc                 óŽ   ‡— | d||||gŠ	 t          j        ˆfd„t           j        ˆfd„t           j        ˆfd„i|         ¦   «         S )zS
    Returns the result of a Tesseract OCR run on the provided image to string
    Útxtc                  ó   •— t          ‰ dgz   Ž S ©NT©rê   ©rS   s   €r@   ú<lambda>z!image_to_string.<locals>.<lambda>ç  ó   ø€ Õ0°4¸4¸&±=ÐB€ r?   c                  ó   •— dt          ‰ Ž iS )NÚtextr(  r)  s   €r@   r*  z!image_to_string.<locals>.<lambda>è  s   ø€ ˜fÕ&8¸$Ð&?Ð@€ r?   c                  ó   •— t          ‰ Ž S rP   r(  r)  s   €r@   r*  z!image_to_string.<locals>.<lambda>é  ó   ø€ Õ1°4Ð8€ r?   )r3   r:   r<   r=   ©r¥   rÑ   rÒ   rÃ   Úoutput_typerj   rS   s         @r@   Úimage_to_stringr2  Ù  sm   ø€ ð �5˜$ ¨¨gÐ6€DðÝŒÐBÐBÐBÐBÝŒÐ@Ð@Ð@Ð@ÝŒÐ8Ð8Ð8Ð8ðð ô	ñ ô ð r?   ræ   c                 óŒ   — |dvrt          d|› �¦  «        ‚|dk    rd|                     ¦   «         › �}| |||||dg}t          |Ž S )zU
    Returns the result of a Tesseract OCR run on the provided image to pdf/hocr
    rå   zUnsupported extension: r0   z-c tessedit_create_hocr=1 T)r÷   r�   rê   )r¥   rÑ   rÒ   rÃ   r¦   rj   rS   s          r@   Úimage_to_pdf_or_hocrr4  í  se   € ð ˜Ð'Ð'ÝÐ>°9Ð>Ð>Ñ?Ô?Ð?à�FÒÐØ>¨f¯lªl©n¬nÐ>Ð>ˆà�9˜d F¨D°'¸4Ð@€Då˜tÐ$Ð$r?   c                 ó¢   — t          d¬¦  «        t          k     rt          ¦   «         ‚d|                     ¦   «         › �}| d||||dg}t	          |Ž S )zU
    Returns the result of a Tesseract OCR run on the provided image to ALTO XML
    T©r{   z-c tessedit_create_alto=1 r/   )r#  ÚTESSERACT_ALTO_VERSIONr]   r�   rê   )r¥   rÑ   rÒ   rÃ   rj   rS   s         r@   Úimage_to_alto_xmlr8    s[   € õ  DÐ)Ñ)Ô)Õ,BÒBÐBÝÑ Ô Ð à:¨&¯,ª,©.¬.Ð:Ð:€FØ�5˜$ ¨¨g°tÐ<€Då˜tÐ$Ð$r?   c                 ó¼   ‡— |                      ¦   «         › d�}| d||||gŠ	 t          j        ˆfd„t          j        ˆfd„t          j        ˆfd„i|         ¦   «         S )zR
    Returns string containing recognized characters and their box boundaries
    z2 -c tessedit_create_boxfile=1 batch.nochop makeboxr.   c                  ó   •— t          ‰ dgz   Ž S r'  r(  r)  s   €r@   r*  z image_to_boxes.<locals>.<lambda>)  r+  r?   c                  ó:   •— t          dt          ‰ Ž › �dd¦  «        S )Nz char left bottom right top page
rƒ   r   ©r   rê   r)  s   €r@   r*  z image_to_boxes.<locals>.<lambda>*  s(   ø€ �\ØKÕ0BÀDÐ0IÐKÐKØØñ
ô 
€ r?   c                  ó   •— t          ‰ Ž S rP   r(  r)  s   €r@   r*  z image_to_boxes.<locals>.<lambda>/  r/  r?   ©r�   r3   r:   r<   r=   r0  s         @r@   Úimage_to_boxesr?    s’   ø€ ð �<Š<‰>Œ>ÐMÐMÐMð ð �5˜$ ¨¨gÐ6€DðÝŒÐBÐBÐBÐBÝŒð 
ð 
ð 
ð 
õ
 	ŒÐ8Ð8Ð8Ð8ðð ôñ ô ð r?   c                 óè   — t           st          ¦   «         ‚t          ddœ}	 |                     |¦  «         n# t          t
          f$ r Y nw xY wt          j        t          t          | Ž ¦  «        fi |¤ŽS )Nú	)ÚquotingÚsep)
Úpandas_installedrB   r   Úupdaterc   r÷   ÚpdÚread_csvr   rê   )rS   rÒ   r~   s      r@   Úget_pandas_outputrH  3  sŠ   € Ýð #Ý Ñ"Ô"Ð"å#¨DÐ1Ð1€FðØ�Š�fÑÔÐÐøÝ•zÐ"ð ð ð Øˆðøøøõ Œ;•wÕ1°4Ð8Ñ9Ô9ÐDÐD¸VÐDÐDÐDs   ¡7 ·AÁ
Ac           
      ó,  ‡‡— t          d¬¦  «        t          k     rt          ¦   «         ‚d|                     ¦   «         › �}| d||||gŠ	 t	          j        ˆfd„t          j        ˆˆfd„t          j        ˆfd„t          j        ˆfd„i|         ¦   «         S )	zt
    Returns string containing box boundaries, confidences,
    and other information. Requires Tesseract 3.05+
    Tr6  z-c tessedit_create_tsv=1 r1   c                  ó   •— t          ‰ dgz   Ž S r'  r(  r)  s   €r@   r*  zimage_to_data.<locals>.<lambda>U  r+  r?   c                  ó,   •— t          ‰ dgz   ‰¦  «        S r'  )rH  )rS   Úpandas_configs   €€r@   r*  zimage_to_data.<locals>.<lambda>V  s   ø€ Õ"3Ø�D�6‰MØñ#
ô #
€ r?   c                  ó4   •— t          t          ‰ Ž dd¦  «        S )NrA  rk   r<  r)  s   €r@   r*  zimage_to_data.<locals>.<lambda>Z  s   ø€ �\Õ*<¸dÐ*CÀTÈ2ÑNÔN€ r?   c                  ó   •— t          ‰ Ž S rP   r(  r)  s   €r@   r*  zimage_to_data.<locals>.<lambda>[  r/  r?   )	r#  r  rY   r�   r3   r:   r;   r<   r=   )r¥   rÑ   rÒ   rÃ   r1  rj   rL  rS   s         `@r@   Úimage_to_datarO  @  sÇ   øø€ õ  DÐ)Ñ)Ô)Õ,AÒAÐAÝÑÔÐà9¨¯ª©¬Ð9Ð9€FØ�5˜$ ¨¨gÐ6€DðÝŒÐBÐBÐBÐBÝÔð 
ð 
ð 
ð 
ð 
õ 	ŒÐNÐNÐNÐNÝŒÐ8Ð8Ð8Ð8ðð ôñ ô ð r?   rÆ   c                 ó¼   ‡— d|                      ¦   «         › �}| d||||gŠ	 t          j        ˆfd„t          j        ˆfd„t          j        ˆfd„i|         ¦   «         S )zN
    Returns string containing the orientation and script detection (OSD)
    z--psm 0 rÆ   c                  ó   •— t          ‰ dgz   Ž S r'  r(  r)  s   €r@   r*  zimage_to_osd.<locals>.<lambda>n  r+  r?   c                  ó0   •— t          t          ‰ Ž ¦  «        S rP   )r  rê   r)  s   €r@   r*  zimage_to_osd.<locals>.<lambda>o  s   ø€ �[Õ);¸TÐ)BÑCÔC€ r?   c                  ó   •— t          ‰ Ž S rP   r(  r)  s   €r@   r*  zimage_to_osd.<locals>.<lambda>p  r/  r?   r>  r0  s         @r@   Úimage_to_osdrT  _  s‚   ø€ ð )˜Ÿš™œÐ(Ð(€FØ�5˜$ ¨¨gÐ6€DðÝŒÐBÐBÐBÐBÝŒÐCÐCÐCÐCÝŒÐ8Ð8Ð8Ð8ðð ô	ñ ô ð r?   c                  óü  — t          t          j        ¦  «        dk    rt          j        d         d }} nut          t          j        ¦  «        dk    r;t          j        d         dk    r%t          j        d         t          j        d         }} nt          dt          j        ¬¦  «         dS 	 t          j        | ¦  «        5 }t          t          ||¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S # t          $ r6}t          t          |¦  «        › d	�t          j        ¬¦  «         Y d }~dS d }~wt          $ r=}t          t          |¦  «        j        › d
|› �t          j        ¬¦  «         Y d }~dS d }~ww xY w)Nrñ   r`   é   rÄ   é   z(Usage: pytesseract [-l lang] input_file
)Úfile)rÑ   rð   r  )rò   rÇ   ÚargvÚprintrp   r   rÚ   r2  rU   r®   r‘   Útyper7   )r”   rÑ   Úimgr•   s       r@   Úmainr]  t  s¨  € Ý
�3Œ8�}„}˜ÒÐÝœ !œ d�$ˆˆÝ	�SŒX‰Œ˜!Ò	Ð	¥¤¨¤¨tÒ 3Ð 3Ýœ !œ¥c¤h¨q¤k�$ˆˆåÐ9ÅÄ
ÐKÑKÔKÐKØˆqðÝŒZ˜Ñ!Ô!ð 	3 SÝ•/ #¨DÐ1Ñ1Ô1Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øå!ð ð ð Ý•�Q‘”ˆmˆmˆm¥#¤*Ð-Ñ-Ô-Ð-ØˆqˆqˆqˆqˆqøøøøÝð ð ð Ý•�a‘”Ô!Ð(Ð( QÐ(Ð(­s¬zÐ:Ñ:Ô:Ð:ØˆqˆqˆqˆqˆqøøøøðøøøsH   Â)C6 Â=C)ÃC6 Ã)C-Ã-C6 Ã0C-Ã1C6 Ã6
E;Ä +D1Ä1E;Ä>2E6Å6E;Ú__main__rP   )T)rÀ   r   r   )F)Nr   r   F)rÀ   NrÀ   r   r   F)rÀ   )NrÀ   r   ræ   r   )NrÀ   r   r   )cÚloggingÚrerÉ   r6   rq   rÇ   Ú
contextlibr   Úcsvr   r’   r   Ú	functoolsr   Úglobr   Úior   Úosr	   r
   r   r   Úos.pathr   r   r   Útempfiler   Útimer   Útypingr   r   Úpackaging.versionr   r   r   ÚPILr   rW   Únumpyr   rš   ÚModuleNotFoundErrorÚpandasrF  rD  Ú	getLoggerrÌ   r‹   Úcompiler  r¡   rž   rõ   rö   r®   r  rá   r  r7  r3   ÚEnvironmentErrorrB   rs   rN   rU   rY   r]   re   rx   r�   rŽ   r–   r¨   r°   r¿   rÖ   ÚboolrÝ   rè   rê   r   r  r  r  r#  r=   r2  r4  r8  r?  rH  rO  rT  r]  r7   r  r>   r?   r@   ú<module>rt     s  ðà €€€Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø #Ð #Ð #Ð #Ð #Ð #Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð ð €ðØÐÐÐÐÐà€O€OøØð ð ð Ø€O€O€OðøøøðØÐÐÐàÐÐøØð ð ð ØÐÐÐðøøøð 
ˆÔ	˜=Ñ	)Ô	)€àÐ ØˆrŒz˜+Ñ&Ô&€Ø€ðð ð Ð ð  Ð$Ø,¨cÐ2Ø˜ˆoØ1°5Ð9Ø˜ˆoØ'¨Ð/ðð €ð <Ø#Ø$Ø"ð	ð Ð ð  ˜ ™œÐ Ø ˜ Ñ)Ô)Ð ðð ð ð ð ñ ô ð ð3ð 3ð 3ð 3ð 3Ð)ñ 3ô 3ð 3ð
&ð &ð &ð &ð &�\ñ &ô &ð &ð
ð 
ð 
ð 
ð 
Ð-ñ 
ô 
ð 
ð
ð 
ð 
ð 
ð 
Ð&ñ 
ô 
ð 
ð
ð 
ð 
ð 
ð 
Ð'ñ 
ô 
ð 
ð
"ð 
"ð 
"ð ðð ð ñ „ðð$ð ð ðð ð ðð ð ðð ð ð* ðð ñ „ððð ð ð ð: Ø	
Øð&Lð &Lð &Lð &LðR;ð ;˜3ð ;¨dð ;ð ;ð ;ð ;ð ØØØð#
ð #
à�S”	ð#
ð �3Œ-ð#
ð ð	#
ð
 ð#
ð ð#
ð #
ð #
ð #
ðP Ø	ØØ	
ØØð
ð 
ð 
ð 
ð6 ð  ð  ðFð ð ðð ð ð 
ðð ð ñ 
„ðð8 
ðð ñ 
„ðð: 
ØØ	
Ø”Øðð ð ð ð, 
ØØ	
ØØð%ð %ð %ð %ð2 
ØØ	
Øð%ð %ð %ð %ð, 
ØØ	
Ø”Øðð ð ð ð6
Eð 
Eð 
Eð 
Eð 
ØØ	
Ø”ØØðð ð ð ðB 
ØØ	
Ø”Øðð ð ð ð*ð ð ð( ˆzÒÐØ
ˆ*�T�T‘V”VÑ
Ô
Ðð Ðs$   ÂB# Â#B-Â,B-Â1B8 Â8CÃC