ó k°x]c@spddlmZddlZddlmZmZddlmZddlZddl Z ddl Z ddl Z ddl Z de e ƒkr«e je _e je _ni eej6eej6eej6eej6eej6eej6eej6eej6eej6eej6eej6eej 6Z!d„Z"d„Z#d„Z$d „Z%d „Z&d „Z'd „Z(d{d|d}gZ)d~dd€dgZ*dd‚fddƒfdd„fdd…fdd†fd d‡fd"dˆfd$d‰fd&dŠfd(d‹fd*dŒfd,dfd.dŽfd0dfd2dfgZ+d‘d’d“d”d•gZ,d<d–fd=d—fd>d˜fgZ-ie)d?6e*d@6e+dA6e,dB6e-dC6Z.iidDd6dEd6dFd#6dG6Z/iidHd6dId6dJd+6dKdL6dMdN6dO6idPd6dQd6dRd6dSd!6dMd+6dT6i dUd6dVd6dWd6dXd6dYd!6dZd#6d[d%6d\d'6d]d)6d^d+6d_6id`d6dad#6dbdN6dcdd6de6Z0df„e1e/j2ƒƒDƒZ3dg„e1e0j2ƒƒDƒZ4ie/e3fdh6e0e4fdi6Z5dj„Z6dk„Z7dlZ8dm„Z9dn„Z:do„Z;dp„Z<dq„Z=dr„Z>ie=ds6Z?ie>ds6Z@dt„ZAdu„ZBdv„ZCeDeDdw„ZEeDeDdx„ZFdy„ZGdz„ZHdS(™i’’’’(tFieldDescriptorN(t IPv4Addresst ip_address(t IPv6Addresst encodebytescCs|jƒjtjjS(N(t GetOptionst Extensionstopts_pb2tcriuthex(tfield((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt_marked_as_hex0scCs|jƒjtjjS(N(RRRRtipadd(R ((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt _marked_as_ip4scCs|jƒjtjjS(N(RRRRtflags(R ((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt_marked_as_flags8scCs|jƒjtjjS(N(RRRRtdev(R ((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt_marked_as_dev<scCs|jƒjtjjS(N(RRRRtodev(R ((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt_marked_as_odev@scCs|jƒjtjjS(N(RRRRtdict(R ((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt_marked_as_dictDscCs|jƒjtjjS(N(RRRRtconv(R ((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt _custom_convHst PROT_READit PROT_WRITEit PROT_EXECit MAP_SHAREDt MAP_PRIVATEtMAP_ANONi t MAP_GROWSDOWNit VMA_AREA_NONEitVMA_AREA_REGULARtVMA_AREA_STACKtVMA_AREA_VSYSCALLt VMA_AREA_VDSOit VMA_AREA_HEAPitVMA_FILE_PRIVATEitVMA_FILE_SHAREDitVMA_ANON_SHAREDitVMA_ANON_PRIVATEi tVMA_AREA_SYSVIPCi tVMA_AREA_SOCKETi t VMA_AREA_VVARi tVMA_AREA_AIORINGi t VMA_UNSUPPitO_WRONLYtO_RDWRtO_APPENDitO_DIRECTi@t O_LARGEFILEi€t PE_PARENTtPE_LAZYt PE_PRESENTs mmap.prots mmap.flagss mmap.statuss rfile.flagss pmap.flagstAlivetZombietStoppedt task_statetUNIXtINETtINET6tNETLINKitPACKETitfamilytSTREAMtDGRAMtRAWt SEQPACKETttypet ESTABLISHEDtSYN_SENTtSYN_RECVt FIN_WAIT1t FIN_WAIT2t TIME_WAITtCLOSEt CLOSE_WAITtLAST_ACKtLISTENtstatetIPtTCPtUDPtUDPLITEiˆtprotocCs5i|]+\}}d„t|jƒƒDƒ|“qS(cSsi|]\}}||“qS(((t.0tk2tv2((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pys ­s (tlisttitems(RUtktv((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pys ­s cCs5i|]+\}}d„t|jƒƒDƒ|“qS(cSsi|]\}}||“qS(((RURVRW((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pys ²s (RXRY(RURZR[((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pys ²s tgentskcCsgg|D]}||d@r |^q D]}|d^q(}|tg|D]}|d^qKƒM}|r€|jd|ƒndj|ƒS(Niis0x%xs | (tsumtappendtjoin(tvaluet flags_maptxtbs((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt map_flags½s >(cCsv|dkrdSt|ƒ}tgg|jdƒD]}|jƒ^q2D]'}tt|j||ƒƒdƒ^qHƒS(Ntit|(RR^tsplittstriptinttstrtget(RaRbtbdRc((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt unmap_flagsÅs   icCsNt|ƒr,dtj|ƒtj|ƒfSd|t?|dt>d@fSdS(Ns%d:%di(Rtostmajortminortkern_minorbits(R Ra((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt decode_devÓs   cCsdg|jdƒD]}t|ƒ^q}t|ƒrLtj|d|dƒS|dt>|dBSdS(Nt:ii(RhRjRRotmakedevRr(R RaRcR((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt encode_devŪs( cCs tj|ƒS(N(tbase64R(Ra((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt encode_base64ćscCs tj|ƒS(N(Rwt decodebytes(Ra((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt decode_base64ēscCs tj|ƒS(N(tquoprit encodestring(Ra((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt encode_unixėscCs tj|ƒS(N(R{t decodestring(Ra((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt decode_unixļst unix_namecCs"t|ƒ}|rt|StSdS(N(RtencodeRx(R tc((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt get_bytes_enc÷s cCs"t|ƒ}|rt|StSdS(N(RtdecodeRz(R R‚((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt get_bytes_dec’s cCs.dtkrt}n ttf}t||ƒS(Nt basestring(t __builtins__R†Rktbytest isinstance(Rat string_types((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt is_strings   cCs†|st|ƒ}n|jtjkr7t|||ƒS|jtjkrYt|ƒ|ƒS|jtjkr„|jj j |dƒj S|jt krft |j}|r\|tkr\|rĄd|St|ƒrŁt||ƒSt|ƒ}|r"yt|}Wntk rd|SXt||ƒSnt|ƒ}|r\t|d|j j |||ƒƒSn||ƒStd|j |jfƒ‚dS(Ns0x%xis!Field(%s) has unsupported type %d(R RDtFDt TYPE_MESSAGEtpb2dictt TYPE_BYTESRƒt TYPE_ENUMt enum_typetvalues_by_numberRltNonetnamet _basic_castRjRRsRt flags_mapst ExceptionReRt dict_maps(R Ratprettytis_hextcastRRbtdct((s9/usr/lib/python2.7/site-packages/pycriu/images/pb2dict.pyt _pb2dict_casts8       ( c Cs^|rtjƒni}x?|jƒD]1\}}|jtjkr4g}|rt|ƒrt|ƒdkrtj |dƒ}t |ƒ}nbdtj |dƒd>tj |dƒd>tj |dƒd>tj |dƒ}t |ƒ}|j |j ƒqIxB|D]"}|j t||||ƒƒq Wnt||||ƒ}|||jsü                                                               ( (