OwlCyberSecurity - MANAGER
Edit File: binhex.cpython-36.opt-1.pyc
3 � \�6������������������@���s����d�Z�ddlZddlZddlZddlZdddgZG�dd��de�ZdZdZ dZ d Zd ZG�dd��d�Z d d��ZG�dd��d�ZG�dd��d�ZG�dd��d�ZG�dd��d�Zdd��ZG�dd��d�ZG�dd��d�ZG�dd��d�Zdd��ZdS�)z�Macintosh binhex compression/decompression. easy interface: binhex(inputfilename, outputfilename) hexbin(inputfilename, outputfilename) �����N�binhex�hexbin�Errorc���������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r���r����/usr/lib64/python3.6/binhex.pyr������s�������i�����@��������c���������������@���s���e�Zd�Zdd��ZdS�)�FInfoc�������������C���s���d|�_�d|�_d|�_d�S�)Nz????r���)�Type�Creator�Flags)�selfr���r���r ����__init__0���s����zFInfo.__init__N)r���r���r���r���r���r���r���r ���r ���/���s���r ���c�������������C���st���t���}tj|�d��2}|jd�}d|kr,d|_|jdd��|j��}W�d�Q�R�X�tjj |��\}}|j ddd�}|||dfS�) N�rbi���r���ZTEXT�����:�-r ���)r ����io�open�readr����seek�tell�os�path�split�replace)�name�finfo�fp�dataZdsize�dir�filer���r���r ����getfileinfo5���s���� r&���c���������������@���s,���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd S�) �openrsrcc�������������G���s���d�S�)Nr���)r����argsr���r���r ���r���C���s����zopenrsrc.__init__c�������������G���s���dS�)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����zopenrsrc.writec�������������C���s���d�S�)Nr���)r���r���r���r ����closeL���s����zopenrsrc.closeN)r���r���r���r���r���r*���r+���r���r���r���r ���r'���B���s���r'���c���������������@���s0���e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd S�)�_Hqxcoderenginez(Write data to the coder in 3-byte chunksc�������������C���s ���||�_�d|�_d|�_td�|�_d�S�)Nr)���r ���)�ofpr#����hqxdata�LINELEN�linelen)r���r-���r���r���r ���r���R���s����z_Hqxcoderengine.__init__c�������������C���sh���|�j�|�|�_�t|�j��}|d�d�}|�j�d�|��}|�j�|d���|�_�|sHd�S�|�jtj|��|�_|�jd��d�S�)N����r���)r#����lenr.����binascii�b2a_hqx�_flush)r���r#���ZdatalenZtodor���r���r ���r*���X���s���� z_Hqxcoderengine.writec�������������C���sv���d}xF|t�|�j�|�j�krJ||�j�}|�jj|�j||��d���t|�_|}qW�|�j|d���|�_|rr|�jj|�jd���d�S�)Nr������� s���: )r2���r.���r0���r-���r*���r/���)r���Zforce�firstZlastr���r���r ���r5���c���s���� z_Hqxcoderengine._flushc�������������C���s6���|�j�r|�jtj|�j���|�_|�jd��|�jj���|�`d�S�)Nr ���)r#���r.���r3���r4���r5���r-���r+���)r���r���r���r ���r+���n���s ���� z_Hqxcoderengine.closeN)r���r���r����__doc__r���r*���r5���r+���r���r���r���r ���r,���O���s ���r,���c���������������@���s(���e�Zd�ZdZdd��Zdd��Zdd��ZdS�) �_Rlecoderenginez4Write data to the RLE-coder in suitably large chunksc�������������C���s���||�_�d|�_d�S�)Nr)���)r-���r#���)r���r-���r���r���r ���r���x���s����z_Rlecoderengine.__init__c�������������C���s@���|�j�|�|�_�t|�j��tk�rd�S�tj|�j��}|�jj|��d|�_�d�S�)Nr)���)r#���r2����REASONABLY_LARGEr3����rlecode_hqxr-���r*���)r���r#����rledatar���r���r ���r*���|���s����z_Rlecoderengine.writec�������������C���s0���|�j�rtj|�j��}|�jj|��|�jj���|�`d�S�)N)r#���r3���r;���r-���r*���r+���)r���r<���r���r���r ���r+�������s ���� z_Rlecoderengine.closeN)r���r���r���r8���r���r*���r+���r���r���r���r ���r9���u���s���r9���c���������������@���sL���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)�BinHexc������� ��� ���C���s����|\}}}}d}t�|t�r.|}tj|d�}d}yR|jd��t|�} t| �|�_d|�_|d�kr`t ��}||�_ ||�_|�j||��t |�_W�n���|r�|j�����Y�nX�d�S�)NF�wbTs0���(This file must be converted with BinHex 4.0) :r���)� isinstance�strr���r���r*���r,���r9���r-����crcr ����dlen�rlen� _writeinfo�_DID_HEADER�stater+���) r���Zname_finfo_dlen_rlenr-���r ���r!���rB���rC���Zclose_on_errorZofnameZhqxerr���r���r ���r�������s*���� zBinHex.__init__c�������������C���s����t�|�}|dkrtd��t|g�|jd��d�}|j|j�}}t|t�rR|jd�}t|t�rf|jd�}||�}tj d|j �}tj d|�j|�j�} ||�|�| �} |�j | ��|�j���d�S�)N�?���zFilename too longzlatin-1�����z>hz>ii)r2���r����bytes�encoder���r���r?���r@����struct�packr���rB���rC����_write� _writecrc)r���r ���r!����nl�d�tpZcrZd2Zd3Zd4�infor���r���r ���rD�������s���� zBinHex._writeinfoc�������������C���s ���t�j||�j�|�_|�jj|��d�S�)N)r3����crc_hqxrA���r-���r*���)r���r#���r���r���r ���rM�������s����z BinHex._writec�������������C���s4���|�j�dk�rd}nd}|�jjtj||�j����d|�_�d�S�)Nr���z>hz>H)rA���r-���r*���rK���rL���)r���Zfmtr���r���r ���rN�������s ���� zBinHex._writecrcc�������������C���s0���|�j�tkrtd��|�jt|��|�_|�j|��d�S�)NzWriting data at the wrong time)rF���rE���r���rB���r2���rM���)r���r#���r���r���r ���r*�������s���� zBinHex.writec�������������C���s,���|�j�dkrtd|�jf���|�j���t|�_d�S�)Nr���zIncorrect data size, diff=%r)rB���r���rC���rN���� _DID_DATArF���)r���r���r���r ���� close_data����s���� zBinHex.close_datac�������������C���sB���|�j�tk�r|�j���|�j�tkr$td��|�jt|��|�_|�j|��d�S�)Nz'Writing resource data at the wrong time)rF���rT���rU���r���rC���r2���rM���)r���r#���r���r���r ���� write_rsrc����s���� zBinHex.write_rsrcc�������������C���sx���|�j�d�krd�S�zJ|�j�tk�r"|�j���|�j�tkr4td��|�jdkrNtd|�jf���|�j���W�d�d�|�_�|�j}|�`|j���X�d�S�)NzClose at the wrong timer���z$Incorrect resource-datasize, diff=%r)rF���rT���rU���r���rC���rN���r-���r+���)r���r-���r���r���r ���r+�������s���� zBinHex.closeN)r���r���r���r���rD���rM���rN���r*���rU���rV���r+���r���r���r���r ���r=�������s��� r=���c���������� ���C���s����t�|��}t||�}tj|�d��.}x|jd�}|s2P�|j|��q"W�|j���W�dQ�R�X�t|�d�}x|jd�}|snP�|j|��q^W�|j ���|j ���dS�)zEbinhex(infilename, outfilename): create binhex-encoded copy of a filer���i���N) r&���r=���r���r���r���r*���rU���r'���rV���r+���)�inp�outr!���r-����ifprP���r���r���r ���r�������s"���� � �c���������������@���s(���e�Zd�ZdZdd��Zdd��Zdd��ZdS�) �_Hqxdecoderenginez*Read data via the decoder in 4-byte chunksc�������������C���s���||�_�d|�_d�S�)Nr���)rY����eof)r���rY���r���r���r ���r�����s����z_Hqxdecoderengine.__init__c�������������C���s����d}|}x�|dkr�|�j�r|S�|d�d�d�}|�jj|�}xRytj|�\}|�_�P�W�n�tjk rf���Y�nX�|�jjd�}|s�td��||�}q:W�||�}|t|��}|�r |�j��r td��q W�|S�)z&Read at least wtd bytes (or until EOF)r)���r���r���r1�������r ���zPremature EOF on binhex file)r[���rY���r���r3���Za2b_hqxZ Incompleter���r2���)r���ZtotalwtdZdecdata�wtdr#���Z decdatacur�newdatar���r���r ���r�����s,���� �z_Hqxdecoderengine.readc�������������C���s���|�j�j���d�S�)N)rY���r+���)r���r���r���r ���r+���%��s����z_Hqxdecoderengine.closeN)r���r���r���r8���r���r���r+���r���r���r���r ���rZ�������s��� rZ���c���������������@���s0���e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd S�)�_RledecoderenginezRead data via the RLE-coderc�������������C���s���||�_�d|�_d|�_d|�_d�S�)Nr)���r���)rY���� pre_buffer�post_bufferr[���)r���rY���r���r���r ���r���+��s����z_Rledecoderengine.__init__c�������������C���sD���|t�|�j�kr"|�j|t�|�j����|�jd�|��}|�j|d���|�_|S�)N)r2���ra����_fill)r���r]����rvr���r���r ���r���1��s ����z_Rledecoderengine.readc�������������C���s����|�j�|�jj|d���|�_�|�jjr>|�jtj|�j���|�_d|�_�d�S�t|�j��}|�j�dd���td�t�krl|d�}nX|�j�dd���tkr�|d�}n<|�j�d d���td�kr�|d�}n|�j�d d��tkr�n|d�}|�jtj|�j�d�|����|�_|�j�|d���|�_�d�S�)Nr\���r)���r1���rH���r ���r������������rf���re���) r`���rY���r���r[���ra���r3���Z rledecode_hqxr2����RUNCHAR)r���r]���Zmarkr���r���r ���rb���8��s&���� z_Rledecoderengine._fillc�������������C���s���|�j�j���d�S�)N)rY���r+���)r���r���r���r ���r+���[��s����z_Rledecoderengine.closeN)r���r���r���r8���r���r���rb���r+���r���r���r���r ���r_���(��s ���#r_���c���������������@���sL���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)�HexBinc�������������C���sj���t�|t�rtj|d�}x.|jd�}|s.td��|dkr8q|dkrP�qW�t|�}t|�|�_d|�_ |�j ���d�S�)Nr���r ���zNo binhex data found���� ����:r���)r?���r@���r���r���r���r���rZ���r_���rY���rA����_readheader)r���rY���ZchZhqxifpr���r���r ���r���_��s���� zHexBin.__init__c�������������C���s ���|�j�j|�}tj||�j�|�_|S�)N)rY���r���r3���rS���rA���)r���r2���r#���r���r���r ����_readu��s����zHexBin._readc�������������C���sN���t�jd|�jjd��d�d@�}|�jd@�|�_||�jkrDtd|�j|f���d|�_d�S�)Nz>hr���r���i����zCRC error, computed %x, read %x)rK����unpackrY���r���rA���r���)r���Zfilecrcr���r���r ���� _checkcrcz��s���� zHexBin._checkcrcc�������������C���s����|�j�d�}|�j�t|��}|�j�d�}|�j���|dd��}|dd��}tjd|dd���d�}tjd |dd ���d�|�_tjd |d d���d�|�_||�_t��|�_||�j_ ||�j_ ||�j_t|�_ d�S�)Nr ���r\���r�������� ���z>h����r���z>l��������ro���rp���rq���rr���rs���)rl����ordrn���rK���rm���rB���rC����FNamer ���r���r���r���rE���rF���)r���r2���Zfname�rest�typeZcreator�flagsr���r���r ���rk������s���� zHexBin._readheaderc�������������G���sn���|�j�tkrtd��|r,|d�}t||�j�}n|�j}d}x&t|�|k�r\||�j|t|����}q8W�|�j|�|�_|S�)NzRead data at wrong timer���r)���)rF���rE���r����minrB���r2���rl���)r����nrc���r���r���r ���r������s���� zHexBin.readc�������������C���s6���|�j�tkrtd��|�jr$|�j|�j�}|�j���t|�_�d�S�)Nzclose_data at wrong time)rF���rE���r���rB���rl���rn���rT���)r����dummyr���r���r ���rU������s���� zHexBin.close_datac�������������G���sZ���|�j�tkr|�j���|�j�tkr$td��|r>|d�}t||�j�}n|�j}|�j|�|�_|�j|�S�)Nz Read resource data at wrong timer���)rF���rE���rU���rT���r���ry���rC���rl���)r���rz���r���r���r ���� read_rsrc���s���� zHexBin.read_rsrcc�������������C���sD���|�j�d�krd�S�z|�jr"|�j|�j�}|�j���W�d�d�|�_�|�jj���X�d�S�)N)rF���rC���r|���rn���rY���r+���)r���r{���r���r���r ���r+������s���� zHexBin.closeN)r���r���r���r���rl���rn���rk���r���rU���r|���r+���r���r���r���r ���rh���^��s��� rh���c���������� ���C���s����t�|��}|j}|s|j}tj|d��&}x|jd�}|s8P�|j|��q(W�W�dQ�R�X�|j���|jd�}|r�t |d�}|j|��x|jd�}|s�P�|j|��q|W�|j ���|j ���dS�)z6hexbin(infilename, outfilename) - Decode binhexed filer>���i���N)rh���r ���ru���r���r���r���r*���rU���r|���r'���r+���)rW���rX���rY���r!���r-���rP���r���r���r ���r������s,���� � �)r8���r���r���rK���r3����__all__� Exceptionr���rE���rT���r:���r/���rg���r ���r&���r'���r,���r9���r=���r���rZ���r_���rh���r���r���r���r���r ����<module>���s,��� &^*6h