m .Ec@sdZdZdkTdklZdkZdkZdkZdkZdkZdkZdk Z ei Z ei Z e i Z egZhZx4eeedD]Zeedd!eeZeidZeidZdfdYZd fd!YZ d"Z!d#e fd$YZ"d%e fd&YZ#d'e fd(YZ$d)e fd*YZ%d+fd,YZ&d-fd.YZ'd/e&fd0YZ(d1e&fd2YZ)d3e'fd4YZ*d5e'fd6YZ+d7e+fd8YZ,d9e+fd:YZ-d;e&fd<YZ.d=e&fd>YZ/d?e&fd@YZ0dAe&fdBYZ1dCfdDYZ2e2Z2dEe fdFYZ3e3Z4dGe+fdHYZ5dIe6fdJYZ7dKZ8dLZ9dMfdNYZ:ei;ei<dOZ=dPZ>dQZ?dRZ@dSZAdTZBdUe:e fdVYZCdWZDdXZEdYZFdZZGd[ZHd\ZId]ZJd^ZKd_ZLd`ZMdaZNdbe:e fdcYZOddfdeYZPdfZQdgZRdhZSdiZTeUdjjo eQndS(ks3Provide conversion between Python pickles and XML s1.9(t*(sreplaceNiiis\n s s\ts s\\s\s\rs s\'t's\074ts\046t&cCsd}d}titti|d}t|dt|jod}t i |d }n||ddjp,||ddjp||d djoP||d djod |d }d }qtitd|d}n||fS(Nttreprf1.3999999999999999tbase64iRiRRs]]>s tcdatacCsti||S(N(treprs2tgetts(R ((t1/data/zmath/zope/lib/python/Shared/DC/xml/ppml.pytAs( tnewtencodingtstringtjointmaptreprsR tStlenRt encodestringtfind(RRRR((R tconvert5sB "cCsSd}|djoti|}n*ti|dd}td|d}|S(NRRs R( toriginalRRt decodestringRRtreplacetxteval(RRRR((R t unconvertGs  li cCs;|tjo d}n|t}|t}|d||S(Nis>II(tvtt32thtpack(RR"R!((R tp64Rs    cCsh|d|\}}|djot|}n|o-|djot|}n|t|}n|S(Ns>iii(tunpackRR!R (RR$R!((R tu64Ys  tGlobalcBstZdZddZRS(NcCs||_||_dS(N(tmoduletselftname(R(R'R)((R t__init__cs icCs]t|dod|i}nd}ti|ii}dd||||i|i fS(Ntids id="%s"Rs %s<%s%s name="%s" module="%s"/> t ( thasattrR(R+Rtlowert __class__t__name__R)tindentR'(R(R1R+R)((R t__str__gs (R0t __module__R*R2(((R R&as tScalarcBs&tZdZdZddZRS(NcCs ||_dS(N(RR(t_v(R(R((R R*pscCs|iS(N(R(R5(R(((R tvaluessicCs]t|dod|i}nd}ti|ii}dd||||i |fS(NR+s id="%s"Rs%s<%s%s>%s R,( R-R(R+RR.R/R0R)R1R6(R(R1R+R)((R R2us (R0R3R*R6R2(((R R4ns  cCs`| }|d djoti|dd}nt|dd}t|dd}|dd !S( Nis't"s\"t%s\045Rs\046i(RRR(R((R txmlstr|s tIntcBstZRS(N(R0R3(((R R:stLongcBstZdZRS(NcCs0t|i}|ddjo |d Sn|S(NitL(tstrR(R5tresult(R(R>((R R6s (R0R3R6(((R R;stFloatcBstZRS(N(R0R3(((R R?stStringcBs tZddZddZRS(NRcCs(t|\}}||_||_dS(N(RRRR(R5(R(RR((R R*s icCst|dod|i}nd}t|dod|i}nd}ti|ii}dd|||||i |fS(NR+s id="%s"RRs encoding="%s"s%s<%s%s%s>%s R,( R-R(R+RRR.R/R0R)R1R6(R(R1R)RR+((R R2s(R0R3R*R2(((R R@s tWrappercBs&tZdZdZddZRS(NcCs ||_dS(N(RR(R5(R(R((R R*scCs|iS(N(R(R5(R(((R R6sicCst|dod|i}nd}ti|ii}|i}d|}t |t o%d|||t|d |fSnTy|i|d}Wntj o|i}nXd||||||fSdS( NR+s id="%s"RR,s%s<%s%s> %s iis%s<%s%s> %s%s (R-R(R+RR.R/R0R)R5RR1tit isinstanceR4R=R2t TypeError(R(R1RBRR+R)((R R2s  %(R0R3R*R6R2(((R RAs  t CollectioncBstZddZRS(NicCst|dod|i}nd}ti|ii}d|}|o+d||||i |d||fSnd|||fSdS(NR+s id="%s"RR,s%s<%s%s> %s%s is %s<%s%s/> ( R-R(R+RR.R/R0R)R1RBR6(R(R1RBR+R)((R R2s +(R0R3R2(((R REstKeycBstZRS(N(R0R3(((R RFstValuecBstZRS(N(R0R3(((R RGst DictionarycBs,tZdZdZdZdZRS(NcCs g|_dS(N(R(t_d(R(((R R*scCs t|iS(N(RR(RI(R(((R t__len__scCs|ii||fdS(N(R(RItappendtkR(R(RLR((R t __setitem__scCs-titd||dd|idS(NR,icCs:d|t|di|t|di||fS(Ns%s %s%s%s ii(tindRFRBR2R1RG(RBRNR1((R R sR(RRRR1R(RI(R(R1((R R6s (R0R3R*RJRMR6(((R RHs   tSequencecBsAtZddZdZdZdZdZdZRS(NcCs|p g}n||_dS(N(RR(t_subs(R(R((R R*s cCs t|iS(N(RR(RP(R(((R RJscCs|ii|dS(N(R(RPRKR(R(R((R RKscCs|ii|dS(N(R(RPtextendR(R(R((R RQscCs9y|i|dSWntj o|iSnXdS(Ni(RR2R1RD(R(RR1((R t _stringifyscs%tit|didS(Ncsi||S(N(R(RRRR1(RR1(R((R R sR(RRRR1R(RP(R(R1((R(R R6s ( R0R3tNoneR*RJRKRQRRR6(((R ROs      tListcBstZRS(N(R0R3(((R RTstTuplecBstZRS(N(R0R3(((R RUstKlasscBstZRS(N(R0R3(((R RVstStatecBstZRS(N(R0R3(((R RWstPicklecBstZRS(N(R0R3(((R RXst PersistentcBstZRS(N(R0R3(((R RYstnonecBstZddZRS(NicCs d|dS(NR,s (R1(R(R1((R R2s(R0R3R2(((R RZst ReferencecBstZdZddZRS(NcCs ||_dS(N(RR(R5(R(R((R R*sicCs3|i}ti|ii}dd|||fS(Ns%s<%s id="%s"/> R,( R(R5RRR.R/R0R)R1(R(R1R)R((R R2s (R0R3R*R2(((R R[s tObjectcBstZdZdZRS(NcCst||g|_dS(N(RVtklasstargsR(RP(R(R]R^((R R*scCs|it|dS(N(R(RKRWR(R(R((R t __setstate__s(R0R3R*R_(((R R\s tToXMLUnpicklercBsPtZdZhZeieidZdZeeee>ee?dii(R(RKR?R$Rk(R(R$((R t load_binfloat0scCs3|itt|id hdh<dS(Nit __builtins__(R(RKR@RRd(R(((R t load_string4scCs9td|id}|it|i|dS(NRBi(RjR(RkRRKR@(R(R((R tload_binstring9scCs=td|idd}|it|i|dS(NRBiRm(RjR(RkRRKR@(R(R((R tload_short_binstring>scCs1|i}t|i|dg|i|)dS(Ni(R(tmarkerRLRUtstack(R(RL((R t load_tupleCs cCs|iitdS(N(R(R{RKRU(R(((R tload_empty_tupleHscCs|iitdS(N(R(R{RKRT(R(((R tload_empty_listLscCs|iitdS(N(R(R{RKRH(R(((R tload_empty_dictionaryPscCs1|i}t|i|dg|i|)dS(Ni(R(RzRLRTR{(R(RL((R t load_listTs cCs|i}t}|i|d}xBtdt|dD](}||}||d}|||dtFs ( R(RRR"RRsR)RRR(R(RRRR((R t save_float s  /cCs|idd}|oti|d}|djo||d}n |ddjo|d}n|ioZti|}t |d}|djo|d}d}n |}d }||}nd |d }||Sn|S( NR+Rt.iiRBitqtrtps ( RR R+RtrfindtprefixR(RRhRR tputR(R(RRR RRR+((R tsave_puts&      c Cs|i}d}|d}t|djo#x |dD]} || }q7Wn|d}|dj ot||}nd} |oWt|}t |d}|djod|d|}nd ||}d } nd |d }t |||S( NRiiRRitUitTRsS's' (R(RRRRRRRRRtlRR R( R(RRRRRRR RRR((R t save_string's(        cCsA|d}|pdSnt|dti|dd|dS(Nit)t(Rtti(RRRR(RR(R(RRR((R t save_tuple=s cCs|d}|d}|io?t|d|}|o"|dti|dd}qn4t|d|}|oti|dd}n|S( Niit]RRtes(lR( RR<RR(RRRRR(R(RRRR<R((R t save_listBs   &cCs|d}|ioCt|d|d}|o"|dti|dd}qn<t|d|d}|o|ti|dd}n|S( Nit}iRRtus(dR (RRR(RRRRR(R(RRRR((R t save_dictMs  &c Cs|i}|d}|d} ti| d}|djo| |d} nd}|oZti | } t | d}| djo|d} d}n |} d}|| }n|| d }|S( NiR+RitgiR!tjs ( R(RRRR+RRRR RhRR R( R(RRRRR R RRR+((R tsave_referenceWs$       cCs}d|d}|dd}ti|d}|djo|| }nt|||d|d}||dd }|S( NRiiiRitoitb(RRRRRtstopRR((R(RRRRR((R t save_objectls cCs2|d}t|d|dd|dd|S(NitcR's R)(RRRR((R(RRR((R t save_globalus cCs0|d}|io|d}n d|}|S(NitQtP(RRR(R(R(RRR((R t save_persisys    t xmlPicklercBstZhdd s ()txmllibR RtfootbarRtyRKRRR RR<RRtdumpstfRRR=RRRt XMLParserRRRRtunknown_starttagtunknown_endtagt_stacktpushttempfileRRtsplitRtfeedtclosetztloads(RRR<RRRRRRRR RRRRR((R ttestsl                                     cCsdk}tdi}tddd}t|d}|i}|i |_ |i |_ |i |_ |i |_ |i |_ |i|_|i|_|i|_|i|_|i|_ti|d}x|D]}|i|qW|i|i}|dd}|GdGHdS(NsData.xmltouttwRis i(RtopenRkRRRRRRRRRRRRRRKRRRRRRRR(RRRRRRRR((R ttest1s.              cCsdk}t}d|_d|_ddddg} dd||f} | i| | i| f} g}d}t d} | i| | i|| i|| i| | id| id | Gd GHti| }|Gd GHt|}t|}d |}|Gd GHd}t}d|_|iii}|i|_|i|_|i |_!|i"|} | Gd GHdS( NiiiiRRRii s s ($txml.parsers.expattxmlR RRRRRRKRRR RR<RRRRRR=RRRRtparserstexpatt ParserCreateRRtCharacterDataHandlerRtStartElementHandlerRtEndElementHandlertParseR(R'RRRRRRRR RRRRR<((R ttest2sD                        cCsdk}tdi}tddd}t}||_d|_|i i i }|i |_|i|_|i|_|i|}|GdGHdS(NsData.xmlR"R#Ris (R&R'R$RkRRRRRR(R)R*RRR+RR,RR-R.R(R'RRRRR((R ttest3s       t__main__(Vt__doc__t __version__RRRRRRtmarshaltxyapRRR RjttypetListTypeRRtchrRRRR RRRR R"R#R$R%R&R4R9R:R;R?R@RARERFRGRHRORTRURVRWRXRYRZR[RR\RaR`RRRRRR)RRRRRRRRRRRRRRRRRRR R!R%R/R0R0(GR%RR0R?R#RR RZR;RRRWRRRRR9RRRHRURRRRR4RERRFRR!R R3R5RRRR%RRTRGRYR/R\RAR7RjRRXRR@RRRR)R[ROR:R R&RRRRRRRR`RR4RV((R t?s                                         7  $