o
    ½Ó…Y  ã                   @   sD   d dl Z d dlZd\ZZZdd„ Z		ddd„Zd	d
„ Zdd„ ZdS )é    N)r   é   é   c           	      G   s  t tdd„ ttdd„ |ƒƒƒƒ}t tdd„ ttdd„ |ƒƒƒƒ}d}d}g }t}	 |  ¡ }|s4	 ||fS | ¡ }|tkrI||v rIg }|| }t}q(|tkr_||v rZ|| |krZt}n| |¡ |tkr†t	j
d	 d
krud dd„ |D ƒ¡}nd ¡  dd„ |D ƒ¡}	 ||fS q))Nc                 S   ó   | d | d fS ©Nr   r   © ©Úxr   r   ú4/usr/lib/python3/dist-packages/pyasn1_modules/pem.pyÚ<lambda>   ó    z'readPemBlocksFromFile.<locals>.<lambda>c                 S   ó   | d S )Nr   r   ©Úyr   r   r	   r
      ó    c                 S   r   r   r   r   r   r   r	   r
      r   c                 S   r   )Nr   r   r   r   r   r	   r
      r   éÿÿÿÿÚ Tr   r   c                 S   s   g | ]}t  |¡‘qS r   )Úbase64Ú	b64decode©Ú.0r   r   r   r	   Ú
<listcomp>*   s    z)readPemBlocksFromFile.<locals>.<listcomp>c                 S   s   g | ]	}t  | ¡ ¡‘qS r   )r   r   Úencoder   r   r   r	   r   ,   s    )ÚdictÚmapÚ	enumerateÚstSpamÚreadlineÚstripÚstHamÚstDumpÚappendÚsysÚversion_infoÚjoinr   )	ÚfileObjÚmarkersÚstartMarkersÚstopMarkersÚidxÚ	substrateÚ	certLinesÚstateÚcertLiner   r   r	   ÚreadPemBlocksFromFile   sB   
ÿ
ÿî
êr-   ú-----BEGIN CERTIFICATE-----ú-----END CERTIFICATE-----c                 C   s   t | ||fƒ\}}|S ©N)r-   )r$   ÚstartMarkerÚ	endMarkerr(   r)   r   r   r	   ÚreadPemFromFile2   s   r3   c                 C   s&   t jd dkrt | ¡S t |  ¡ ¡S )Nr   r   )r!   r"   r   r   r   )Útextr   r   r	   ÚreadBase64fromText9   s   
r5   c                 C   s   t |  ¡ ƒS r0   )r5   Úread)r$   r   r   r	   ÚreadBase64FromFile@   s   r7   )r.   r/   )	r   r!   r   r   r   r-   r3   r5   r7   r   r   r   r	   Ú<module>   s   
$
þ