<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]6                 @   s3  d  d l  Z  d  d l Z d  d l Z d  d l Z d d d g Z Gd d   d e  Z d  Z d Z d Z	 d Z
 d	 Z Gd
 d   d  Z d d   Z Gd d   d  Z Gd d   d  Z Gd d   d  Z Gd d   d  Z d d   Z Gd d   d  Z Gd d   d  Z Gd d   d  Z d d   Z d S)    NbinhexhexbinErrorc               @   s   e  Z d  Z d S)r   N)__name__
__module____qualname__ r   r   +/opt/alt/python35/lib64/python3.5/binhex.pyr      s      i   @   s   c               @   s   e  Z d  Z d d   Z d S)FInfoc             C   s   d |  _  d |  _ d |  _ d  S)Nz????r   )TypeCreatorFlags)selfr   r   r	   __init__0   s    		zFInfo.__init__N)r   r   r   r   r   r   r   r	   r   /   s   r   c             C   s   t    } t j |  d  G } | j d  } d | k rB d | _ | j d d  | j   } Wd  QRXt j j	 |   \ } } | j
 d d d  } | | | d f S)	Nrbi   r   ZTEXT   :-r
   )r   ioopenreadr   seektellospathsplitreplace)namefinfofpdataZdsizedirfiler   r   r	   getfileinfo5   s    		r%   c               @   s@   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S)
openrsrcc             G   s   d  S)Nr   )r   argsr   r   r	   r   C   s    zopenrsrc.__init__c             G   s   d S)N    r   )r   r'   r   r   r	   r   F   s    zopenrsrc.readc             G   s   d  S)Nr   )r   r'   r   r   r	   writeI   s    zopenrsrc.writec             C   s   d  S)Nr   )r   r   r   r	   closeL   s    zopenrsrc.closeN)r   r   r   r   r   r)   r*   r   r   r   r	   r&   B   s   r&   c               @   s@   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S)
_Hqxcoderenginec             C   s,   | |  _  d |  _ d |  _ t d |  _ d  S)Nr(   r
   )ofpr"   hqxdataLINELENlinelen)r   r,   r   r   r	   r   R   s    			z_Hqxcoderengine.__init__c             C   s   |  j  | |  _  t |  j   } | d d } |  j  d  |  } |  j  | d   |  _  | s` d  S|  j t j |  |  _ |  j d  d  S)N   r   )r"   lenr-   binasciib2a_hqx_flush)r   r"   ZdatalenZtodor   r   r	   r)   X   s    z_Hqxcoderengine.writec             C   s   d } x] | t  |  j  |  j k re | |  j } |  j j |  j | |  d  t |  _ | } q	 W|  j | d   |  _ | r |  j j |  j d  d  S)Nr   s   
s   :
)r1   r-   r/   r,   r)   r.   )r   forcefirstZlastr   r   r	   r4   c   s    !	
z_Hqxcoderengine._flushc             C   sI   |  j  r% |  j t j |  j   |  _ |  j d  |  j j   |  ` d  S)Nr
   )r"   r-   r2   r3   r4   r,   r*   )r   r   r   r	   r*   n   s
    	z_Hqxcoderengine.closeN)r   r   r   r   r)   r4   r*   r   r   r   r	   r+   O   s   r+   c               @   s4   e  Z d  Z d d   Z d d   Z d d   Z d S)_Rlecoderenginec             C   s   | |  _  d |  _ d  S)Nr(   )r,   r"   )r   r,   r   r   r	   r   x   s    	z_Rlecoderengine.__init__c             C   sX   |  j  | |  _  t |  j   t k  r) d  St j |  j   } |  j j |  d |  _  d  S)Nr(   )r"   r1   REASONABLY_LARGEr2   rlecode_hqxr,   r)   )r   r"   rledatar   r   r	   r)   |   s    z_Rlecoderengine.writec             C   sB   |  j  r+ t j |  j   } |  j j |  |  j j   |  ` d  S)N)r"   r2   r9   r,   r)   r*   )r   r:   r   r   r	   r*      s
    	z_Rlecoderengine.closeN)r   r   r   r   r)   r*   r   r   r   r	   r7   u   s   r7   c               @   sp   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d d   Z	 d d   Z
 d S)BinHexc       
   	   C   s   | \ } } } } d } t  | t  rE | } t j | d  } d } yu | j d  t |  }	 t |	  |  _ d |  _ | d  k r t	   } | |  _
 | |  _ |  j | |  t |  _ Wn | r | j     Yn Xd  S)NFwbTs0   (This file must be converted with BinHex 4.0):r   )
isinstancestrr   r   r)   r+   r7   r,   crcr   dlenrlen
_writeinfo_DID_HEADERstater*   )
r   Zname_finfo_dlen_rlenr,   r   r    r@   rA   Zclose_on_errorZofnameZhqxerr   r   r	   r      s*    				
zBinHex.__init__c             C   s   t  |  } | d k r$ t d   t | g  | j d  d } | j | j } } t | t  ru | j d  } t | t  r | j d  } | | } t j	 d | j
  } t j	 d |  j |  j  }	 | | | |	 }
 |  j |
  |  j   d  S)N?   zFilename too longzlatin-1s    z>hz>ii)r1   r   bytesencoder   r   r=   r>   structpackr   r@   rA   _write	_writecrc)r   r   r    nldtpZcrZd2Zd3Zd4infor   r   r	   rB      s     
zBinHex._writeinfoc             C   s,   t  j | |  j  |  _ |  j j |  d  S)N)r2   crc_hqxr?   r,   r)   )r   r"   r   r   r	   rJ      s    zBinHex._writec             C   sJ   |  j  d k  r d } n d } |  j j t j | |  j    d |  _  d  S)Nr   z>hz>H)r?   r,   r)   rH   rI   )r   fmtr   r   r	   rK      s
    	zBinHex._writecrcc             C   sB   |  j  t k r t d   |  j t |  |  _ |  j |  d  S)NzWriting data at the wrong time)rD   rC   r   r@   r1   rJ   )r   r"   r   r   r	   r)      s    zBinHex.writec             C   s<   |  j  d k r% t d |  j f   |  j   t |  _ d  S)Nr   zIncorrect data size, diff=%r)r@   r   rA   rK   	_DID_DATArD   )r   r   r   r	   
close_data   s    
zBinHex.close_datac             C   s[   |  j  t k  r |  j   |  j  t k r4 t d   |  j t |  |  _ |  j |  d  S)Nz'Writing resource data at the wrong time)rD   rR   rS   r   rA   r1   rJ   )r   r"   r   r   r	   
write_rsrc   s    
zBinHex.write_rsrcc             C   s   |  j  d  k r d  Szg |  j  t k  r/ |  j   |  j  t k rJ t d   |  j d k ro t d |  j f   |  j   Wd  d  |  _  |  j } |  ` | j   Xd  S)NzClose at the wrong timer   z$Incorrect resource-datasize, diff=%r)rD   rR   rS   r   rA   rK   r,   r*   )r   r,   r   r   r	   r*      s    
		zBinHex.closeN)r   r   r   r   rB   rJ   rK   r)   rS   rT   r*   r   r   r   r	   r;      s   
r;   c          
   C   s   t  |   } t | |  } t j |  d  ; } x' | j d  } | sI P| j |  q3 W| j   Wd  QRXt |  d  } x' | j d  } | s P| j |  q} W| j	   | j	   d  S)Nr   i  )
r%   r;   r   r   r   r)   rS   r&   rT   r*   )inpoutr    r,   ifprM   r   r   r	   r      s"      
c               @   s4   e  Z d  Z d d   Z d d   Z d d   Z d S)_Hqxdecoderenginec             C   s   | |  _  d |  _ d  S)Nr   )rW   eof)r   rW   r   r   r	   r     s    	z_Hqxdecoderengine.__init__c             C   s   d } | } x | d k r |  j  r( | S| d d d } |  j j |  } xg y t j |  \ } |  _  PWn t j k
 r Yn X|  j j d  } | s t d   | | } qO W| | } | t |  } | r |  j  r t d   q W| S)Nr(   r   r   r0      r
   zPremature EOF on binhex file)rY   rW   r   r2   Za2b_hqxZ
Incompleter   r1   )r   ZtotalwtdZdecdatawtdr"   Z
decdatacurnewdatar   r   r	   r     s,    	 
z_Hqxdecoderengine.readc             C   s   |  j  j   d  S)N)rW   r*   )r   r   r   r	   r*   %  s    z_Hqxdecoderengine.closeN)r   r   r   r   r   r*   r   r   r   r	   rX      s    rX   c               @   s@   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S)
_Rledecoderenginec             C   s(   | |  _  d |  _ d |  _ d |  _ d  S)Nr(   r   )rW   
pre_bufferpost_bufferrY   )r   rW   r   r   r	   r   +  s    			z_Rledecoderengine.__init__c             C   s\   | t  |  j  k r/ |  j | t  |  j   |  j d  |  } |  j | d   |  _ | S)N)r1   r_   _fill)r   r[   rvr   r   r	   r   1  s
    z_Rledecoderengine.readc             C   sH  |  j  |  j j | d  |  _  |  j j rU |  j t j |  j   |  _ d |  _  d  St |  j   } |  j  d d   t d t k r | d } nv |  j  d d   t k r | d } nP |  j  d	 d   t d k r | d } n& |  j  d
 d  t k r n
 | d } |  j t j |  j  d  |   |  _ |  j  | d   |  _  d  S)NrZ   r(   r0   s    r
   r   rd   rc   )	r^   rW   r   rY   r_   r2   Zrledecode_hqxr1   RUNCHAR)r   r[   markr   r   r	   r`   8  s&     	!
 z_Rledecoderengine._fillc             C   s   |  j  j   d  S)N)rW   r*   )r   r   r   r	   r*   [  s    z_Rledecoderengine.closeN)r   r   r   r   r   r`   r*   r   r   r   r	   r]   (  s   #r]   c               @   sp   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d d   Z	 d d   Z
 d S)HexBinc             C   s   t  | t  r! t j | d  } xA | j d  } | sE t d   | d k rT q$ | d k r$ Pq$ Wt |  } t |  |  _ d |  _	 |  j
   d  S)Nr   r
   zNo binhex data founds      :r   )r=   r>   r   r   r   r   rX   r]   rW   r?   _readheader)r   rW   ZchZhqxifpr   r   r	   r   _  s    	zHexBin.__init__c             C   s.   |  j  j |  } t j | |  j  |  _ | S)N)rW   r   r2   rP   r?   )r   r1   r"   r   r   r	   _readu  s    zHexBin._readc             C   sk   t  j d |  j j d   d d @} |  j d @|  _ | |  j k r^ t d |  j | f   d |  _ d  S)Nz>hr   r   i  zCRC error, computed %x, read %x)rH   unpackrW   r   r?   r   )r   Zfilecrcr   r   r	   	_checkcrcz  s    &zHexBin._checkcrcc             C   s	  |  j  d  } |  j  t |   } |  j  d  } |  j   | d d  } | d d  } t j d | d d   d } t j d	 | d d
   d |  _ t j d	 | d
 d   d |  _ | |  _ t   |  _ | |  j _	 | |  j _
 | |  j _ t |  _ d  S)Nr
   rZ   r      	   z>h   r   z>l      rm   rn   ro   rp   rq   )rj   ordrl   rH   rk   r@   rA   FNamer   r   r   r   rC   rD   )r   r1   ZfnameresttypeZcreatorflagsr   r   r	   ri     s    
 ##	zHexBin._readheaderc             G   s   |  j  t k r t d   | r@ | d } t | |  j  } n	 |  j } d } x3 t |  | k  r | |  j | t |   } qR W|  j | |  _ | S)NzRead data at wrong timer   r(   )rD   rC   r   minr@   r1   rj   )r   nra   r   r   r	   r     s    
	!zHexBin.readc             C   sM   |  j  t k r t d   |  j r6 |  j |  j  } |  j   t |  _  d  S)Nzclose_data at wrong time)rD   rC   r   r@   rj   rl   rR   )r   dummyr   r   r	   rS     s    	
zHexBin.close_datac             G   s   |  j  t k r |  j   |  j  t k r4 t d   | rY | d } t | |  j  } n	 |  j } |  j | |  _ |  j |  S)Nz Read resource data at wrong timer   )rD   rC   rS   rR   r   rw   rA   rj   )r   rx   r   r   r	   	read_rsrc  s    

	zHexBin.read_rsrcc             C   sZ   |  j  d  k r d  Sz) |  j r1 |  j |  j  } |  j   Wd  d  |  _  |  j j   Xd  S)N)rD   rA   rz   rl   rW   r*   )r   ry   r   r   r	   r*     s    		zHexBin.closeN)r   r   r   r   rj   rl   ri   r   rS   rz   r*   r   r   r   r	   rg   ^  s   
rg   c          
   C   s   t  |   } | j } | s$ | j } t j | d  1 } x' | j d  } | sR P| j |  q< WWd  QRX| j   | j d  } | r t	 | d  } | j |  x' | j d  } | s P| j |  q W| j
   | j
   d  S)Nr<   i  )rg   r   rs   r   r   r   r)   rS   rz   r&   r*   )rU   rV   rW   r    r,   rM   r   r   r	   r     s,    		 
 
)r   r   rH   r2   __all__	Exceptionr   rC   rR   r8   r.   re   r   r%   r&   r+   r7   r;   r   rX   r]   rg   r   r   r   r   r	   <module>   s*   &^*6h