
    ,hF                     2    d dl mZmZmZmZmZ d Zd Zd Zy)    )DerSequence
DerIntegerDerBitStringDerObjectIdDerNullc                    t               j                  | d      }t               j                  |d   d      }t               j                  |d         }t               j                  |d         j                  }t        |      dk(  rd}n	 t               j                  |d          d}|j                  ||fS #  |d   }Y xY w)zParse a SubjectPublicKeyInfo structure.

    It returns a triple with:
        * OID (string)
        * encoded public key (bytes)
        * Algorithm parameters (bytes or None)
       nr_elementsr   )   r	   r   N)r   decoder   r   valuelenr   )encodedspkialgoalgo_oidspkalgo_paramss         [/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/Crypto/PublicKey/__init__.py_expand_subject_public_key_infor      s    * =Q7D=QU;D}##DG,H
.

Q
(
.
.C
4yA~	"IT!W%K >>3++	"q'Ks   B; ;Cc                     |t        t        |       g      }nt        t        |       |g      }t        |t        |      g      }|j                         S )N)r   r   r   encode)r   
public_keyparams	algorithmr   s        r   _create_subject_public_key_infor   ?   sT    ~X!6 78	X!6 ?@		$Z0 D ;;=    c                 D   t               j                  | d      }t               j                  |d   t        dd            }d}	 |d   dz    d}||   S # t        $ r@ t	        d      j                  |d         j
                  }|d	vrt        d
      d}Y ||   S w xY w)z:Extract subjectPublicKeyInfo from a DER X.509 certificate.   r
   r            r   )explicit)r	   r    z#Incorrect X.509 certificate version)r   r   range	TypeErrorr   r   
ValueError)x509_certificatecertificatetbs_certificateindexversions        r    _extract_subject_public_key_infor-   L   s     -&&'7Q&GK!m**;q>7<Q| + EO EQ 5!!  a(//0BCII& BCC5!!s   
A ABBN)	Crypto.Util.asn1r   r   r   r   r   r   r   r-    r   r   <module>r0      s   *3 3#,L
"r   