h]NL?ddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z e d Z d Z Gd d ejZGd dejZej"ej$dej&ej$dej(ee_Gddej(Zee_ej.de e_GddejZej"ej$dej&ej$deje_Gddej4Zej"ej$dej8ej$dej;ej<ej>ej@de_Gddej(Z!ee!_Gd d!ejZ"ej"ej$d"ej&ejFd#eje"_e dd$d%d&dd'd$Z$Gd(d)ejJZ&Gd*d+ejNZ(Gd,d-ejRZ*ejVd.d/d0d1d2d3e*_,Gd4d5ejZ-ej"ej$d6ejNejFd7ej\ejFde"e-_Gd8d9ejZ/ej"ej$d:e*ej$d;e-ej$d<e&ej$d=e(e/_Gd>d?ejJZ0Gd@dAejZ1ej"ej$d:e*ejFdBe0j;ej<ej>ejddej$d<e&ej$d=e(e1_GdCdDejZ3ej"ej$dEej&ej$dFeje3_GdGdHejZ4ej"ej$dIejjej$dJejle4_GdKdLejNZ7GdMdNejZ8ej"ej$dOe7ejFd7ej\ejFde"e8_GdPdQej4Z9ej"ej$dRe4ej$dSe8j;ej<ej>ej@de9_GdTdUejZ:ej"ej$dVe9ej$d=e(e:_GdWdXejvZ<e:e<_GdYdZejNZ=Gd[d\ejZ>ej"ej$d]ejJej$d^ej~e>_Gd_d`ej4Z@ej"ej$dRe4ej$dOe7j;ej<ej>ejddej$dae>j;ej<ej>ej@de@_GdbdcejZAej"ej$d:e*ej$dde@j;ej<ej>ej@deejFdfe=j;ej<ej>ejddeej$d<e&ej$dge<eA_Gdhdiej4ZBej"ej$dRe4ej$dOe7j;ej<ej>ejddeB_GdjdkejZCej"ej$d:e*ej$dVeBej$d<e&ej$d=e(eC_Gdldmej4ZDej"ej$dneCej$doeAj;ej<ej>ej@dej$dpe/j;ej<ej>ej@d$ej$dqe1j;ej<ej>ej@drej$dse3j;ej<ej>ej@dteD_Gdudvej(ZEeDeE_ej.de eE_GdwdxejJZFGdydzej~ZGGd{d|ej4ZHej"ej$dRe4ej$dOe7j;ej<ej>ejddeH_Gd}d~ej(ZIeeI_ej.de eI_Gddej&ZJGddejNZKGddejJZLGddejZMej"ej$deJej$deLejFdeKj;ej<ej>ejddeM_GddejZNej"ej$d:e*ej$deMejFdeIj;ej<ej>ejddeN_e dd$d%d&dddrZOe dd$d%d&dd'dZPe dd$d%d&dddtZQGddej(ZReFeR_GddejZSej"ej$deJejFdejNj;ej<ej>ejddeeS_GddejNZTGddejZUej"ej$d:e*ej$deFej$deSej$deTeU_GddejZVej"ej$deJej$dejj;ej<ej>ejddeeV_Gddej(ZWeeW_ej.de eW_GddejZXej"ej$d:e*ej$dejej$deWeX_GddejJZZGddejZ[ej"ej$deXej$deZej$deGe[_GddejZ\ej"ej$dej&ej$deje\_Gdde jZ^GddejRZ_ejVde__,GddejZ`ej"ejd:e_j;dej$dej4ej"ej$de jj;ej<ej>ejddeej$dejj;ej<ej>ejddeej$dIejej$dejJej$dJejlej$de jej$dejvej ejFdejejFdej e`_GddejZgej"ej$de`ej$dejJej$dej~eg_Gd„dej4Zhej"ej$dejej$de[j;ej<ej>ej@dej$degj;ej<ej>ejddej$de^j;ej<ej>ejdd$ej$de\j;ej<ej>ej@dreh_GdDŽdej(Ziehei_GdɄdejNZjGd˄dej(Zkeek_ej.de ek_Gd̈́dejNZlGdτdejZmej"ej$d:e*ej$deHej$deFejFdej;ej<ej>ejddej$deZej$delejFdekj;ej<ej>ejddem_GdԄdej(Znemen_GdքdejZoej"ej$d:e*ej$deRej$deSejFdeij;ej<ej>ejddejFde!j;ej<ej>ejddej$deneo_Gd܄dejJZpGdބdejNZqGddej4Zrej"ej$dejej$dej\er_GddejZtej"ejFdeij;ej<ej>ejddejFde!j;ej<ej>ejddet_Gddej(Zueeu_ej.de eu_GddejZvej"ej$d:e*ejFdetj;ej<ej>ej@dej$deEej$depejFdeFj;ej<ej>ejddej$deSejFdeuj;ej<ej>ejdd$ej$dejejFdeWj;ej<ej>ejddr ev_e dd$d%d&ddddd Zwe dd$d%d&dd'drZxGddejZyej"ej$d:e*ejFdetj;ej<ej>ej@dej$deEej$deMejFdeIj;ej<ej>ejddey_GddemZze dd$d%d&dd'dZ{e dd$d%d&dddZ|Gddej4Z}ej"ej$dejej$de[j;ej<ej>ej@de}_e dd$d%d&dd'dZ~e dd$d%d&ddddd$ ZGdderZe dd$d%d&dddZy)) constraint) namedtype)namedval)tag)univ)useful)rfc3280)rfc3281infcg}t|D]Q}t|tjr|j t |8|j t|Stj|S)N)tuple isinstancerObjectIdentifierextendlistappendint) componentsoutputxs 8/usr/lib/python3/dist-packages/pyasn1_modules/rfc3852.py _buildOidrs^ F : " a.. / MM$q' " MM#a& ! "   ((c eZdZy)AttributeValueN__name__ __module__ __qualname__rrrr&rrc eZdZy) AttributeNrr rrr#r#*r!rr#attrType attrValues) componentTypec eZdZy)SignedAttributesNrr rrr(r(4r!rr(c eZdZy)OtherRevocationInfoFormatNrr rrr+r+<r!rr+otherRevInfoFormat otherRevInfoc eZdZy)RevocationInfoChoiceNrr rrr/r/Fr!rr/crlother) implicitTagc eZdZy)RevocationInfoChoicesNrr rrr4r4Qr!rr4c eZdZy)OtherKeyAttributeNrr rrr6r6Xr!rr6 keyAttrIdkeyAttriHic eZdZy) KeyEncryptionAlgorithmIdentifierNrr rrr<r<dr!rr<c eZdZy) EncryptedKeyNrr rrr>r>hr!rr>c eZdZy) CMSVersionNrr rrr@r@lr!rr@)v0r)v1r))v2r9)v3)v4)v5c eZdZy) KEKIdentifierNrr rrrKrKzr!rrK keyIdentifierdatec eZdZy)KEKRecipientInfoNrr rrrOrOr!rrOversionkekidkeyEncryptionAlgorithm encryptedKeyc eZdZy) KeyDerivationAlgorithmIdentifierNrr rrrUrUr!rrUc eZdZy)PasswordRecipientInfoNrr rrrWrWr!rrWkeyDerivationAlgorithmc eZdZy)OtherRecipientInfoNrr rrrZrZr!rrZoriTypeoriValuec eZdZy)IssuerAndSerialNumberNrr rrr^r^r!rr^issuer serialNumberc eZdZy)SubjectKeyIdentifierNrr rrrbrbr!rrbc eZdZy)RecipientKeyIdentifierNrr rrrdrdr!rrdsubjectKeyIdentifierc eZdZy)KeyAgreeRecipientIdentifierNrr rrrgrgr!rrgissuerAndSerialNumberrKeyIdc eZdZy)RecipientEncryptedKeyNrr rrrkrkr!rrkridc eZdZy)RecipientEncryptedKeysNrr rrrnrnr!rrnc eZdZy)UserKeyingMaterialNrr rrrprpr!rrpc eZdZy)OriginatorPublicKeyNrr rrrrrrr!rrr algorithm publicKeyc eZdZy)OriginatorIdentifierOrKeyNrr rrrvrvr!rrv originatorKeyc eZdZy)KeyAgreeRecipientInfoNrr rrryryr!rry originator) explicitTagukmrecipientEncryptedKeysc eZdZy)RecipientIdentifierNrr rrrr r!rrc eZdZy)KeyTransRecipientInfoNrr rrrrr!rrc eZdZy) RecipientInfoNrr rrrr"r!rrktrikarikekripwrirEorirGc eZdZy)RecipientInfosNrr rrrr3r!rrc eZdZy)DigestAlgorithmIdentifierNrr rrrr;r!rrc eZdZy) SignatureNrr rrrr?r!rrc eZdZy)SignerIdentifierNrr rrrrCr!rrc eZdZy)UnprotectedAttributesNrr rrrrNr!rrc eZdZy) ContentTypeNrr rrrrVr!rrc eZdZy)EncryptedContentNrr rrrrZr!rrc eZdZy)$ContentEncryptionAlgorithmIdentifierNrr rrrr^r!rrc eZdZy)EncryptedContentInfoNrr rrrrbr!rr contentTypecontentEncryptionAlgorithmencryptedContentc eZdZy) EncryptedDataNrr rrrrnr!rrencryptedContentInfounprotectedAttrs c eZdZy)DigestAlgorithmIdentifiersNrr rrrrr!rrc eZdZy)EncapsulatedContentInfoNrr rrrrr!rr eContentTypeeContentc eZdZy)DigestNrr rrrrr!rrc eZdZy) DigestedDataNrr rrrrr!rrdigestAlgorithmencapContentInfodigestc eZdZy) ContentInfoNrr rrrrr!rrcontentc eZdZy)UnauthAttributesNrr rrrrr!rrc eZdZy)ExtendedCertificateInfoNrr rrrrr!rr certificate attributesc eZdZy)SignatureAlgorithmIdentifierNrr rrrrr!rrc eZdZy)ExtendedCertificateNrr rrrrr!rrextendedCertificateInfosignatureAlgorithm signaturec eZdZy)OtherCertificateFormatNrr rrrrr!rrotherCertFormat otherCertc eZdZy)AttributeCertificateV2Nrr rrrrr!rrc eZdZy)AttCertVersionV1Nrr rrrrr!rr)rBrc eZdZy)AttributeCertificateInfoV1Nrr rrrrr!rrrB)valuesubjectbaseCertificateID subjectNameattCertValidityPeriodissuerUniqueID extensionsc eZdZy)AttributeCertificateV1Nrr rrrrr!rracInfoc eZdZy)CertificateChoicesNrr rrrrr!rrextendedCertificate v1AttrCert v2AttrCertc eZdZy)CertificateSetNrr rrrrr!rrc eZdZy)MessageAuthenticationCodeNrr rrrr r!rrc eZdZy)UnsignedAttributesNrr rrrr$r!rrc eZdZy)SignatureValueNrr rrrr,r!rrc eZdZy) SignerInfoNrr rrrr0r!rrsid signedAttrs unsignedAttrsc eZdZy) SignerInfosNrr rrrrAr!rrc eZdZy) SignedDataNrr rrrrHr!rrdigestAlgorithms certificatescrls signerInfosc eZdZy)"MessageAuthenticationCodeAlgorithmNrr rrrrXr!rrc eZdZy) MessageDigestNrr rrrr\r!rrc eZdZy)TimeNrr rrrr`r!rrutcTime generalTimec eZdZy)OriginatorInfoNrr rrrrjr!rrcertsc eZdZy)AuthAttributesNrr rrrrvr!rrc eZdZy)AuthenticatedDataNrr rrrr~r!rroriginatorInforecipientInfos macAlgorithm authAttrsmac unauthAttrsc eZdZy) EnvelopedDataNrr rrrrr!rrc eZdZy)CountersignatureNrr rrrrr!rrrIc eZdZy) ExtendedCertificateOrCertificateNrr rrr r r!rr c eZdZy) SigningTimeNrr rrr r r!rr N) pyasn1.typerrrrrrpyasn1_modulesr r floatMAXrAnyrSequencer# NamedTypes NamedTyperSetOfr&r(ValueSizeConstraintsizeSpecr+Choicer/CertificateListsubtypeTagtagClassContexttagFormatConstructedr4r6OptionalNamedType id_signedDataAlgorithmIdentifierr< OctetStringr>Integerr@ NamedValues namedValuesrKGeneralizedTimerOrUrWtagFormatSimplerZr^NameCertificateSerialNumberrbrdrgrk SequenceOfrnrprr BitStringrvryrrrrrrrrrrrrrid_contentTypeid_dataid_messageDigestrrrrrrr CertificaterrrAttributeCertificaterrrDefaultedNamedType IssuerSerial GeneralNamesAttCertValidityPeriodUniqueIdentifier ExtensionsrrrrrrrrrrrrUTCTimerrrid_ct_contentInfoid_envelopedDatarrid_digestedDataid_signingTimer id_encryptedDataid_ct_authDatar id_countersignaturer rrr>s#! "" El) TXX    /)..I $9D$9$9$;<I jdjj~?O&PQ   tzz "+:J::1cB   +?)*>*>I,.Cd.C.C.EFI 3+'  4;; &:Y%9%9I6w6689I!:!(>(>(@AI):)<=  t}} "6!5!5I :<0I1I02R2TUI 7 " w'B'B  DMM ';i&:&:I :<0I 8:Z:\:d:dCGGC//1D1DaH;e;JKI02R2TUI 7 '#  $89#7#7I #84#8#8#:;I HDHHJ/$  DMM ';i&:&:I,',,.1I(G(G(G(IJ'#  4++  T]] ((>(>(@AI):)<=($ $++ -AI,@,@I/1F1HII"8":"B"BCGGC//1I1I1M#C#OP-) DMM ';i&:&:I:<=I 7'#  T__ (='>$ ))  $-- %9I$8$8I %@W%@%@%BCI ^T^^%56%!    +?)*>*>I/1F1HII.0D0F0N0NCGGC//1D1DaH1O1JKI)<)>)F)FCGGC//1I1I1M*G*OP +' DMM ';i&:&:I :<0I &?&A&I&ICGGC//1I1I1M'J'OPI'9';'C'CCGGC//1D1DaH(D(JKI02R2TUI02H2JK'# $++ %9I$8$8I/1F1HII.0D0F0N0NCGGC//1D1DaH1O1JK%! DMM ';i&:&:I :<0I245I02R2TUI 7 '# DKK 3i22I 5 78I 5 7 ? ?CGGC//1I1I1M!@!OPI!1!3!;!;CGGC//1I1I1M"<"OPI 5 7 ? ?CGGC//1I1I1M!@!OPI13;;CGGC//1I1I1M < OP   TZZ  -8*88C@  ; ;    t{{ "6!5!5I/1F1HII.0D0F0N0NCGGC//1D1DaH1O1JK" DJJ '0k#!?!?!?3!G $''  t''  7+F+F  4== &:Y%9%9I {}5I46Z6\]I 24D4F4N4NCGGC//1D1DaH5O5JK&" DMM 3i22I :<0I.0D0FGI 24I4K4S4SCGGC//1D1DaH5T5JK 1afaA6 Aq#vq!Q /Q31a8  ,E+F( dmm )= (<(<I 6I ,,F,FCGGC//1D1DaH-G-JK)% T    4== 2Y11I :<0I)+D+FGI*,C,EFI&(+   $-- 1I00I {}5I 8488:#5#5'#''#J]J]_b_r_rtuBv#5#wx   tzz "+:J::1cB dmm )= (<(<I :<0I ':w':':'<=I &6&89)% 7#>#>  $-- %9I$8$8I13J3LMI,.J.LMI Y[1%! T]] (,F,FT,F,RSI;4;;.)..# ##$79M9M9M9O9W9WdkdgdkdklollBEBUBUWXeY9W:Z[# ##M3G73G3G3I3Q3Q^e^a^e^efifyfy{~|O|OQR_S3Q4TU I"6'"6"6"89I %@W%@%@%BCI(G(G(G(IJI/1N1N1N1PQI odooDUGDUDUDW&XYI 02J'2J2J2LMI .@g.@.@.BC!,(( T]] (?I,.Ig.I.I.KLI ^T^^%56($  $89#7#7I ':w':':'<=I-/B/D/L/LCGGC//1I1I1M0M0OPI &<&>&F&FCGGC//1D1DaH'G'JKI &<&>&F&FCGGC//1D1DaH'G'JKI!7!9!A!ACGGC//1I1I1M"B"OP $  TZZ  23  0 0   $-; 6>>#34I '=v'='='?@  T]]  4y33I)9)A)ACGGC//1D1DaH*B*JKI(=(?(G(GCGGC//1D1DaH)H)JK  TZZ  ){8*88C@   #7)"6"6I :<0I 0.2B2J2JCGGC//1I1I1M3K3OPI(.*:;I(J(LMI 13L3N3V3VCGGC//1D1DaH4W4JKI*,C,EFI ^-=-E-ECGGC//1D1DaH.F.JKI8:;I /?/A/I/ICGGC//1D1DaH0J0JK# aCAr1a@Q31a8 DMM 3i22I :<0I 0.2B2J2JCGGC//1I1I1M3K3OPI(.*:;I.0D0FGI 24I4K4S4SCGGC//1D1DaH5T5JK   z Aq#vq!Q71afaA6 t{{ 2F1E1EI ':w':':'<=I-/B/D/L/LCGGC//1I1I1M0M0OP2 . Q31a81afaB1= $  1c61a;r