MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /proc/self/root/proc/self/root/usr/lib/python2.4/site-packages/yum/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/proc/self/root/usr/lib/python2.4/site-packages/yum/pgpmsg.pyc
m
ODc@sdkZdkZdkZdkZdkZdkZdkZdkZeZ	dZ
dZdZdZ
dZdZdZdZdZd	Zd
ZdZdZd
ZdZdZdZdZdZhed<ed<ed<ed<ed<ed<ed<ed<ed<ed<ed<ed<ed<ed <ZdZd!ZdZ dZ!dZ"dZ#dZ$dZ%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+he#d(<e$d)<e%d*<e&d+<e'd,<e(d-<e)d.<e*d/<e+d0<Z,d!Z-dZ.dZ/dZ0dZ1d	Z2d
Z3dZ4dZ5d
Z6he-d1<e.d2<e/d3<e0d4<e1d5<e2d6<e3d7<e4d8<e5d9<e6d:<Z7d!Z8dZ9dZ:he8d;<e9d<<e:d=<Z;dZ<dZ=dZ>dZ?d	Z@d
ZAdZBhe<d><e=d?<e>d@<e?dA<e@dB<eAdC<eBdD<ZCd!ZDdZEdZFd"ZGd#ZHd$ZId%ZJdEZKdFZLdGZMdHZNdIZOdJZPheDdK<eEdL<eFdM<eGdN<eHdO<eIdP<eJdQ<eKdR<eLdS<eMdT<eNdU<eOdV<ePdW<ZQdZRdZSdZTd	ZUd
ZVdZWd
ZXdZYdZZdZ[d"Z\d&Z]d'Z^dXZ_dYZ`dEZadZZbd[Zcd\Zdd]Zed^ZfheRd_<eSd`<eTda<eUdb<eVdc<eWdd<eXde<eYdf<eZdg<e[dh<e\di<e]dj<e^dk<e_dl<e`dm<eadn<ebdo<ecdp<eddq<eedr<efds<Zgd!ZhdZidZjdZkdGZlhehdt<eidu<ejdv<ekdw<eldx<ZmdZndZodZpdZqd"ZrdZsdZtdJZudyZvdzZwd{Zxd|Zyd}Zzd~Z{dZ|dZ}dZ~dZdfdYZdefdYZdefdYZdefdYZdfdYZdZdZdZdZdS(Niii<i?iiiiiiiii	i
iii
is#public-key encrypted session packetssignature packets&symmetric-key encrypted session packetsone-pass signature packetssecret-key certificate packetspublic-key certificate packetssecret-key subkey packetscompressed data packets#symmetric-key encrypted data packets
marker packetsliteral data packetstrust packetsuser id packetspublic subkey packetiiiiiiisRSA (Encrypt or Sign)sRSA Encrypt-Onlys
RSA Sign-OnlysElgamal Encrypt-Onlys DSA (Digital Signature Standard)sElliptic CurvetECDSAsElgamal (Encrypt or Sign)sDiffie-HellmansPlaintext or unencrypted datatIDEAs
Triple-DEStCAST5tBlowfishsSAFER-SK128sDES/SKsAES 128-bitsAES 192-bitsAES 256-bittUncompressedtZIPtZLIBtMD5tSHA1t	RIPEMD160sdouble-width SHAtMD2tTIGER192sHAVAL-5-160iii i(i0i@s document signature, binary images"document signature, canonical textssignature over just subpacketss;public key packet and user ID packet, generic certifications-public key packet and user ID packet, personas:public key packet and user ID packet, casual certifications<public key packet and user ID packet, positive certificationssubkey bindings
key signatureskey revocationssubkey revocationscertificate revocationt	timestampiiiiiiissignature creation timessignature expiration timesexportable certificationstrust signaturesregular expressiont	revocableskey expiration times&placeholder for backward compatibilityspreferred symmetric algorithmssrevocation keys
issuer key IDs
notation dataspreferred hash algorithmss preferred compression algorithmsskey server preferencesspreferred key serversprimary user ids
policy URLs	key flagsssigner's user idsreason for revocationsNo reason specifiedsKey is supercededsKey has been compromisedsKey is no longer useds&user id information is no longer validcCsnd}x[|djoMtid|||d!d}|dt|}|d}|d}q	W||fS(sget_whole_number(msg, idx, numlen)
extracts a "whole number" field of length numlen from msg at index idx
returns (<whole number>, new_idx) where the whole number is a long integer
and new_idx is the index of the next element in the messagelitBilN(tntnumlentstructtunpacktmsgtidxtbtlong(RRRRR((t./usr/lib/python2.4/site-packages/yum/pgpmsg.pytget_whole_numbers
!
cCs(t|||\}}t||fS(siget_whole_int(msg, idx, numlen)
same as get_whole_number but returns the number as an int for convenienceN(RRRRRtint(RRRR((Rt
get_whole_intscCsRg}x<|djo.|idtid|d@|dL}q	Wdi|S(sKpack_long(l)
    returns big-endian representation of unsigned long integeriRiitN(tarrtltinsertRtpacktjoin(RR((Rt	pack_longs
 cCst|}t|dd}t|djo=t|d}x0|djo|d7}|dL}qFWnd}tid||S(s_pack_mpi(l)
    returns the PGP Multi-Precision Integer representation of unsigned long integeriiis>HN(	R!RtstlentbitstordRRR(RRR"R$((Rtpack_mpis

cCst||d\}}|djo||fSn|djo6t||d\}}|dd>|d|fSnt||dS(sfget_sig_subpak_len(msg, idx)
extracts a signature subpacket length field
returns (subpak_len, new_idx)iiiiiN(RRRtplentplen2(RRR'R(((Rtget_sig_subpak_len.s

cCs7t||d\}}|ft|||ddS(sget_mpi(msg, idx)
    extracts a multi-precision integer field from the message msg at index idx
    returns (n, <mpi>, new_idx) where the mpi is a long integer and new_idx is
    the index of the next element in the message and n is the number of bits of
    precision in <mpi>iiiN(RRRtlnR(RRR*((Rt	get_n_mpi:scCs!t||}|d|dfS(sget_mpi(msg, idx)
extracts a multi-precision integer field from the message msg at index idx
returns (<mpi>, new_idx) where the mpi is a long integer and new_idx is
the index of the next element in the messageiiN(R+RRR(RRR((Rtget_mpiCscCs"titdt|dS(NcCs titt|ddS(Ni(tstringtzfillthexR%tx(R0((Rt<lambda>LsR(R-R tmaptlistR"(R"((Rt
str_to_hexKscCsk|djodSn|d}|d}|d}|d}|d}|d}|}d||||fS(Nitneveri<is%d days %02d:%02d:%02d(R"tsecstminsthrstdays(R"R7R6R8R9((Rtduration_to_strNs






cCsg}t|tijo)t|tijot|f}nxN|D]F}|i	|o|i
||qL|i
dt|dqLWti
|dS(Nsunknown(t)s, (tslistttypetvalsttypestListTypet	TupleTypeR3titmthas_keytappendtstrR-R (RCR>R<RB((Rt
map_to_strZs,t
pgp_packetcBstZdZdZRS(NcCs
d|_dS(N(tNonetselftpkt_typ(RJ((Rt__init__gscCstt|iS(N(RGtctb_pkt_to_strRJRK(RJ((Rt__str__js(t__name__t
__module__RLRN(((RRHfs	t
public_keycBs>tZdZdZdZdZdZdZRS(NcCs(d|_d|_d|_d|_dS(Ni(RIRJtversiontpk_algotkey_sizetfingerprint_(RJ((RRLns			cCs|io|iSn|idjoKti}|it|i|it|i	|i
|_n|idjodti}|id|i}|itidt||i||i
|_ntd|i|iS(Niiss>Hsunknown public key version %d(RJRURRtmd5tnewthtupdateR!t
pk_rsa_modt
pk_rsa_exptdigesttshat	serializetbufRRR#tRuntimeError(RJRXR_((Rtfingerprintus 


cCsK|idjot|id@Sn#|idjo|idSndS(Nilii(RJRRR!RZRa(RJ((Rtkey_idscCsg}|idjod|itid|it|i|i|i	|it
|i|it
|inx|idjog|itid|it|i|i	|i	t
jp|i	tjo0|it
|i|it
|iq|i	tjo\|it
|i|it
|i|it
|i|it
|iq|i	tjp|i	tjoF|it
|i|it
|i|it
|iqtd|i	ndi|S(Nis>BIHBis>BIBsunknown public key algorithm %dR(tchunksRJRRRERRRRtvalidityRSR&RZR[tALGO_PK_RSA_ENC_OR_SIGNtALGO_PK_RSA_SIGN_ONLYtALGO_PK_DSAtpk_dsa_prime_ptpk_dsa_grp_ord_qtpk_dsa_grp_gen_gtpk_dsa_pub_keytALGO_PK_ELGAMAL_ENC_OR_SIGNtALGO_PK_ELGAMAL_ENC_ONLYtpk_elgamal_prime_ptpk_elgamal_grp_gen_gtpk_elgamal_pub_keyR`R (RJRc((RR^s*4.  cCsf|}t||d\|_}|idjo7|idjo'|idjod|i|fn|idjo
d|_nt||d\|_}t|i|_|idjot||d\|_	}nt||d\|_
}|i
tjp|i
tjo:t
||\|_|_}t||\|_}n
|i
tjowt
||\}|_}t||\|_}t||\|_}t
||\}|_}|||_n|i
tjp|i
tjoRt
||\|_|_}t||\|_}t||\|_}nd|i
|fdS(Niiiis*unknown public key packet version %d at %ds%unknown public key algorithm %d at %d(Rtidx_saveRRRJRRRRtfloatRdRSReRfR+RTRZR,R[Rgtl1RhRiRjtl2RkRlRmRnRoRp(RJRRtpkt_lenRqRtRs((Rtdeserializes20
  cCs=ti}|iti|d|idt|id|idt	i
|id|idjo8|idt	i
|i|iddddn|idt
|id|itjp|itjo@|id	t|id|id
t|idn|itjo||idt|id|idt|id|id
t|id|idt|idn|itjp|itjo^|idt|id|idt|id|idt|idn|iS(Ns
s	version: stimestamp: is
validity: ii<s
pubkey algo: spk_rsa_mod: spk_rsa_exp: spk_dsa_prime_p: spk_dsa_grp_ord_q: spk_dsa_grp_gen_g: spk_dsa_pub_key: spk_elgamal_prime_p: spk_elgamal_grp_gen_g: spk_elgamal_pub_key: (t	cStringIOtStringIOtsiotwriteRHRNRJRFRRttimetctimeRRdtalgo_pk_to_strRSReRfR/RZR[RgRhRiRjRkRlRmRnRoRptgetvalue(RJRy((RRNs(!8 "" "(RORPRLRaRbR^RvRN(((RRQms					tuser_idcBs#tZdZdZdZRS(NcCs
d}dS(N(RItid(RJR((RRLscCs||||!|_dS(N(RRRuRJR(RJRRRu((RRvscCs ti|dd|idS(Ns
sid: (RHRNRJR(RJ((RRNs(RORPRLRvRN(((RRs		t	signaturecBsbtZdZdZdZdZdZdZdZdZ	d	Z
d
ZRS(NcCs1d|_d|_d|_d|_d|_dS(N(RIRJRRtsig_typeRSt	hash_algot	hash_frag(RJ((RRLs
				cCsg|idjo|iSnI|it}|o|dSn|it}|o|dSndSdS(Nii(RJRRtkey_id_tget_hashed_subpaktSIG_SUB_TYPE_ISSUER_KEY_IDRBtget_unhashed_subpakRI(RJRB((RRbscCsF|idjotdn|it}|o|dSndS(Nis$v3 signatures don't have expirationsii(RJRRt
ValueErrorRtSIG_SUB_TYPE_KEY_EXPIRERB(RJRB((Rt
expirationscCs1x*|iD]}|d|jo|Sq
q
WdS(Ni(RJthashed_subpaksRBttypRI(RJRRB((RRs

cCs1x*|iD]}|d|jo|Sq
q
WdS(Ni(RJtunhashed_subpaksRBRRI(RJRRB((RR
s

c!Cst||\}}t||d\}}|tjo2t||d\}
}|t	|
f|fSn|t
jp
|tjo,t||d\}}||f|fSn|t
jp
|tjo,t||d\}}||f|fSn|tjoGt||d\}}t||d\}}|||f|fSn|tjo7||||d!}||d}||f|fSn|tjp'|tjp|tjp
|tjoItdt||||d!}||d}||f|fSn|tjoet||d\}}t||d\}}|||d!}|d}||||f|fSn|t jo/|||d!}|d}||f|fSn|t"jot||d\}}t||d\}}t||d\}}t||d\}
}t||d\}}t||d\}}||||!}||}||||!}	||}|||||
||	f|fSn|t+joXg}||||d!D]}|t.|q~}||d}||f|fSn|t0jo7||||d!}||d}||f|fSn|t2jo,t||d\}}||f|fSn|t3jo7||||d!}||d}||f|fSn|t4jo7||||d!} ||d}|| f|fSn|t6joTt||d\}}|d}||||!}||}|||f|fSn||||d!}||d}||f|fS(NiicCs
t|S(N(R%R0(R0((RR1(siii(;R)RRtsublenRtsubtypetSIG_SUB_TYPE_CREATE_TIMERttmRrtSIG_SUB_TYPE_EXPIRE_TIMERR"tSIG_SUB_TYPE_EXPORT_CERTtSIG_SUB_TYPE_REVOCABLEtbooltSIG_SUB_TYPE_TRUST_SIGt	trust_lvlt	trust_amttSIG_SUB_TYPE_REGEXPtexprtSIG_SUB_TYPE_PREF_SYMM_ALGOtSIG_SUB_TYPE_PREF_HASH_ALGOtSIG_SUB_TYPE_PREF_COMP_ALGOtSIG_SUB_TYPE_KEY_FLAGSR2R3t	algo_listtSIG_SUB_TYPE_REVOKE_KEYtclstalgotfprintRtk_idtSIG_SUB_TYPE_NOTATIONtflg1tflg2tflg3tflg4tname_lentval_lentnamtvaltSIG_SUB_TYPE_KEY_SRV_PREFt_[1]R0R%tprefstSIG_SUB_TYPE_PREF_KEY_SRVRturltSIG_SUB_TYPE_PRIM_USER_IDtSIG_SUB_TYPE_POLICY_URLtSIG_SUB_TYPE_SGNR_USER_IDt	signer_idtSIG_SUB_TYPE_REVOKE_REASONtrev_codetreas_lentreastdat(!RJRRRRRRRR0RRRRRRRRRRRRRRRRRRRRR"RRR((Rtdeserialize_subpackets


4'






#
6






cCs5x.|iD]#}|dtjo|dSq
q
WdS(spis_primary_user_id()
        returns true if this signature contains a primary user id subpacket with value trueiiN(RJRRBR(RJRB((Rtis_primary_user_id_s
cCs|dtjodti|dSn|dtjodt|dSn|dtjo|dodSq}dSn|dtjou|ddjodSn|ddjod|d	Sn|dd	jod
|d	Snd|d|d	fSn|dtjod|dSn|dt	jo|dod
SqPdSn|dt
jodt|dSn|dtjodtt
|dSn|dtjoNd}|dt@o|d}n|tt|d	dt|dSn|dtjodt|dSn|dtjod|dSn|dtjodtt|dSn|dtjodtt|dSn|dtjoHd}g}|ddd@o|idn|ti|dSn|dtjod|dSn|dtjo|dodSqBdSn|dt jod |dSn|dt!jog}d}t$|ddjo|dd}n|t%@o|id!n|t&@o|id"n|t'@o|id#n|t(@o|id$n|t)@o|id%n|t*@o|id&nd'ti|dSn|dt+jod(|dSn|dt,joBd)}t.i/|dot.|d}nd*||d	fSnd+|dt|dfS(,Niscreation time: issignature expires: ssignature exportable: TRUEssignature exportable: FALSEstrust: ordinarystrust: introducer (%d)istrust: meta-introducer (%d)strust: %d %dsregexp: ssignature revocable: TRUEssignature revocable: FALSEs
key expires: s preferred symmetric algorithms: srevocation key: s(sensitive) t isissuer key id: s2notation: flags(%d, %d, %d, %d) name(%s) value(%s)spreferred hash algorithms: s"preferred compression algorithms: skey server preferences: is	No-modifys, spreferred key server: %ssis primary user idsis not primary user idspolicy url: %ssmay certify other keyss
may sign datasmay encrypt communicationssmay encrypt storages4private component may have been secret-sharing splits	group keyskey flags: ssigner id: Rsreason for revocation: %s, %ssunknown(%d): %s(0tspRR{R|RR:RRRRRRRGtalgo_sk_to_strRR"tREVOKE_KEY_CLASS_SENR}R4RRRtalgo_hash_to_strRtalgo_comp_to_strRRRER-R RRRRtflagstflgs1R#tKEY_FLAGS1_MAY_CERTIFYtKEY_FLAGS1_MAY_SIGNtKEY_FLAGS1_MAY_ENC_COMMtKEY_FLAGS1_MAY_ENC_STRGtKEY_FLAGS1_PRIV_MAYBE_SPLITtKEY_FLAGS1_GROUPRRRtrevoke_reason_to_strRD(RJRRRR"RR((Rtsubpacket_to_strgs+cCst||d\|_}|idjo
d|_n|idjot||d\}}t||d\|_}t||d\|_}t	|i|_|||d!|_
|d}t||d\|_}t||d\|_}nI|idjo%t||d\|_}t||d\|_}t||d\|_}t||d\}}||}g|_x:||jo,|i||\}}|ii|qWt||d\}}||}g|_xQ||jo,|i||\}}|ii|qWnd|i|ft||d\|_}|itjp|itjot||\|_}nX|itjo4t||\|_}t||\|_}nd|i|f|S(Niiiiis)unknown signature packet version %d at %ds4unknown public-key algorithm (%d) in signature at %d(RRRRJRRRthash_lenRRRrRRSRtsub_paks_lentsub_paks_endRRRRERRReRfR,trsa_sigRgt	dsa_sig_rt	dsa_sig_s(RJRRRuRRRR((RRvsN


	

	
 cCs5ti}|iti|d|idt|id|idt	|i
d|idjoC|idti|i
d|idt|idn|idjo|idx/|iD]$}|id	|i|dqW|id
x3|iD]$}|id	|i|dqWn|idt|id|idt|id|itjp|itjo/|id
|idt|idn^|itjoM|id|idt|id|idt|idn|iS(Ns
s	version: stype: istimestamp: skey_id: ishashed subpackets:
s    sunhashed subpackets:
shash_algo: shash_frag: s
pk_algo: RSA
s	rsa_sig: s
pk_algo: DSA
sdsa_sig_r: sdsa_sig_s: ( RwRxRyRzRHRNRJRFRRtsig_type_to_strRR{R|RR4RRRBRRRRR/RRSReRfRRgRRR~(RJRBRy((RRNs4!"

"

& 
"
"(RORPRLRbRRRRRRRvRN(((RRs						L		U	)tpgp_certificatecBsJtZdZdZdZeeZdZdZdZ	RS(NcCs1d|_d|_d|_g|_g|_dS(N(RIRJRRRQt
revocationtuser_idst
rvkd_user_ids(RJ((RRLs
				cCsti}|id|i|id|i|it|ixT|i	D]I}|it|dx)|dD]}|idt|q|WqTW|iS(NsPGP Public Key Certificate v%d
sPrimary ID: %s
iis   (
RwRxRyRzRJRRRRFRQRtuidtsigR~(RJRRRy((RRN
s
cCs|iddiS(Nii(RJRR(RJ((Rtget_user_idscCs|idjo?|iidjodSn|ii|iidddSnj|id}xU|dD]I}|it	jo3|i
}|djodSn|ii|SqgqgWdSdS(Niiii<i(RJRRRQRdRRtu_idRBRtSIG_TYPE_PK_USER_GENRtexp(RJRBRR((RR s$

cCsdS(Ni((RJ((RRT1scCs|ditjo$tdtt|din|d|_|ii|_|idjod}||it
jo||idjotd||in||itjo$tdtt
||in|||_|d}nx|t|jo||itjo*td|tt||ifn||g}|d}d}d}x
|t|jo||it
jo||itttttfjo*td|tt
||ifn||idjotd||in|i||||itjo
d}n|io||itjo
|}n|d}qzW|io#|o|o|di|_n|o|ii|q|ii|qWnd}g|_g|_ g|_!||it
job||id	jotd
||in||itjo|||_|d}q}nx|t|jon||it
joZ||it"jo$tdtt
||in|ii|||d}qWx|t|jo||itjoQ||g}d}d}|d}x|t|jo||it
jo||itttttfjo*td|tt
||ifn|i||||itjo
d}n||id	jo||io
d}n|d}qRW|o|ii|q|o|di|_n|ii|q||it#jo||g}|d}d}x|t|jo||it
jo||it%t&fjo*td|tt
||ifn|i||||it&jo
d}n|d}qW|o|i!i|q|i i|qtd
|tt||ifqWt|idjotdndS(sload(pkts)
Initialize the pgp_certificate with a list of OpenPGP packets. The list of packets will
be scanned to make sure they are valid for a pgp certificate.is6first PGP packet should be a public-key packet, not %siis'version 3 cert has version %d signatures"v3 cert revocation sig has type %ss#pgp packet %d is not user id, is %ss/signature %d doesn't bind user_id to key, is %sis'version 4 cert has version %d signatures8v4 cert signature has type %s, supposed to be direct keys.signature %d doesn't bind subkey to key, is %ss-pgp packet %d is not user id or subkey, is %ss)no user id packet was present in the certN('tpktsRKtCTB_PKT_PK_CERTRRGRMRJRQRRtpkt_idxtCTB_PKT_SIGRtSIG_TYPE_KEY_REVOKERRR#tCTB_PKT_USER_IDRt
is_revokedRRtSIG_TYPE_PK_USER_PERtSIG_TYPE_PK_USER_CAStSIG_TYPE_PK_USER_POStSIG_TYPE_CERT_REVOKEtsig_typREtcert_idRRRtdirect_key_sigstsubkeystrvkd_subkeystSIG_TYPE_KEYtCTB_PKT_PK_SUBtsubkeytSIG_TYPE_SUBKEY_BINDtSIG_TYPE_SUBKEY_REVOKE(RJRRRRRR((Rtload4s$
$
*

'#*

			
'$

'#*
%


'*
+(
RORPRLRNRtpropertyRRRTR(((RRs					cCst||d\}}|t@tjod}|t@tjo
d}n|t@t	jo
d}n|t@t
jo
d}n|t@tjo
d}nd}|djot|||\}}n|t
@d?||fSn|t@tjot||d\}}|djo|t@||fSn|djo=t||d\}}|t@|dd>|d|fSn|djo-t||d\}}|t@||fSqd	|nd
||fdS(sget_ctb(msg, idx)
extracts a the "cypher type bit" information from message msg at index idx
returns (type, len, new_idx) where type is the enumerated type of the packet,
len is the length of the packet, and new_idx is the index of the next element
in the messageiiiiiiiis=partial message bodies are not supported by this version (%d)s4unknown (not "normal") cypher type bit %d at byte %dN(RRRRtCTB_76_MASKt
CTB_76_NORMALtn_lentCTB_PKT_LEN_MASKt
CTB_PKT_LEN_1t
CTB_PKT_LEN_2t
CTB_PKT_LEN_4tCTB_PKT_LEN_UNDEFRutCTB_PKTV2_MASKt
CTB_76_NEWR'tCTB_PKT_MASKR((RRRR'RuR(R((Rtget_ctbs8






%

cCsd}d}|}xet|D]W}|t|d>A}x:tddD])}|d>}|d@o||A}qIqIWqW|d@S(	NiiLiiiiii(	t
crc24_initt
crc24_polytcrcR3RRBR%trangetj(RRRBRRR((Rtcrc24s

cCsg}d}t|}x||jot||\}}}d}|t
jp
|tjo
t}n5|t
jo
t}n|tjo
t}n|oB||_|i|||toti|idqnd||f|i|||}qW|S(Nis
s unknown pgp packet type %d at %d(tpkt_listRR#Rtmsg_lenRRKRuRItpktRRRQRRRRRvtdebugRzRNRE(RRRRKR
R	Ru((Rtdecodes,





	
cCsStdti|d}d}	d}
ti}x|D]}|	p|djo
d}	q=q=n|
p$t|djo
d}
q=q=n|ddjoti
|dd!}d}t||d\}}ti
|i}|i|t|jo
d	nt|}t}|i||Sn|i|q=WdS(
NcCs
ti|S(N(R-trstripR0(R0((RR13ss
is$-----BEGIN PGP PUBLIC KEY BLOCK-----it=iisbad checksum on pgp message(R2R-tsplitRtpgpkey_linestin_blocktin_dataRwRxt	block_bufRR#tbase64tdecodestringtcsumRBRR~tcert_msgtcloseRR
R	RtcertRRzRI(RRRBRRRR	RRRR((Rt
decode_msg0s8




	
(R-RR{RwRR?RVR]RIRRRRRRtCTB_PKT_PK_ENCRtCTB_PKT_SK_ENCtCTB_PKT_OP_SIGtCTB_PKT_SK_CERTRtCTB_PKT_SK_SUBtCTB_PKT_COMPRESSEDtCTB_PKT_ENCtCTB_PKT_MARKERtCTB_PKT_LITt
CTB_PKT_TRUSTRRRMRRRRRRetALGO_PK_RSA_ENC_ONLYRfRmRgtALGO_PK_ELLIPTIC_CURVEt
ALGO_PK_ECDSARlt
ALGO_PK_DHR}t
ALGO_SK_PLAINtALGO_SK_IDEAtALGO_SK_3DESt
ALGO_SK_CAST5tALGO_SK_BLOWFISHtALGO_SK_SAFER_SK128tALGO_SK_DES_SKtALGO_SK_AES_128tALGO_SK_AES_192tALGO_SK_AES_256RtALGO_COMP_UNCOMPt
ALGO_COMP_ZIPtALGO_COMP_ZLIBRt
ALGO_HASH_MD5tALGO_HASH_SHA1tALGO_HASH_RIPEMD160tALGO_HASH_SHA_DBLt
ALGO_HASH_MD2tALGO_HASH_TIGER192tALGO_HASH_HAVAL_5_160RtSIG_TYPE_DOCUMENTtSIG_TYPE_DOCUMENT_CANONtSIG_TYPE_STANDALONERRRRRRRRRtSIG_TYPE_TIMESTAMPRRRRRRRRtSIG_SUB_TYPE_PLACEHOLDERRRRRRRRRRRRRRtsig_sub_type_to_strtREVOKE_REASON_NONEtREVOKE_REASON_SUPERtREVOKE_REASON_COMPRtREVOKE_REASON_NOT_USEDtREVOKE_REASON_ID_INVALIDRRRRRRRtREVOKE_KEY_CLASS_MANDtREVOKE_KEY_CLASS_SENSRRR!R&R)R+R,R4R:RGRHRQRRRRRR
R(RR%R:RRRJR(R@RERIRRR*R:R2R-RRRRR#RRRR]RRRmRRRwRRRRRRRRRRHRRR8R,RRR7R;RR&RlR'RRRVRMRRgR)R<RRRfR"RGRRRRRRRRRARRGR
RR4RBRRRRDRRRR0R3R4RR-R6R}R!R/R,R5ReR=RRRQRR!RRCRR+RRRRRR?RRFR.RHR)R?RR>RRRR+R&R$RR{RR9R R1((Rt?sHW
`!E{3		
											r	$	
	

Anon7 - 2021