PK95E9))EGG-INFO/PKG-INFOMetadata-Version: 1.0 Name: PyProtocols Version: 1.0a0dev-r2082 Summary: Open Protocols and Component Adaptation for Python Home-page: http://peak.telecommunity.com/PyProtocols.html Author: Phillip J. Eby Author-email: peak@eby-sarna.com License: PSF or ZPL Description: UNKNOWN Platform: UNKNOWN PK95EGG-INFO/SOURCES.txt.cvsignore CHANGES.txt README.txt TODO.txt UPGRADING.txt setup.cfg setup.py docs/ref/.cvsignore docs/ref/libprotocols.tex docs/ref/ref.tex ez_setup/README.txt ez_setup/__init__.py src/PyProtocols.egg-info/PKG-INFO src/PyProtocols.egg-info/SOURCES.txt src/PyProtocols.egg-info/dependency_links.txt src/PyProtocols.egg-info/native_libs.txt src/PyProtocols.egg-info/top_level.txt src/PyProtocols.egg-info/zip-safe src/protocols/__init__.py src/protocols/_speedups.c src/protocols/_speedups.pyx src/protocols/adapters.py src/protocols/advice.py src/protocols/api.py src/protocols/classic.py src/protocols/generate.py src/protocols/interfaces.py src/protocols/twisted_support.py src/protocols/zope_support.py src/protocols/tests/__init__.py src/protocols/tests/checks.py src/protocols/tests/doctest.py src/protocols/tests/test_advice.py src/protocols/tests/test_classes.py src/protocols/tests/test_direct.py src/protocols/tests/test_twisted.py src/protocols/tests/test_zope.py src/setup/common.py PK952EGG-INFO/dependency_links.txt PK953ntEGG-INFO/native_libs.txtprotocols/_speedups.so PK95; EGG-INFO/top_level.txtprotocols PK952EGG-INFO/zip-safe PK˃95d)yyprotocols/__init__.py"""Trivial Interfaces and Adaptation""" from api import * from adapters import NO_ADAPTER_NEEDED,DOES_NOT_SUPPORT,Adapter,StickyAdapter from adapters import AdaptationFailure from interfaces import * from advice import metamethod, supermeta from classic import ProviderMixin from generate import protocolForType, protocolForURI from generate import sequenceOf, IBasicSequence PK95,=EEprotocols/__init__.pyc; Ec@sdZdkTdklZlZlZlZdklZdkTdk l Z l Z dk l Z dklZlZdklZlZdS( s!Trivial Interfaces and Adaptation(s*(sNO_ADAPTER_NEEDEDsDOES_NOT_SUPPORTsAdapters StickyAdapter(sAdaptationFailure(s metamethods supermeta(s ProviderMixin(sprotocolForTypesprotocolForURI(s sequenceOfsIBasicSequenceN(s__doc__sapisadapterssNO_ADAPTER_NEEDEDsDOES_NOT_SUPPORTsAdapters StickyAdaptersAdaptationFailures interfacessadvices metamethods supermetasclassics ProviderMixinsgeneratesprotocolForTypesprotocolForURIs sequenceOfsIBasicSequence( sIBasicSequencesAdaptationFailures sequenceOfsAdapters StickyAdaptersprotocolForTypesprotocolForURIsDOES_NOT_SUPPORTs ProviderMixins supermetas metamethodsNO_ADAPTER_NEEDED((s7build/bdist.darwin-8.7.1-i386/egg/protocols/__init__.pys?s  PK95"protocols/_speedups.pydef __bootstrap__(): global __bootstrap__, __loader__, __file__ import sys, pkg_resources, imp __file__ = pkg_resources.resource_filename(__name__,'_speedups.so') del __bootstrap__, __loader__ imp.load_dynamic(__name__,__file__) __bootstrap__() PK95e<<protocols/_speedups.pyc; ^Ec@sdatdS(cCsGdk}dk}dk}|itdabb|ittdS(Ns _speedups.so( ssyss pkg_resourcessimpsresource_filenames__name__s__file__s __bootstrap__s __loader__s load_dynamic(s pkg_resourcesssyssimp((s8build/bdist.darwin-8.7.1-i386/egg/protocols/_speedups.pys __bootstrap__s N(s __bootstrap__(((s8build/bdist.darwin-8.7.1-i386/egg/protocols/_speedups.pys?s PK95z, 8 8protocols/_speedups.soH__TEXT``__text__TEXT O __picsymbol_stub__TEXT[[__cstring__TEXT[[__textcoal_nt__TEXT__ __DATA``__data__DATA``__dyld__DATAdd__bss__DATAe__IMPORTpp__jump_table__IMPORTpp__pointers__IMPORTp4p)8__LINKEDIT  4 C/usr/lib/libgcc_s.1.dylib 4DX/usr/lib/libSystem.B.dylib]8O P&&'66tXSWXXUSRED$$cP[]UVuVt tFu^]FP$RFu^]UE@tUT$$U t1UVS>RuVt t'cF1[^]ËFP$R'cF1[^]UWVSCOCU;C.׋SNEuԉE֋F4$P0SNU@CǃCSNu؉uB$PG<$PuЉ}LDžSN BH4P8@G<$PB$PzB$PZUVS0".EEn4EED$ED$ED$2D$ z-D$ED$E $=u 10[^]ËEEEMUE)tiƋEt1Et=EuEP$R0[^]ËEP$REuËEP$R뵋0J4ǃF4-;1oUVS0,EEE3EED$ED$ED$1D$ U,D$ED$E $<u 10[^]ËEEEMUEtiƋEt1Et=EuEP$R0[^]ËEP$REuËEP$R뵋/%3ǃ!3y,1oUWVSL+E'2EED$ED$0D$ s*D$ED$E $;BEE<U䋃<9B2|$1$;ƅ$;Eԅ22UԉB EEBT$4$;Dž7Uԋ11҉.1ǃ1<c+1EEu EP$RL[^_]1L[^_]Ë.1ǃ1<ttEԅnUԋ\B$PNEP$RkG<$PKG<$PB$PF4$PF4$P$9Dž<E…E$9u#|$<$X9U<t$<$9<t$<$9uF4$PB$P-B$PB.1ǃ1<.1ǃ1.1ǃ1.1ǃ1EF4$P.1ǃ1EUWVSL'E .EED$ED$,D$ d&D$ED$E $7EEUB;889tL$$8taU䋃.D$$7JƋEEu EP$RL[^_]1L[^_]ËEP.9tD$$7L.t$-$7Dž'$7ƅtbEEF EEFt$<$7EЅt7-uEP$R|*-ǃ-btkl'1|*-ǃ- ԋH.|$-$6ƅx$6DžEEG EEG|$4$6Eԅt\ u$5…tZEEB F4$Pu|*-ǃ- 1|*-ǃ-G<$Pu{G<$PG<$P3F4$Pt$8$4|*-ǃ-VF4$PF4$PL|$8$Z4|*-ǃ-  UWVS|#EEED$ED$(D$ #D$ED$E $3EE4U49BBV*|$*$3ƅD$E$3Nj_4`>}B49T$$3U49B"*D$E$)3ƅ~4h3u*D$E$2E̅‹*D$$2EŰ4]UB49tT$$2PE@EЅG}E$Q2E̅p D$E$O2Eą"Ű49E!EuE9Ew UiB$P[r4QuB49ET4WB$Pu*D$E$.1E̅N&*ǃ*r4EljE#1UB$PG<$PUB$PUB$PUB$PEEP$R1|[^_]ËB$PuUu B$P4UUEljƋU UU(U1E:E;EP$R|[^_]ËB$P4jB$PEF4$PG<$P}B$PUB49tT$$J/CURUE|$.E5p D$E$.Dž3U4;4DEuU9UNUB Uԋ4UcB$PUB$PB$Pr&*ǃ*r4EljEE̅ŰB$PF4$PuE$m-Eur$-E̅* p D$E$-Em Ű4u9}uE$-ƅ UoB$PaB$PpB$PM|$4$,&*ǃ*)4}}}}B$P$,ƅ4dE…O4UȃT$4$,1Uȋ4EȃD$4$M,}UȋUȋB$Pu4$++EpEP&*9tD$$++n*t$*$`+Eȅ$l+E$A+E̅EỦB EBT$Uȉ$3+ƅmUȋŰtB$PfG<$P}B$PZ}ƅ4:*H4P8@uދt2GD$G$  7uԋu!!4$t$D$$$ƅV V BV BV B V B V BV BV Bt$D$$* $/ƅV   Dž$TD$<$GƅD$D$$S>!$DžW 0_ƅ' D$4$DžD$D$$$ƅV 豺DžD$<$ƅoD$D$$u F4$Pu G<$Pt$$}Dž(|$$@ƅ$9Dž&D$4$AEu F4$Pu G<$Pu B$PE䉃$ƅu B$P$Pƅ;u B$P$ƅ=D$D$$L6$ƅOu!,t$$,t$$`o,t$$:<[^_]Ë@ǃd<[^_]鲼@ǃ^d<[^_]鈼@ǃ몋@ǃ@됋F4$P@ǃ1tYUFG<$P8@ǃ@붋@ǃ@믋F4$P뜋F4$P@ǃAG<$PF4$P@ǃA-G<$P@ǃA@ǃD$|$$Fƅ$RNjdȺ߶…u B$P(|$$ƅU$_Dž7F4$P)F4$PAG<$P$F4$PO@ǃDG<$PF4$P2@ǃDu F4$Pu@ǃIiB$Pq@ǃJ|$!$q@ǃIu@ǃFX|$!$#@ǃF'@ǃK @ǃG@ǃL@ǃLF4$Pt$!$f@ǃE|$!$5@ǃG9@ǃMF4$Pt$!$@ǃt$!$@ǃt$!$w@ǃ{B$P_speedups.metamethodWrapper for metaclass method that might be confused w/instance methodAdaptationFailureAttributeErrorDOES_NOT_SUPPORTExtensionClassFalseImportErrorNO_ADAPTER_NEEDEDProtocol__adapt__Protocol__call__TypeError_Protocol__adapters__all____bases____class__mro__adaptclassicMROexc_infoextClassMROgetgetMROmetamethodobjectsystb_next_speedups.pyx__import__OOOOraise: arg 3 must be a traceback or Noneinstance exception may not have a separate valueexceptions must be strings, classes, or instances, not %s_speedups.buildClassicMRO_speedups.buildECMROobextendedClassicO|O_speedups.extClassMROobjprotocolfuncO_speedups.metamethod.__get___speedups.metamethod.__set___speedups.metamethod.__delete___speedups._adaptselfdefaultOO|O_speedups.Protocol__call___speedups.adapt_speedups.classicMRO_speedups.getMROOO_speedups.Protocol__adapt___speedups__builtin____builtins__$__mro____class____adapt____conform__[ < e@e$eeE\ e fafafaf|a fhaNot a classic classCan't adaptRead-only attributeRead-only attributeprotocols.adapters`f\\fp\pf\df\f\f\lf\f\xf\f\f]Xf]f]hf(]f0]tf8]|f@]\fL]fX]fd]fh]fp]f|]f]f]b]C Speedups for commonly-used operations\@Pd\$d8]2c\1pc@]4X]h]&8\<Adapt to this protocolPEP 246-alike: Adapt 'obj' to 'protocol', return 'default' If 'default' is not supplied and no implementation is found, raise 'AdaptationFailure'.Prevent 'obj' from supporting 'protocol'Assume 'obj' implements 'protocol' directly^^^^^^^D_^L_^^L_^^^^D_^`dddddddddddddddddd|dTcPcDc@c4c0c$c cccc cccbbbbbbbbbbbbbbbbbb|bxbtbpblbhbdb`b\bXbTbPbLbHbDb@bOk6GWgw(8Ueu^**<Rdz & C U r !:!M!n!!!!!!!! "","="N"$2N< .< D< DF DX Dd Di Dk Dw D D O"$< ~"""@"$NN . D D D D D D "$ (#1# <#F#@O#Z#m###@# # #$'N . D D D D D D D#$ ##@#$XN # . D# D*#fD+6D->D5P#fD6`D8hD9pD;xD>D?D@DBD6D?D9D>D+ DBD0D1($$# $#$$@#5$@$G$%X$@&f$@'y$($)$$ $B$$9NB$B.BDLBDMPDOeDPmDQDRDdDeDfDhDfDhDeDd DTDX$DY<DZQD[jD\pD]vD^|D_D`DaDbDXDZDYDUDV$$LB$M$M$M$@N$O%!%@%S'f'y'''''N*_*U+h+y+++++,9,- .B . .$N ..DjDk DlDm!Do.Ds=DtZDtDDDDpDvDyD~DDDD4DQD\DdDDDDDDD{DDDpD D.$j-.@j9.jF.jP.$/N&Q.&.&D&D6e.$fDGDODYDaDrDzDDDDu. fDDD.D4D=DGD^DlDDDDDDDDDDD.$&.@..@..@. //*/=/\/&]/1^/$ N1_/1.1D1DDDMDPDeDtDwDDDDDDDDDDD#D+D0DDDNDWDtDD/$1/@//@//0%080W0u00R112@)2@82@G21H2I2$NJ2.DHDNDODRDUDVDW"DZ1D[>D_BDdQDeeDYpDZrD[D\DnDeDYD_DdDn DUDl4Do:DrGDsRDuiDrsDV~DmDWDRDhDjDhi2$H2H2H2@I2@J2@K2@L2M333$EN3|d.DxDyD3PfDDXDbDhDnDwDDDDDDDDDDD#D)D,DADPDVDYDnDDDDDDDD D(D6DNDm&3$xL3x^3x p3x3y3z3@{3@|3@}3@~3&|d 4'4@x94@xK4L4M4$NN4d.D~DDc4@fDDDDDDDDD$D0n4$~4~4~ 4~444@5&d5=5@~O5@~a5b5@c5$N@d5d.@Db@DcMDgTy58@M8@\8j8k8@w8x80y8z8@ 8@ 8 88 8@8@88 8s 8@ 8@ 8 9s 9@9 9 9f!9@!9@09>9f!?9!@9@ O9@ ^9 l9!m9!n9@}9@99!9@9!9!9"9@ 9@ 9 9"9@9S"9g"9"9$N"9"."D2"D<"D="D>"DA"DD"DX"Dq":,fDu"Dy#Dz #D#D1#DG#DM#DP#Di#Dx#D#D#Dh#Di#Dj#Dk#Dl$DH4$DL]$Dhh$Diw$Dj$Dk$Dl$Dm$Do$D\$D_$D`%Dc%D)%D7%DE%D]%DFc%DGw%D%D%D%D%De%Dz%D%D%D%D&D&DF&DG)&D1&DH&D_&Dn&D&D&D&D&D&D&D'D'D"'D''D*'D-'D0'D7'D>'DE'DU'D~'D'D'D'D'D'D' :0fD'D(D (D(D+(DA(DG(DJ(Dc(Dr(D(D(D(DH(D(D(DH(D)D3)D K)DFQ)DGe)D m)D w)D )Db)D)D)D)D)D)D)D)D)D)D)D)D*D'*D5*Db`*Dco*Dd*D*D*D*D*D*D+DF +DG+D'+D>+DU+Dd+Dv+D+D+D+D+D+D+D ,D,D,D,D ,D#,D*,D1,D8,D$H,D k,Dy,D,Db,D,D,Dc-D"-D0-D.>-D/N-D2V-DE[-<:(fD[j-D}-D-Dc-D-D-D-D-D8-D9.D.D.D.D .D#.D*.D1.D8.D?H.Dh.Dv.DH.D .D.D.D/D&/DO/Dx/DH/DF/DG/DI/DJ/DK/DL/DM/DN/DO/DP/DQ0DR'0DS90DTD0DUS0Dy0D0D90DH0D0D80D?1D1D1D*1D81DPF1Dc1DH1DT1DR1DQ1X:$2"y:2:2:2:@4:5:6:@7;@8;@9#;:1;;?;"@;@L;c%M;%N;@Z;&[;1&\;@h;(i;(j;@v;(w;)x;@ ;Q);m);@; +;'+;@ ;.;.;@H;/;/;@;0;0;@H;1;1;1;$IN1;d.1D1D1D1D1;HfD1D22D;2DA2DG2DM2Da2Do2D}2D2D2D2D2D2;$1<+< =<O<b<s<<@<@<&d<<@<@=1=2=$%N2=d.2Ds2Dt2Du3Dz 3=DfD{3DW3D|`3D}f3D~l3Dr3D3D3D3D3D3D3D3D4$=$s2D=sV=s h=sz=t=u=v=@w=@x=&yd= >@s>@s1>22>43>$%N44>d.4D4D%4D,4I>LfD54Dq4Dw4D}4D4D*4DF4DG4D+4D,4D-4D.4D/4D04D15D25D3)5D445D5C5D=a5D@n5DA}5DB5DD5D5DD5D05D:5D;5DA6D@$6D426D2@6D1N6D:\6Dg6D}6D 6D 6D6D6D"6DH6D6D6D6D 7D7D!7D$7D97D"M7DW7D e7Ds7D 7D7D7D7D8T>$4y>> >>>>@>@?@?@?,?@;?&dS?q?@?@?4?@*?4?4?@*?6?6?&8?$N&8?d.&8D&8D48D;8?TfDD8D8D8D8D8D8D8D8D 8D 9D 9D 9D9?8fD=9DFC9DGW9D_9Dq9Dw9D}9D9D9D9D9D9D9D9D9D :D:D9:DF?:DGS:D[:Dq:Dw:D}:D:D:D:D:D:D:D:D:D:D;D;D.;DK;D\;Dj;Dx;DH;D;D;D;DH;D;?$&8@$@ 6@H@Y@w@@@@@@@@&d@@@@@ A&8 A@AC9A_9A@'A?:(A[:)A@5A;6A;7A@CA;DA;EA<FA$N<GAd.<D<D<D<D# <D$\<D%b<D*h<D-q<D.t<D;<DF<DG<D<<D=<DA<DE<DF<DK<Df<Dp<D!=D0=\A4fDG=DO=DR=Dg=Dv=Dy=D=D=D=D=D>D >D >D7>D:>D=>DW>Di>D>D>D>D>D>D1>DV>DW>Dp>Dt>D{>D?D ?D+?D~q?D~?D?D?D?D?D@D#%@D'@DW1@DsD@Dw[@Dq@D@D@D@D@D@D@D@DADAD=$ADK2ADFEADSADwADAD"AD#AD$AD%AD&AD'AD-ADAD BDBDBDCDKHCDOPCD'pCD&~CDHCD;CD_CDCDCDCDDDDD+DD4DD7DDLDD^DDgDDjDDDDNDDODDRDDUDDDDDDDDFDDGEDED0EDGEDMEDSEDYEDrEDEDYEDXED_ED`EDEDEDEDEDEDEDFDFDfFDHFD"`FDyFDFDFDFDFDGD GDGD,GD>GDlGDzGDGDGDGDGDGDGDGDGDGDGDGDHDz3HD{AHDzoHD}HDHDHDbHDcHDd IDeIDf6IDgJD1UJD2lJD3~JD4JD5JD6JD7JD8JDJD0KD\KD`KD_KDKDbKDLDLDH-LDALDoLD0}LDLDLDTMDL;MDWuMDMDeMDdMDMDND3ND;NDcaND2ND1NDjNDiNDhND7OD8OD6+OvA$<AA AAAA BB@2BDBVBlB@{BBBBB!B&"dBB@ C@C<C@;(C<)C<*C@;6CC7CC8C@DCDECEFC@RC-LSCALTCbOUC$^NbO.bODdbODipODjODkODlODmODODPD PDPDPD"PDn,PD2PDIPDUPDXPDp^PDqlPDrrPDsxPDt~PDuPDvPDwPDxPD{PD|PD}PD~PDQDQDQD)QD2QD>QDGQDSQD\QDhQDqQD}QDQDQDQDQDQDQDQDRDRD1RDURDdRDsRDRDRDRDRDRDRDSDSD!SD7SD@SDKSDbSDqSDSDSDSDSDFSDGSDSDTDTDFTDG0TD8TDNTDeTDyTDTDTDTDTDTDTDUDUD UD8UD\UDkUDUDUDUDUDUDUDUDUDUDUDUDFUDGUDUD UDFUDGVD VDVDF"VDG4VDDY?D@KD ZLDZMD@YDZZDZ[D@gDZhD [iD@uDT[vDh[wD@ D[D[D@D[D[D[DDDDE1ElE$ N[mE(!f|E("fE(# fE($$fEE&bEE&'bE&&`` F&2eIF(3(fkF(4,fF(50fF(64fF(78fF(8TfkG&Ea~G&F<`G&G2`G&H(`G&I `G(KXfG(L\fG(M`fH(Ndf8H(OhfOH(PlfpH(QpfH(RtfH(SxfH(T|fH(UfH(VfI(Wf1I(XfKI(Yf^I(ZfyI([fI(\fI(^fI&aPdI&}$dJ(f3J(fEJ&aXJ(fjJ&a}J(+fJ(,fJ(.fJ&0|aJ&rcJ&pc%K(f7K&haJK(FfcK(fzK( fK(fK&aK& aK&eL&e7L& @e_L&$eL&eL&WbL&bLLM.M8'NARIFH[/3PJ*9SO+YE10U2G-;VCKB,@4XL=<W)Z5Q(\?T6:7D__dyld_func_lookupdyld_stub_binding_helper__mh_bundle_header___i686.get_pc_thunk.bx_init_speedups_PyArg_ParseTupleAndKeywords_PyBaseObject_Type_PyClass_Type_PyCode_New_PyDict_New_PyErr_Clear_PyErr_ExceptionMatches_PyErr_Fetch_PyErr_Format_PyErr_NormalizeException_PyErr_Occurred_PyErr_Restore_PyErr_SetObject_PyErr_SetString_PyExc_AttributeError_PyExc_NameError_PyExc_TypeError_PyFrame_New_PyImport_AddModule_PyInstance_Type_PyInt_FromLong_PyIter_Next_PyList_Append_PyList_New_PyList_Type_PyMethod_New_PyModule_GetDict_PyObject_CallFunction_PyObject_CallObject_PyObject_GC_Del_PyObject_GetAttr_PyObject_GetAttrString_PyObject_GetItem_PyObject_GetIter_PyObject_IsInstance_PyObject_IsTrue_PyObject_SetAttr_PyObject_SetAttrString_PyObject_Type_PyString_FromString_PyString_FromStringAndSize_PyString_InternFromString_PyString_Type_PyThreadState_Get_PyTraceBack_Here_PyTraceBack_Type_PyTuple_New_PyTuple_Size_PyTuple_Type_PyType_IsSubtype_PyType_Ready_PyType_Type_Py_InitModule4__Py_NoneStruct{standard input}int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;void:t3=3/SourceCache/Csu/Csu-58/bundle1.s/SourceCache/Csu/Csu-58///SourceCache/Csu/Csu-58/bundle1.s/SourceCache/Csu/Csu-58/bundle1.sdyld_stub_binding_helper:F3dyld__mh_bundle_headerdyld_lazy_symbol_binding_entry_point__dyld_func_lookup:F3dyld_func_lookup_pointer/Users/alberto/src/PyProtocols/src/protocols/_speedups.cgcc2_compiled.___pyx_k18___pyx_k17___pyx_k16___pyx_k15___pyx_ptype_9_speedups_metamethod___pyx_type_9_speedups_metamethod___pyx_tp_dealloc_9_speedups_metamethod___pyx_tp_as_number_metamethod___pyx_tp_as_sequence_metamethod___pyx_tp_as_mapping_metamethod___pyx_tp_as_buffer_metamethod___pyx_tp_traverse_9_speedups_metamethod___pyx_tp_clear_9_speedups_metamethod___pyx_methods_9_speedups_metamethod___pyx_tp_descr_get_9_speedups_metamethod___pyx_tp_descr_set_9_speedups_metamethod___pyx_f_9_speedups_10metamethod___init_____pyx_tp_new_9_speedups_metamethod___pyx_string_tab___pyx_k11p___pyx_k11___pyx_k26p___pyx_k26___pyx_k27p___pyx_k27___pyx_k28p___pyx_k28___pyx_k29p___pyx_k29___pyx_intern_tab___pyx_n_AdaptationFailure___pyx_n_AttributeError___pyx_n_DOES_NOT_SUPPORT___pyx_n_ExtensionClass___pyx_n_False___pyx_n_ImportError___pyx_n_NO_ADAPTER_NEEDED___pyx_n_Protocol__adapt_____pyx_n_Protocol__call_____pyx_n_TypeError___pyx_n__Protocol__adapters___pyx_n___all_____pyx_n___bases_____pyx_n___class___pyx_n___mro_____pyx_n_adapt___pyx_n_classicMRO___pyx_n_exc_info___pyx_n_extClassMRO___pyx_n_get___pyx_n_getMRO___pyx_n_metamethod___pyx_n_object___pyx_n_sys___pyx_n_tb_next___pyx_f___pyx_filenames___pyx_mdoc___pyx_methods___pyx_f_9_speedups_NO_ADAPTER_NEEDED___pyx_doc_9_speedups_NO_ADAPTER_NEEDED___pyx_f_9_speedups_DOES_NOT_SUPPORT___pyx_doc_9_speedups_DOES_NOT_SUPPORT___pyx_f_9_speedups_adapt___pyx_doc_9_speedups_adapt___pyx_f_9_speedups_Protocol__call_____pyx_doc_9_speedups_Protocol__call_____pyx_f_9_speedups_classicMRO___pyx_f_9_speedups_extClassMRO___pyx_f_9_speedups_getMRO___pyx_f_9_speedups_Protocol__adapt____pyx_tp_new_9_speedups_metamethod:f(0,1)t:p(0,2)a:p(0,1)k:p(0,1)o:r(0,1)t:r(0,2):t(0,1)=*(0,3):t(0,2)=*(0,4)PyObject:t(0,3)=(0,5)PyTypeObject:t(0,4)=(0,6)_object:T(0,5)=s8ob_refcnt:(0,7),0,32;ob_type:(0,8),32,32;;_typeobject:T(0,6)=s192ob_refcnt:(0,7),0,32;ob_type:(0,8),32,32;ob_size:(0,7),64,32;tp_name:(0,9),96,32;tp_basicsize:(0,7),128,32;tp_itemsize:(0,7),160,32;tp_dealloc:(0,10),192,32;tp_print:(0,12),224,32;tp_getattr:(0,14),256,32;tp_setattr:(0,16),288,32;tp_compare:(0,18),320,32;tp_repr:(0,20),352,32;tp_as_number:(0,22),384,32;tp_as_sequence:(0,23),416,32;tp_as_mapping:(0,24),448,32;tp_hash:(0,25),480,32;tp_call:(0,27),512,32;tp_str:(0,20),544,32;tp_getattro:(0,29),576,32;tp_setattro:(0,31),608,32;tp_as_buffer:(0,33),640,32;tp_flags:(0,34),672,32;tp_doc:(0,9),704,32;tp_traverse:(0,35),736,32;tp_clear:(0,37),768,32;tp_richcompare:(0,39),800,32;tp_weaklistoffset:(0,34),832,32;tp_iter:(0,41),864,32;tp_iternext:(0,42),896,32;tp_methods:(0,43),928,32;tp_members:(0,44),960,32;tp_getset:(0,45),992,32;tp_base:(0,8),1024,32;tp_dict:(0,1),1056,32;tp_descr_get:(0,46),1088,32;tp_descr_set:(0,47),1120,32;tp_dictoffset:(0,34),1152,32;tp_init:(0,48),1184,32;tp_alloc:(0,49),1216,32;tp_new:(0,51),1248,32;tp_free:(0,53),1280,32;tp_is_gc:(0,37),1312,32;tp_bases:(0,1),1344,32;tp_mro:(0,1),1376,32;tp_cache:(0,1),1408,32;tp_subclasses:(0,1),1440,32;tp_weaklist:(0,1),1472,32;tp_del:(0,10),1504,32;;int:t(0,7)=r(0,7);-2147483648;2147483647;:t(0,8)=*(0,6):t(0,9)=*(0,55):t(0,11)=*(0,56)destructor:t(0,10)=(0,11):t(0,13)=*(0,57)printfunc:t(0,12)=(0,13):t(0,15)=*(0,58)getattrfunc:t(0,14)=(0,15):t(0,17)=*(0,59)setattrfunc:t(0,16)=(0,17):t(0,19)=*(0,60)cmpfunc:t(0,18)=(0,19):t(0,21)=*(0,61)reprfunc:t(0,20)=(0,21):t(0,22)=*(0,62):t(0,23)=*(0,63):t(0,24)=*(0,64):t(0,26)=*(0,65)hashfunc:t(0,25)=(0,26):t(0,28)=*(0,66)ternaryfunc:t(0,27)=(0,28):t(0,30)=*(0,67)getattrofunc:t(0,29)=(0,30):t(0,32)=*(0,68)setattrofunc:t(0,31)=(0,32):t(0,33)=*(0,69)long int:t(0,34)=r(0,34);-2147483648;2147483647;:t(0,36)=*(0,70)traverseproc:t(0,35)=(0,36):t(0,38)=*(0,71)inquiry:t(0,37)=(0,38):t(0,40)=*(0,72)richcmpfunc:t(0,39)=(0,40)getiterfunc:t(0,41)=(0,21)iternextfunc:t(0,42)=(0,21):t(0,43)=*(0,73):t(0,44)=*(0,74):t(0,45)=*(0,75)descrgetfunc:t(0,46)=(0,28)descrsetfunc:t(0,47)=(0,32)initproc:t(0,48)=(0,32):t(0,50)=*(0,76)allocfunc:t(0,49)=(0,50):t(0,52)=*(0,77)newfunc:t(0,51)=(0,52):t(0,54)=*(0,78)freefunc:t(0,53)=(0,54)char:t(0,55)=r(0,55);0;127;:t(0,56)=f(0,79):t(0,57)=f(0,7):t(0,58)=f(0,1):t(0,59)=f(0,7):t(0,60)=f(0,7):t(0,61)=f(0,1)PyNumberMethods:t(0,62)=(0,80)PySequenceMethods:t(0,63)=(0,81)PyMappingMethods:t(0,64)=(0,82):t(0,65)=f(0,34):t(0,66)=f(0,1):t(0,67)=f(0,1):t(0,68)=f(0,7)PyBufferProcs:t(0,69)=(0,83):t(0,70)=f(0,7):t(0,71)=f(0,7):t(0,72)=f(0,1)PyMethodDef:T(0,73)=s16ml_name:(0,9),0,32;ml_meth:(0,84),32,32;ml_flags:(0,7),64,32;ml_doc:(0,9),96,32;;PyMemberDef:T(0,74)=s20name:(0,9),0,32;type:(0,7),32,32;offset:(0,7),64,32;flags:(0,7),96,32;doc:(0,9),128,32;;PyGetSetDef:T(0,75)=s20name:(0,9),0,32;get:(0,85),32,32;set:(0,87),64,32;doc:(0,9),96,32;closure:(0,89),128,32;;:t(0,76)=f(0,1):t(0,77)=f(0,1):t(0,78)=f(0,79):t(0,79)=(0,79):T(0,80)=s152nb_add:(0,90),0,32;nb_subtract:(0,90),32,32;nb_multiply:(0,90),64,32;nb_divide:(0,90),96,32;nb_remainder:(0,90),128,32;nb_divmod:(0,90),160,32;nb_power:(0,27),192,32;nb_negative:(0,91),224,32;nb_positive:(0,91),256,32;nb_absolute:(0,91),288,32;nb_nonzero:(0,37),320,32;nb_invert:(0,91),352,32;nb_lshift:(0,90),384,32;nb_rshift:(0,90),416,32;nb_and:(0,90),448,32;nb_xor:(0,90),480,32;nb_or:(0,90),512,32;nb_coerce:(0,92),544,32;nb_int:(0,91),576,32;nb_long:(0,91),608,32;nb_float:(0,91),640,32;nb_oct:(0,91),672,32;nb_hex:(0,91),704,32;nb_inplace_add:(0,90),736,32;nb_inplace_subtract:(0,90),768,32;nb_inplace_multiply:(0,90),800,32;nb_inplace_divide:(0,90),832,32;nb_inplace_remainder:(0,90),864,32;nb_inplace_power:(0,27),896,32;nb_inplace_lshift:(0,90),928,32;nb_inplace_rshift:(0,90),960,32;nb_inplace_and:(0,90),992,32;nb_inplace_xor:(0,90),1024,32;nb_inplace_or:(0,90),1056,32;nb_floor_divide:(0,90),1088,32;nb_true_divide:(0,90),1120,32;nb_inplace_floor_divide:(0,90),1152,32;nb_inplace_true_divide:(0,90),1184,32;;:T(0,81)=s40sq_length:(0,37),0,32;sq_concat:(0,90),32,32;sq_repeat:(0,94),64,32;sq_item:(0,94),96,32;sq_slice:(0,96),128,32;sq_ass_item:(0,98),160,32;sq_ass_slice:(0,100),192,32;sq_contains:(0,102),224,32;sq_inplace_concat:(0,90),256,32;sq_inplace_repeat:(0,94),288,32;;:T(0,82)=s12mp_length:(0,37),0,32;mp_subscript:(0,90),32,32;mp_ass_subscript:(0,103),64,32;;:T(0,83)=s16bf_getreadbuffer:(0,104),0,32;bf_getwritebuffer:(0,106),32,32;bf_getsegcount:(0,107),64,32;bf_getcharbuffer:(0,109),96,32;;PyCFunction:t(0,84)=(0,30):t(0,86)=*(0,111)getter:t(0,85)=(0,86):t(0,88)=*(0,112)setter:t(0,87)=(0,88):t(0,89)=*(0,79)binaryfunc:t(0,90)=(0,30)unaryfunc:t(0,91)=(0,21):t(0,93)=*(0,113)coercion:t(0,92)=(0,93):t(0,95)=*(0,114)intargfunc:t(0,94)=(0,95):t(0,97)=*(0,115)intintargfunc:t(0,96)=(0,97):t(0,99)=*(0,116)intobjargproc:t(0,98)=(0,99):t(0,101)=*(0,117)intintobjargproc:t(0,100)=(0,101)objobjproc:t(0,102)=(0,19)objobjargproc:t(0,103)=(0,32):t(0,105)=*(0,118)getreadbufferproc:t(0,104)=(0,105)getwritebufferproc:t(0,106)=(0,105):t(0,108)=*(0,119)getsegcountproc:t(0,107)=(0,108):t(0,110)=*(0,120)getcharbufferproc:t(0,109)=(0,110):t(0,111)=f(0,1):t(0,112)=f(0,7):t(0,113)=f(0,7):t(0,114)=f(0,1):t(0,115)=f(0,1):t(0,116)=f(0,7):t(0,117)=f(0,7):t(0,118)=f(0,7):t(0,119)=f(0,7):t(0,120)=f(0,7)__pyx_tp_dealloc_9_speedups_metamethod:f(0,79)o:p(0,1)__pyx_obj_9_speedups_metamethod:T(0,121)=s12ob_refcnt:(0,7),0,32;ob_type:(0,8),32,32;func:(0,1),64,32;;o:r(0,1)__pyx_tp_traverse_9_speedups_metamethod:f(0,7)o:p(0,1)v:p(0,122)a:p(0,89)e:r(0,7)int:t(0,7):t(0,123)=*(0,124)visitproc:t(0,122)=(0,123):t(0,124)=f(0,7)o:r(0,1)__pyx_tp_clear_9_speedups_metamethod:f(0,7)o:p(0,1)o:r(0,1)___Pyx_Import___pyx_b___pyx_m__Pyx_Import:f(0,1)name:p(0,1)from_list:P(0,1)__import__:r(0,1)empty_list:(0,1)module:r(0,1)global_dict:r(0,1)empty_dict:(0,1)list:(0,1)void:t(0,79)___Pyx_GetExcValue__Pyx_GetExcValue:f(0,1)type:(0,1)value:(0,1)tb:(0,1)result:r(0,1)tstate:(0,125):t(0,125)=*(0,126)PyThreadState:t(0,126)=(0,127)_ts:T(0,127)=s84next:(0,128),0,32;interp:(0,129),32,32;frame:(0,130),64,32;recursion_depth:(0,7),96,32;tracing:(0,7),128,32;use_tracing:(0,7),160,32;c_profilefunc:(0,131),192,32;c_tracefunc:(0,131),224,32;c_profileobj:(0,1),256,32;c_traceobj:(0,1),288,32;curexc_type:(0,1),320,32;curexc_value:(0,1),352,32;curexc_traceback:(0,1),384,32;exc_type:(0,1),416,32;exc_value:(0,1),448,32;exc_traceback:(0,1),480,32;dict:(0,1),512,32;tick_counter:(0,7),544,32;gilstate_counter:(0,7),576,32;async_exc:(0,1),608,32;thread_id:(0,34),640,32;;:t(0,128)=*(0,127):t(0,129)=*(0,133):t(0,130)=*(0,134):t(0,132)=*(0,135)Py_tracefunc:t(0,131)=(0,132)PyInterpreterState:t(0,133)=(0,136)_frame:T(0,134)=s336ob_refcnt:(0,7),0,32;ob_type:(0,8),32,32;ob_size:(0,7),64,32;f_back:(0,130),96,32;f_code:(0,137),128,32;f_builtins:(0,1),160,32;f_globals:(0,1),192,32;f_locals:(0,1),224,32;f_valuestack:(0,138),256,32;f_stacktop:(0,138),288,32;f_trace:(0,1),320,32;f_exc_type:(0,1),352,32;f_exc_value:(0,1),384,32;f_exc_traceback:(0,1),416,32;f_tstate:(0,125),448,32;f_lasti:(0,7),480,32;f_lineno:(0,7),512,32;f_restricted:(0,7),544,32;f_iblock:(0,7),576,32;f_blockstack:(0,139),608,1920;f_nlocals:(0,7),2528,32;f_ncells:(0,7),2560,32;f_nfreevars:(0,7),2592,32;f_stacksize:(0,7),2624,32;f_localsplus:(0,140),2656,32;;:t(0,135)=f(0,7)_is:T(0,136)=s36next:(0,141),0,32;tstate_head:(0,128),32,32;modules:(0,1),64,32;sysdict:(0,1),96,32;builtins:(0,1),128,32;codec_search_path:(0,1),160,32;codec_search_cache:(0,1),192,32;codec_error_registry:(0,1),224,32;dlopenflags:(0,7),256,32;;:t(0,137)=*(0,142):t(0,138)=*(0,1):t(0,139)=ar(0,143);0;19;(0,144):t(0,140)=ar(0,143);0;0;(0,1):t(0,141)=*(0,136)PyCodeObject:t(0,142)=(0,145)long unsigned int:t(0,143)=r(0,143);0;037777777777;PyTryBlock:t(0,144)=(0,146):T(0,145)=s64ob_refcnt:(0,7),0,32;ob_type:(0,8),32,32;co_argcount:(0,7),64,32;co_nlocals:(0,7),96,32;co_stacksize:(0,7),128,32;co_flags:(0,7),160,32;co_code:(0,1),192,32;co_consts:(0,1),224,32;co_names:(0,1),256,32;co_varnames:(0,1),288,32;co_freevars:(0,1),320,32;co_cellvars:(0,1),352,32;co_filename:(0,1),384,32;co_name:(0,1),416,32;co_firstlineno:(0,7),448,32;co_lnotab:(0,1),480,32;;:T(0,146)=s12b_type:(0,7),0,32;b_handler:(0,7),32,32;b_level:(0,7),64,32;;___Pyx_Raise__Pyx_Raise:f(0,79)type:P(0,1)value:p(0,1)tb:p(0,1)___Pyx_AddTraceback___pyx_filename___pyx_lineno__Pyx_AddTraceback:f(0,79)funcname:P(0,9)py_srcfile:(0,1)py_funcname:r(0,1)py_globals:(0,1)empty_tuple:r(0,1)empty_string:(0,1)py_code:(0,137)py_frame:(0,147):t(0,147)=*(0,148)PyFrameObject:t(0,148)=(0,134)___pyx_f_9_speedups_buildClassicMRO__pyx_f_9_speedups_buildClassicMRO:f(0,1)__pyx_v_cls:P(0,149)__pyx_v_list:p(0,150)__pyx_v_bases:r(0,151)__pyx_v_i:(0,7):t(0,149)=*(0,152):t(0,150)=*(0,153):t(0,151)=*(0,154)PyClassObject:t(0,152)=(0,155)PyListObject:t(0,153)=(0,156)PyTupleObject:t(0,154)=(0,157):T(0,155)=s32ob_refcnt:(0,7),0,32;ob_type:(0,8),32,32;cl_bases:(0,1),64,32;cl_dict:(0,1),96,32;cl_name:(0,1),128,32;cl_getattr:(0,1),160,32;cl_setattr:(0,1),192,32;cl_delattr:(0,1),224,32;;:T(0,156)=s16ob_refcnt:(0,7),0,32;ob_type:(0,8),32,32;ob_size:(0,7),64,32;ob_item:(0,138),96,32;;:T(0,157)=s16ob_refcnt:(0,7),0,32;ob_type:(0,8),32,32;ob_size:(0,7),64,32;ob_item:(0,140),96,32;;__pyx_v_tmp:r(0,1)__pyx_r:r(0,1)__pyx_2:r(0,7)___pyx_f_9_speedups_buildECMRO__pyx_f_9_speedups_buildECMRO:f(0,1)__pyx_v_cls:p(0,1)__pyx_v_list:p(0,150)__pyx_v_i:r(0,1)__pyx_r:r(0,1)__pyx_1:r(0,7)__pyx_2:r(0,1)__pyx_3:(0,1)___pyx_argnames.7739___pyx_k24__pyx_f_9_speedups_extClassMRO:f(0,1)__pyx_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_ob:(0,1)__pyx_v_extendedClassic:(0,1)__pyx_v_mro:r(0,1)__pyx_r:r(0,1)__pyx_1:r(0,1)__pyx_2:r(0,7)__pyx_argnames:V(0,158):t(0,158)=ar(0,143);0;2;(0,9)__pyx_args:r(0,1)__pyx_kwds:r(0,1)___pyx_argnames.7114___pyx_k20__pyx_f_9_speedups_DOES_NOT_SUPPORT:f(0,1)__pyx_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_obj:(0,1)__pyx_v_protocol:(0,1)__pyx_r:r(0,1)__pyx_argnames:V(0,159):t(0,159)=ar(0,143);0;2;(0,9)__pyx_args:r(0,1)__pyx_kwds:r(0,1)___pyx_argnames.7081___pyx_k19__pyx_f_9_speedups_NO_ADAPTER_NEEDED:f(0,1)__pyx_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_obj:(0,1)__pyx_v_protocol:(0,1)__pyx_r:r(0,1)__pyx_argnames:V(0,160):t(0,160)=ar(0,143);0;2;(0,9)__pyx_args:r(0,1)__pyx_kwds:r(0,1)___pyx_argnames.7147__pyx_f_9_speedups_10metamethod___init__:f(0,7)__pyx_v_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_func:(0,1)__pyx_r:r(0,7)__pyx_argnames:V(0,161):t(0,161)=ar(0,143);0;1;(0,9)__pyx_v_self:r(0,1)__pyx_args:r(0,1)__pyx_kwds:r(0,1)__pyx_tp_descr_get_9_speedups_metamethod:f(0,1)o:p(0,1)i:p(0,1)c:p(0,1)r:(0,1)i:r(0,1)c:r(0,1)__pyx_tp_descr_set_9_speedups_metamethod:f(0,7)o:p(0,1)i:p(0,1)v:p(0,1)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:(0,1)name:r(0,1)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:(0,1)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:(0,1)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:(0,1)name:r(0,1)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:(0,1)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:(0,1)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:(0,1)name:r(0,1)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:(0,1)name:r(0,1)___pyx_f_9_speedups__adapt___pyx_v_9_speedups___conform___pyx_v_9_speedups___adapt___pyx_v_9_speedups__marker__pyx_f_9_speedups__adapt:f(0,1)__pyx_v_obj:p(0,1)__pyx_v_protocol:p(0,1)__pyx_v_default:p(0,1)__pyx_v_meth:r(0,1)__pyx_v_result:(0,1)__pyx_v_err:(0,1)__pyx_r:r(0,1)__pyx_1:r(0,7)__pyx_2:r(0,1)__pyx_3:(0,1)__pyx_4:(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)___pyx_argnames.7528___pyx_k22__pyx_f_9_speedups_Protocol__call__:f(0,1)__pyx_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_self:(0,1)__pyx_v_ob:(0,1)__pyx_v_default:(0,1)__pyx_r:r(0,1)__pyx_1:r(0,1)__pyx_argnames:V(0,162):t(0,162)=ar(0,143);0;3;(0,9)__pyx_args:r(0,1)__pyx_kwds:r(0,1)___pyx_argnames.7480___pyx_k21__pyx_f_9_speedups_adapt:f(0,1)__pyx_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_obj:(0,1)__pyx_v_protocol:(0,1)__pyx_v_default:(0,1)__pyx_r:r(0,1)__pyx_1:r(0,1)__pyx_argnames:V(0,163):t(0,163)=ar(0,143);0;3;(0,9)__pyx_args:r(0,1)__pyx_kwds:r(0,1)___pyx_argnames.7619___pyx_k23__pyx_f_9_speedups_classicMRO:f(0,1)__pyx_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_ob:(0,1)__pyx_v_extendedClassic:(0,1)__pyx_v_mro:r(0,1)__pyx_r:r(0,1)__pyx_1:r(0,7)__pyx_2:r(0,1)__pyx_3:(0,1)__pyx_4:r(0,1)__pyx_argnames:V(0,164):t(0,164)=ar(0,143);0;2;(0,9)__pyx_args:r(0,1)__pyx_kwds:r(0,1)name:r(0,1)name:r(0,1)___pyx_argnames.7795___pyx_k25___pyx_v_9_speedups___ECType__pyx_f_9_speedups_getMRO:f(0,1)__pyx_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_ob:(0,1)__pyx_v_extendedClassic:(0,1)__pyx_r:r(0,1)__pyx_2:(0,1)__pyx_3:r(0,1)__pyx_4:r(0,1)__pyx_argnames:V(0,165):t(0,165)=ar(0,143);0;2;(0,9)__pyx_args:r(0,1)__pyx_kwds:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)___pyx_argnames.7883___pyx_v_9_speedups___mro__pyx_f_9_speedups_Protocol__adapt__:f(0,1)__pyx_self:p(0,1)__pyx_args:p(0,1)__pyx_kwds:p(0,1)__pyx_v_self:(0,1)__pyx_v_obj:(0,1)__pyx_v_i:(0,7)__pyx_v_cls:(0,1)__pyx_v_err:r(0,1)__pyx_v_mro:(0,1)__pyx_v_get:(0,1)__pyx_v_factory:(0,1)__pyx_r:r(0,1)__pyx_1:(0,7)__pyx_2:(0,1)__pyx_3:(0,1)__pyx_4:(0,1)__pyx_6:(0,1)__pyx_argnames:V(0,166):t(0,166)=ar(0,143);0;2;(0,9)__pyx_args:r(0,1)__pyx_kwds:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)init_speedups:F(0,79)__pyx_1:r(0,1)__pyx_2:r(0,1)__pyx_3:r(0,7)__pyx_4:(0,1)t:r(0,167)t:r(0,168)t:r(0,168)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1)name:r(0,1):t(0,167)=*(0,169):t(0,168)=*(0,170)__Pyx_InternTabEntry:t(0,169)=(0,171)__Pyx_StringTabEntry:t(0,170)=(0,172):T(0,171)=s8p:(0,138),0,32;s:(0,9),32,32;;:T(0,172)=s12p:(0,138),0,32;s:(0,9),32,32;n:(0,34),64,32;;__pyx_m:S(0,1)__pyx_b:S(0,1)__pyx_lineno:S(0,7)__pyx_filename:S(0,9)char:t(0,55)__pyx_f:S(0,173):t(0,173)=*(0,9)__pyx_mdoc:S(0,174)__pyx_type_9_speedups_metamethod:S(0,4)__pyx_ptype_9_speedups_metamethod:S(0,2)__pyx_v_9_speedups__marker:S(0,1)__pyx_v_9_speedups___conform:S(0,1)__pyx_v_9_speedups___adapt:S(0,1)__pyx_v_9_speedups___mro:S(0,1)__pyx_v_9_speedups___ECType:S(0,1)__pyx_k19:S(0,1)__pyx_k20:S(0,1)__pyx_k21:S(0,1)__pyx_k22:S(0,1)__pyx_k23:S(0,1)__pyx_k24:S(0,1)__pyx_k25:S(0,1)__pyx_k11:S(0,175)__pyx_k15:S(0,176)__pyx_k16:S(0,177)__pyx_k17:S(0,178)__pyx_k18:S(0,179)__pyx_n___all__:S(0,1)__pyx_n_exc_info:S(0,1)__pyx_n_AdaptationFailure:S(0,1)__pyx_n_ExtensionClass:S(0,1)__pyx_n___class:S(0,1)__pyx_n_NO_ADAPTER_NEEDED:S(0,1)__pyx_n_DOES_NOT_SUPPORT:S(0,1)__pyx_n_adapt:S(0,1)__pyx_n_Protocol__call__:S(0,1)__pyx_n_classicMRO:S(0,1)__pyx_n_extClassMRO:S(0,1)__pyx_n_getMRO:S(0,1)__pyx_n_Protocol__adapt__:S(0,1)__pyx_n_metamethod:S(0,1)__pyx_n_sys:S(0,1)__pyx_n_ImportError:S(0,1)__pyx_n_object:S(0,1)__pyx_n_False:S(0,1)__pyx_k11p:S(0,1)__pyx_doc_9_speedups_NO_ADAPTER_NEEDED:S(0,180)__pyx_doc_9_speedups_DOES_NOT_SUPPORT:S(0,181)__pyx_n_AttributeError:S(0,1)__pyx_k26p:S(0,1)__pyx_k26:S(0,182)__pyx_k27p:S(0,1)__pyx_k27:S(0,183)__pyx_n_TypeError:S(0,1)__pyx_n_tb_next:S(0,1)__pyx_k28p:S(0,1)__pyx_k28:S(0,184)__pyx_doc_9_speedups_adapt:S(0,185)__pyx_doc_9_speedups_Protocol__call__:S(0,186)__pyx_k29p:S(0,1)__pyx_k29:S(0,187)__pyx_n___bases__:S(0,1)__pyx_n___mro__:S(0,1)__pyx_n__Protocol__adapters:S(0,1)__pyx_n_get:S(0,1)__pyx_intern_tab:S(0,188)__pyx_string_tab:S(0,189)__pyx_methods_9_speedups_metamethod:S(0,190)__pyx_tp_as_number_metamethod:S(0,62)__pyx_tp_as_sequence_metamethod:S(0,63)__pyx_tp_as_mapping_metamethod:S(0,64)__pyx_tp_as_buffer_metamethod:S(0,69)__pyx_methods:S(0,191)__pyx_filenames:S(0,192):t(0,174)=ar(0,143);0;39;(0,55):t(0,175)=ar(0,143);0;18;(0,55):t(0,176)=ar(0,143);0;11;(0,55):t(0,177)=ar(0,143);0;9;(0,55):t(0,178)=ar(0,143);0;9;(0,55):t(0,179)=ar(0,143);0;7;(0,55):t(0,180)=ar(0,143);0;43;(0,55):t(0,181)=ar(0,143);0;40;(0,55):t(0,182)=ar(0,143);0;19;(0,55):t(0,183)=ar(0,143);0;19;(0,55):t(0,184)=ar(0,143);0;11;(0,55):t(0,185)=ar(0,143);0;155;(0,55):t(0,186)=ar(0,143);0;22;(0,55):t(0,187)=ar(0,143);0;19;(0,55):t(0,188)=ar(0,143);0;25;(0,169):t(0,189)=ar(0,143);0;5;(0,170):t(0,190)=ar(0,143);0;0;(0,73):t(0,191)=ar(0,143);0;8;(0,73):t(0,192)=ar(0,143);0;0;(0,9)PK˃95-\OOprotocols/adapters.py"""Basic Adapters and Adapter Operations""" __all__ = [ 'NO_ADAPTER_NEEDED','DOES_NOT_SUPPORT', 'Adapter', 'minimumAdapter', 'composeAdapters', 'updateWithSimplestAdapter', 'StickyAdapter', 'AdaptationFailure', 'bindAdapter', ] from types import FunctionType,ClassType,MethodType try: PendingDeprecationWarning except NameError: class PendingDeprecationWarning(Warning): 'Base class for warnings about features which will be deprecated in the future.' class AdaptationFailure(NotImplementedError,TypeError): """A suitable implementation/adapter could not be found""" # Fundamental Adapters def NO_ADAPTER_NEEDED(obj, protocol=None): """Assume 'obj' implements 'protocol' directly""" return obj def DOES_NOT_SUPPORT(obj, protocol=None): """Prevent 'obj' from supporting 'protocol'""" return None try: from _speedups import NO_ADAPTER_NEEDED, DOES_NOT_SUPPORT except ImportError: pass class Adapter(object): """Convenient base class for adapters""" def __init__(self, ob): self.subject = ob class StickyAdapter(object): """Adapter that attaches itself to its subject for repeated use""" attachForProtocols = () def __init__(self, ob): self.subject = ob # Declare this instance as a per-instance adaptation for the # given protocols provides = list(self.attachForProtocols) from protocols.api import declareAdapter declareAdapter(lambda s: self, provides, forObjects=[ob]) # Adapter "arithmetic" def minimumAdapter(a1,a2,d1=0,d2=0): """Shortest route to implementation, 'a1' @ depth 'd1', or 'a2' @ 'd2'? Assuming both a1 and a2 are interchangeable adapters (i.e. have the same source and destination protocols), return the one which is preferable; that is, the one with the shortest implication depth, or, if the depths are equal, then the adapter that is composed of the fewest chained adapters. If both are the same, then prefer 'NO_ADAPTER_NEEDED', followed by anything but 'DOES_NOT_SUPPORT', with 'DOES_NOT_SUPPORT' being least preferable. If there is no unambiguous choice, and 'not a1 is a2', TypeError is raised. """ if d1=maxargs: newAdapter = lambda ob: adapter(ob,proto) newAdapter.__adapterCount__ = getattr( adapter,'__adapterCount__',1 ) newAdapter.__unbound_adapter__ = adapter from warnings import warn warn("Adapter %r to protocol %r needs multiple arguments" % (adapter,proto), PendingDeprecationWarning, 6) return newAdapter return adapter def updateWithSimplestAdapter(mapping, key, adapter, depth): """Replace 'mapping[key]' w/'adapter' @ 'depth', return true if changed""" new = adapter old = mapping.get(key) if old is not None: old, oldDepth = old new = minimumAdapter(old,adapter,oldDepth,depth) if old is new and depth>=oldDepth: return False mapping[key] = new, depth return True PK95@_protocols/adapters.pyc; Ec @s,dZddddddddd g Zd klZlZlZyeWn)ej od efd YZnXde e fd YZ e dZ e dZydkl Z lZWnej onXdefdYZdefdYZdddZdZdZdZdS(s%Basic Adapters and Adapter OperationssNO_ADAPTER_NEEDEDsDOES_NOT_SUPPORTsAdaptersminimumAdapterscomposeAdapterssupdateWithSimplestAdapters StickyAdaptersAdaptationFailures bindAdapter(s FunctionTypes ClassTypes MethodTypesPendingDeprecationWarningcBstZdZRS(sNBase class for warnings about features which will be deprecated in the future.(s__name__s __module__s__doc__(((s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pysPendingDeprecationWarnings cBstZdZRS(s4A suitable implementation/adapter could not be found(s__name__s __module__s__doc__(((s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pysAdaptationFailures cCs|SdS(s+Assume 'obj' implements 'protocol' directlyN(sobj(sobjsprotocol((s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pysNO_ADAPTER_NEEDEDscCstSdS(s(Prevent 'obj' from supporting 'protocol'N(sNone(sobjsprotocol((s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pysDOES_NOT_SUPPORTs(sNO_ADAPTER_NEEDEDsDOES_NOT_SUPPORTcBstZdZdZRS(s"Convenient base class for adapterscCs ||_dS(N(sobsselfssubject(sselfsob((s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pys__init__.s(s__name__s __module__s__doc__s__init__(((s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pysAdapter*s cBstZdZfZdZRS(s<Adapter that attaches itself to its subject for repeated usecsE|_ti}dkl}|d|d|gdS(N(sdeclareAdaptercsS(N(sself(ss(sself(s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pysBss forObjects(sobsselfssubjectslistsattachForProtocolssprovidess protocols.apisdeclareAdapter(sselfsobsdeclareAdaptersprovides((sselfs7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pys__init__8s  (s__name__s __module__s__doc__sattachForProtocolss__init__(((s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pys StickyAdapter2s icCs||jo|Sn||jo|Snt|d|t|d|jo|Snt|dd}t|dd}||jo|Sn||jo|Sn|tjp |tjo|Sn|tjp |tjo|Snt d||||dS(spShortest route to implementation, 'a1' @ depth 'd1', or 'a2' @ 'd2'? Assuming both a1 and a2 are interchangeable adapters (i.e. have the same source and destination protocols), return the one which is preferable; that is, the one with the shortest implication depth, or, if the depths are equal, then the adapter that is composed of the fewest chained adapters. If both are the same, then prefer 'NO_ADAPTER_NEEDED', followed by anything but 'DOES_NOT_SUPPORT', with 'DOES_NOT_SUPPORT' being least preferable. If there is no unambiguous choice, and 'not a1 is a2', TypeError is raised. s__unbound_adapter__s__adapterCount__isAmbiguous adapter choiceN( sd1sd2sa1sa2sgetattrsa1ctsa2ctsNO_ADAPTER_NEEDEDsDOES_NOT_SUPPORTs TypeError(sa1sa2sd1sd2sa2ctsa1ct((s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pysminimumAdapterUs$   %  cstjp tjotSntjoSntjoSnd}tddtdd|_|SdS(s:Return the composition of 'baseAdapter'+'extendingAdapter'cs+|}|tj o|SndS(N(s baseAdaptersobsNonesextendingAdapter(sob(sextendingAdapters baseAdapter(s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pys newAdapters  s__adapterCount__iN(s baseAdaptersDOES_NOT_SUPPORTsextendingAdaptersNO_ADAPTER_NEEDEDs newAdaptersgetattrs__adapterCount__(s baseAdapters baseProtocolsextendingAdapters newAdapter((s baseAdaptersextendingAdapters7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pyscomposeAdapters|s  %c s~d} }d}xt|t o|ot|to&| |itj 7} |i }d}qt|t t fo!| d7} |i }|d8}q|i }|d8}qWt|todkl}||\}} }}|o|t| }nt|| jo\d} tdd| _| _dkl}|dftd | SqvnSd S( sEBackward compatibility: wrap 'adapter' to support old 2-arg signatureii i(s getargspeccs |S(N(sadaptersobsproto(sob(sadaptersproto(s7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pysss__adapterCount__(swarns2Adapter %r to protocol %r needs multiple argumentsiN(smaxargssadaptersfstriess isinstances FunctionTypes MethodTypesim_selfsNonesim_funcs ClassTypestypes__init__s__call__sinspects getargspecsargssvarargssvarkwsdefaultsslens newAdaptersgetattrs__adapterCount__s__unbound_adapter__swarningsswarnsprotosPendingDeprecationWarning( sadaptersprotos getargspecsdefaultssargssfswarnstriessvarkws newAdaptersvarargssmaxargs((sadaptersprotos7build/bdist.darwin-8.7.1-i386/egg/protocols/adapters.pys bindAdapters8          cCs|}|i|}|tj oG|\}}t||||}||jo ||jot Sqin||f||1: # We could auto-combine, but for now we won't... raise TypeError("Incompatible metatypes",bases) # Just one, return it return candidates[0] def minimalBases(classes): """Reduce a list of base classes to its ordered minimum equivalent""" classes = [c for c in classes if c is not ClassType] candidates = [] for m in classes: for n in classes: if issubclass(n,m) and m is not n: break else: # m has no subclasses in 'classes' if m in candidates: candidates.remove(m) # ensure that we're later in the list candidates.append(m) return candidates from weakref import ref class StrongRef(object): """Like a weakref, but for non-weakrefable objects""" __slots__ = 'referent' def __init__(self,referent): self.referent = referent def __call__(self): return self.referent def __hash__(self): return hash(self.referent) def __eq__(self,other): return self.referent==other def __repr__(self): return 'StrongRef(%r)' % self.referent def mkRef(ob,*args): """Return either a weakref or a StrongRef for 'ob' Note that extra args are forwarded to weakref.ref() if applicable.""" try: return ref(ob,*args) except TypeError: return StrongRef(ob) PK95e77protocols/advice.pyc; Ec @sqdklZdklZdklZlZlZdkZdddddd d d d d ddg Z dZ ydk l Z Wne j o eZ nXee fZ edZedZydkl Z lZlZWne j onXdZdZdedZdZdedZedZdZdklZdefdYZdZdS( (s generators(sinstancemethod(s ClassTypes FunctionTypes InstanceTypeNsaddClassAdvisorsisClassAdvisors metamethods supermetas minimalBasessdetermineMetaclasss getFrameInfosgetMROs classicMROsmkRefs StrongRefsadd_assignment_advisorcstdSdS(sEWrapper for metaclass method that might be confused w/instance methodcsi||iS(N(sfuncs__get__sobs __class__(sob(sfunc(s5build/bdist.darwin-8.7.1-i386/egg/protocols/advice.pyssN(sproperty(sfunc((sfuncs5build/bdist.darwin-8.7.1-i386/egg/protocols/advice.pys metamethod s(sExtensionClassccsg}|i}|i}|d|xF|o>|}|Vt|}x|iD]}|||qRWq(W|o t Vt VndS(Ni( sstacksinsertspushspopsobsclsslensps __bases__sbsextendedClassics InstanceTypesobject(sobsextendedClassicsbspopspspushsstackscls((s5build/bdist.darwin-8.7.1-i386/egg/protocols/advice.pys classicMRO*s      cCsGt|tot||Snt|to |iSn|fSdS(N(s isinstancesobs ClassicTypess classicMROsextendedClassicstypes__mro__(sobsextendedClassic((s5build/bdist.darwin-8.7.1-i386/egg/protocols/advice.pysgetMRO9s  (s metamethodsgetMROs classicMROcst}|ijo}|intx\D]B}|jo/gi}D]}||i qi~PqHqHWt d|tdt fdY}|SdS(NsNot sub/supertypes:stheSupercstZdZRS(Ncstx]D]U}||joB||}y |i}Wntj o |Sq\X|SqqWti ||SdS(N( smrosdsnamesdescrs__get__sAttributeErrorsobstypsobjects__getattribute__sself(sselfsnamesdescrsd(stypsobsmro(s5build/bdist.darwin-8.7.1-i386/egg/protocols/advice.pys__getattribute__is    (s__name__s __module__s__getattribute__((sobsmrostyp(s5build/bdist.darwin-8.7.1-i386/egg/protocols/advice.pystheSupergs(stypesobs starttypes__mro__smrostypsitersclssappends_[1]s__dict__s TypeErrorsobjectstheSuper(stypsobstheSupers_[1]smros starttypescls((stypsobsmros5build/bdist.darwin-8.7.1-i386/egg/protocols/advice.pys supermetaUs      *  c Cs!|i}|i}||j}d|j}d|j}|o|}|o|d|dj}|otii |dpt }|o |i |j}| o#d} |o| o d} q nK|o| o d} n2|o| o d} n| o d} nd} | |||fSdS( sReturn (kind,module,locals,globals) for a frame 'kind' is one of "exec", "module", "class", "function call", or "unknown". s __module__s__name__sexecsclasssmodules function callsunknownN(sframesf_localss f_globalss sameNamespaces hasModuleshasNamessameNamessyssmodulessgetsNonesmodules__dict__snamespaceIsModuleskind( sframes sameNamespacesnamespaceIsModules f_globalssmodulessameNames hasModulesf_localsshasNameskind((s5build/bdist.darwin-8.7.1-i386/egg/protocols/advice.pys getFrameInfo|s,      $   ic s|p ti|}t|\}}}}|djot dn|i d|i dt d} | _ | _| |d