U
    ڲgN                     @   s  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	 e
d	Zd
d ZG dd dejZG dd dejZeede edeje de_G dd dejZe e_edee_G dd dejZeede ede e_G dd dejZeede ede jeejej dde_G dd  d ejZ!e e!_G d!d" d"ejZ"eed#e e#d$e e"_edd%d&d'dd(d%Z$G d)d* d*ej%Z&G d+d, d,ej'Z(G d-d. d.ej)Z*e+d/d0d1d2d3d4e*_,G d5d6 d6ejZ-eed7e' e#d8e. e#de" e-_G d9d: d:ejZ/eed;e* ed<e- ed=e& ed>e( e/_G d?d@ d@ej%Z0G dAdB dBejZ1eed;e* e#dCe0 jeejej2d ded=e& ed>e( e1_G dDdE dEejZ3eedFe edGe e3_G dHdI dIejZ4eedJe5 edKe6 e4_G dLdM dMej'Z7G dNdO dOejZ8eedPe7 e#d8e. e#de" e8_G dQdR dRejZ9eedSe4 edTe8 jeejej d de9_G dUdV dVejZ:eedWe9 ed>e( e:_G dXdY dYej;Z<e: e<_G dZd[ d[ej'Z=G d\d] d]ejZ>eed^e% ed_e? e>_G d`da daejZ@eedSe4 edPe7 jeejej2d dedbe> jeejej dde@_G dcdd ddejZAeed;e* edee@ jeejej d dfe#dge= jeejej2ddfed=e& edhe< eA_G didj djejZBeedSe4 edPe7 jeejej2d deB_G dkdl dlejZCeed;e* edWeB ed=e& ed>e( eC_G dmdn dnejZDeedoeC edpeA jeejej ddedqe/ jeejej d%dedre1 jeejej dsdedte3 jeejej dudeD_G dvdw dwejZEeD eE_edeeE_G dxdy dyej%ZFG dzd{ d{ej?ZGG d|d} d}ejZHeedSe4 edPe7 jeejej2d deH_G d~d dejZIe eI_edeeI_G dd dejZJG dd dej'ZKG dd dej%ZLG dd dejZMeedeJ edeL e#deK jeejej2d deM_G dd dejZNeed;e* edeM e#deI jeejej2ddeN_edd%d&d'dddsZOedd%d&d'dd(dZPedd%d&d'ddduZQG dd dejZReF eR_G dd dejZSeedeJ e#de' jeejej2d dfeS_G dd dej'ZTG dd dejZUeed;e* edeF edeS edeT eU_G dd dejZVeedeJ ede jeejej2d dfeV_G dd dejZWe eW_edeeW_G dd dejZXeed;e* edeY edeW eX_G dd dej%ZZG dd dejZ[eedeX edeZ edeG e[_G dd dejZ\eede ede e\_G dd de	j]Z^G dd dej)Z_e+de__,G dd dejZ`eead;e_ jddedejeede	b jeejej2d dfedec jeejej2ddfdedJec ede% edKe6 ede	d edej;e de#dee e#def 	e`_G dd dejZgeede` ede% ede? eg_G ddĄ dejZheedeY ede[ jeejej d dedeg jeejej2ddede^ jeejej2d%dede\ jeejej dsdeh_G ddɄ dejZieh ei_G dd˄ dej'ZjG dd̈́ dejZke ek_edeek_G ddτ dej'ZlG ddф dejZmeed;e* edeH edeF e#de jeejej2d dedeZ edel e#dek jeejej2ddem_G ddք dejZnem en_G dd؄ dejZoeed;e* edeR edeS e#dei jeejej2d de#de! jeejej2ddeden eo_G ddބ dej%ZpG dd dej'ZqG dd dejZreedes ede. er_G dd dejZtee#dei jeejej2d de#de! jeejej2ddet_G dd dejZue eu_edeeu_G dd dejZveed;e* e#det jeejej d dedeE edep e#deF jeejej2ddedeS e#deu jeejej2d%dedej e#deW jeejej2dsd	ev_edd%d&d'ddddd	Zwedd%d&d'dd(dsZxG dd dejZyeed;e* e#det jeejej d dedeE edeM e#deI jeejej2ddey_G dd demZzedd%d&d'dd(dZ{edd%d&d'dddZ|G dd dejZ}eedeY ede[ jeejej d de}_edd%d&d'dd(dZ~edd%d&d'ddddd%	ZG dd derZedd%d&d'dddZdS )    )
constraint)	namedtype)namedval)tag)univ)useful)rfc3280)rfc3281infc                  G   sF   g }t | D ].}t|tjr,|t| q|t| qt|S )N)tuple
isinstancer   ObjectIdentifierextendlistappendint)
componentsoutputx r   :/tmp/pip-unpacked-wheel-mj5o32qq/pyasn1_modules/rfc3852.py	_buildOid   s    r   c                   @   s   e Zd ZdS )AttributeValueN__name__
__module____qualname__r   r   r   r   r   &   s   r   c                   @   s   e Zd ZdS )	AttributeNr   r   r   r   r   r   *   s   r   ZattrTypeZ
attrValues)componentTypec                   @   s   e Zd ZdS )SignedAttributesNr   r   r   r   r   r   4   s   r      c                   @   s   e Zd ZdS )OtherRevocationInfoFormatNr   r   r   r   r   r!   <   s   r!   ZotherRevInfoFormatZotherRevInfoc                   @   s   e Zd ZdS )RevocationInfoChoiceNr   r   r   r   r   r"   F   s   r"   Zcrlother)ZimplicitTagc                   @   s   e Zd ZdS )RevocationInfoChoicesNr   r   r   r   r   r$   Q   s   r$   c                   @   s   e Zd ZdS )OtherKeyAttributeNr   r   r   r   r   r%   X   s   r%   Z	keyAttrIdZkeyAttr   iH  i    c                   @   s   e Zd ZdS ) KeyEncryptionAlgorithmIdentifierNr   r   r   r   r   r(   d   s   r(   c                   @   s   e Zd ZdS )EncryptedKeyNr   r   r   r   r   r)   h   s   r)   c                   @   s   e Zd ZdS )
CMSVersionNr   r   r   r   r   r*   l   s   r*   )Zv0r   )v1r    )Zv2r&   )Zv3   )Zv4   )Zv5   c                   @   s   e Zd ZdS )KEKIdentifierNr   r   r   r   r   r/   z   s   r/   ZkeyIdentifierdatec                   @   s   e Zd ZdS )KEKRecipientInfoNr   r   r   r   r   r1      s   r1   versionZkekidZkeyEncryptionAlgorithmZencryptedKeyc                   @   s   e Zd ZdS ) KeyDerivationAlgorithmIdentifierNr   r   r   r   r   r3      s   r3   c                   @   s   e Zd ZdS )PasswordRecipientInfoNr   r   r   r   r   r4      s   r4   ZkeyDerivationAlgorithmc                   @   s   e Zd ZdS )OtherRecipientInfoNr   r   r   r   r   r5      s   r5   ZoriTypeZoriValuec                   @   s   e Zd ZdS )IssuerAndSerialNumberNr   r   r   r   r   r6      s   r6   ZissuerZserialNumberc                   @   s   e Zd ZdS )SubjectKeyIdentifierNr   r   r   r   r   r7      s   r7   c                   @   s   e Zd ZdS )RecipientKeyIdentifierNr   r   r   r   r   r8      s   r8   ZsubjectKeyIdentifierc                   @   s   e Zd ZdS )KeyAgreeRecipientIdentifierNr   r   r   r   r   r9      s   r9   ZissuerAndSerialNumberZrKeyIdc                   @   s   e Zd ZdS )RecipientEncryptedKeyNr   r   r   r   r   r:      s   r:   Zridc                   @   s   e Zd ZdS )RecipientEncryptedKeysNr   r   r   r   r   r;      s   r;   c                   @   s   e Zd ZdS )UserKeyingMaterialNr   r   r   r   r   r<      s   r<   c                   @   s   e Zd ZdS )OriginatorPublicKeyNr   r   r   r   r   r=      s   r=   	algorithmZ	publicKeyc                   @   s   e Zd ZdS )OriginatorIdentifierOrKeyNr   r   r   r   r   r?      s   r?   ZoriginatorKeyc                   @   s   e Zd ZdS )KeyAgreeRecipientInfoNr   r   r   r   r   r@      s   r@   Z
originator)ZexplicitTagZukmZrecipientEncryptedKeysc                   @   s   e Zd ZdS )RecipientIdentifierNr   r   r   r   r   rA     s   rA   c                   @   s   e Zd ZdS )KeyTransRecipientInfoNr   r   r   r   r   rB     s   rB   c                   @   s   e Zd ZdS )RecipientInfoNr   r   r   r   r   rC   "  s   rC   ZktriZkariZkekriZpwrir,   Zorir-   c                   @   s   e Zd ZdS )RecipientInfosNr   r   r   r   r   rD   3  s   rD   c                   @   s   e Zd ZdS )DigestAlgorithmIdentifierNr   r   r   r   r   rE   ;  s   rE   c                   @   s   e Zd ZdS )	SignatureNr   r   r   r   r   rF   ?  s   rF   c                   @   s   e Zd ZdS )SignerIdentifierNr   r   r   r   r   rG   C  s   rG   c                   @   s   e Zd ZdS )UnprotectedAttributesNr   r   r   r   r   rH   N  s   rH   c                   @   s   e Zd ZdS )ContentTypeNr   r   r   r   r   rI   V  s   rI   c                   @   s   e Zd ZdS )EncryptedContentNr   r   r   r   r   rJ   Z  s   rJ   c                   @   s   e Zd ZdS )$ContentEncryptionAlgorithmIdentifierNr   r   r   r   r   rK   ^  s   rK   c                   @   s   e Zd ZdS )EncryptedContentInfoNr   r   r   r   r   rL   b  s   rL   contentTypeZcontentEncryptionAlgorithmZencryptedContentc                   @   s   e Zd ZdS )EncryptedDataNr   r   r   r   r   rN   n  s   rN   ZencryptedContentInfoZunprotectedAttrs	   c                   @   s   e Zd ZdS )DigestAlgorithmIdentifiersNr   r   r   r   r   rP     s   rP   c                   @   s   e Zd ZdS )EncapsulatedContentInfoNr   r   r   r   r   rQ     s   rQ   ZeContentTypeZeContentc                   @   s   e Zd ZdS )DigestNr   r   r   r   r   rR     s   rR   c                   @   s   e Zd ZdS )DigestedDataNr   r   r   r   r   rS     s   rS   ZdigestAlgorithmZencapContentInfodigestc                   @   s   e Zd ZdS )ContentInfoNr   r   r   r   r   rU     s   rU   contentc                   @   s   e Zd ZdS )UnauthAttributesNr   r   r   r   r   rW     s   rW   c                   @   s   e Zd ZdS )ExtendedCertificateInfoNr   r   r   r   r   rX     s   rX   Zcertificate
attributesc                   @   s   e Zd ZdS )SignatureAlgorithmIdentifierNr   r   r   r   r   rZ     s   rZ   c                   @   s   e Zd ZdS )ExtendedCertificateNr   r   r   r   r   r[     s   r[   ZextendedCertificateInfoZsignatureAlgorithm	signaturec                   @   s   e Zd ZdS )OtherCertificateFormatNr   r   r   r   r   r]     s   r]   ZotherCertFormatZ	otherCertc                   @   s   e Zd ZdS )AttributeCertificateV2Nr   r   r   r   r   r^     s   r^   c                   @   s   e Zd ZdS )AttCertVersionV1Nr   r   r   r   r   r_     s   r_   )r+   r   c                   @   s   e Zd ZdS )AttributeCertificateInfoV1Nr   r   r   r   r   r`     s   r`   r+   )valuesubjectZbaseCertificateIDZsubjectNameZattCertValidityPeriodZissuerUniqueID
extensionsc                   @   s   e Zd ZdS )AttributeCertificateV1Nr   r   r   r   r   rd     s   rd   ZacInfoc                   @   s   e Zd ZdS )CertificateChoicesNr   r   r   r   r   re     s   re   ZextendedCertificateZ
v1AttrCertZ
v2AttrCertc                   @   s   e Zd ZdS )CertificateSetNr   r   r   r   r   rf     s   rf   c                   @   s   e Zd ZdS )MessageAuthenticationCodeNr   r   r   r   r   rg      s   rg   c                   @   s   e Zd ZdS )UnsignedAttributesNr   r   r   r   r   rh   $  s   rh   c                   @   s   e Zd ZdS )SignatureValueNr   r   r   r   r   ri   ,  s   ri   c                   @   s   e Zd ZdS )
SignerInfoNr   r   r   r   r   rj   0  s   rj   ZsidZsignedAttrsZunsignedAttrsc                   @   s   e Zd ZdS )SignerInfosNr   r   r   r   r   rk   A  s   rk   c                   @   s   e Zd ZdS )
SignedDataNr   r   r   r   r   rl   H  s   rl   ZdigestAlgorithmsZcertificatesZcrlsZsignerInfosc                   @   s   e Zd ZdS )"MessageAuthenticationCodeAlgorithmNr   r   r   r   r   rm   X  s   rm   c                   @   s   e Zd ZdS )MessageDigestNr   r   r   r   r   rn   \  s   rn   c                   @   s   e Zd ZdS )TimeNr   r   r   r   r   ro   `  s   ro   ZutcTimeZgeneralTimec                   @   s   e Zd ZdS )OriginatorInfoNr   r   r   r   r   rp   j  s   rp   certsc                   @   s   e Zd ZdS )AuthAttributesNr   r   r   r   r   rr   v  s   rr   c                   @   s   e Zd ZdS )AuthenticatedDataNr   r   r   r   r   rs   ~  s   rs   ZoriginatorInfoZrecipientInfosZmacAlgorithmZ	authAttrsmacZunauthAttrs      c                   @   s   e Zd ZdS )EnvelopedDataNr   r   r   r   r   rw     s   rw   c                   @   s   e Zd ZdS )CountersignatureNr   r   r   r   r   rx     s   rx   r.   c                   @   s   e Zd ZdS ) ExtendedCertificateOrCertificateNr   r   r   r   r   ry     s   ry   c                   @   s   e Zd ZdS )SigningTimeNr   r   r   r   r   rz     s   rz   N)Zpyasn1.typer   r   r   r   r   r   Zpyasn1_modulesr   r	   floatMAXr   Anyr   Sequencer   Z
NamedTypesZ	NamedTyper   ZSetOfr   r   ZValueSizeConstraintZsizeSpecr!   ZChoicer"   ZCertificateListsubtypeTagZtagClassContextZtagFormatConstructedr$   r%   ZOptionalNamedTypeZid_signedDataZAlgorithmIdentifierr(   ZOctetStringr)   ZIntegerr*   ZNamedValuesZnamedValuesr/   ZGeneralizedTimer1   r3   r4   ZtagFormatSimpler5   r6   NameZCertificateSerialNumberr7   r8   r9   r:   Z
SequenceOfr;   r<   r=   Z	BitStringr?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rN   Zid_contentTypeZid_dataZid_messageDigestrP   rQ   rR   rS   rU   rW   rX   ZCertificaterZ   r[   r]   ZAttributeCertificater^   r_   r`   ZDefaultedNamedTypeZIssuerSerialZGeneralNamesZAttCertValidityPeriodZUniqueIdentifierZ
Extensionsrd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   ZUTCTimerp   rr   rs   Zid_ct_contentInfoZid_envelopedDatarw   rx   Zid_digestedDataZid_signingTimery   Zid_encryptedDataZid_ct_authDatarz   Zid_countersignaturer   r   r   r   <module>   s  
		$ $$