³ò ÷$•Jc @swdZddkZeZdefd„ƒYZddddd„Zdddd d d d d gZd„Z d„Z dS(sU demandimport - automatic demandloading of modules To enable this module, do: import demandimport; demandimport.enable() Imports of the following forms will be demand-loaded: import a, b.c import a.b as c from a import b,c # a will be loaded immediately These imports will not be delayed: from a import * b = __import__(a) iÿÿÿÿNt _demandmodcBsMeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(smodule demand-loader and proxycCstd|jo%|iddƒ\}}|g}n |}g}ti|d||||fƒti|ddƒdS(Nt.it_datat_module(tsplittobjectt __setattr__tNone(tselftnametglobalstlocalstheadtresttafter((s)/sys/lib/python/mercurial/demandimport.pyt__init__ s  cCs|idi|ƒdS(s%add to the list of submodules to loadiN(Rtappend(RR ((s)/sys/lib/python/mercurial/demandimport.pyt_extend)scs¤|ip–|i\}}}}t|||ƒ}‡fd†‰x|D]}ˆ||ƒqGW|o$|i|ƒ|jo|||is(RR(R((s)/sys/lib/python/mercurial/demandimport.pyt__repr__Bs cOstdt|ƒƒ‚dS(Ns%s object is not callable(t TypeErrortrepr(Rtargstkwargs((s)/sys/lib/python/mercurial/demandimport.pyt__call__FscCs;|djoti||ƒSn|iƒt|i|ƒS(NRRRR(s_datas_extends_loads_module(Rt__getattribute__RRR(Rtattr((s)/sys/lib/python/mercurial/demandimport.pyR%Hs  cCs!|iƒt|i||ƒdS(N(RRR(RR&tval((s)/sys/lib/python/mercurial/demandimport.pyRMs ( t__name__t __module__t__doc__RRRRR$R%R(((s)/sys/lib/python/mercurial/demandimport.pyRs     c Cs| p|tjp |djo>|djot||||ƒSqt|||||ƒSn¢|p¶d|jo•|iddƒ\}}|o0|iddƒ|jot||||ƒSn||jo5t||tƒo||i|ƒn||Sq nt|||ƒSnå|dj ot|||||ƒSnt|||ƒ}x`|idƒdD]K}t||ƒp&t ||t||i |i ƒƒnt ||ƒ}qjWxA|D]9} t|| ƒp#t || t| |i |ƒƒqÀqÀW|SdS(Nt*RiR((R+( tignoreRRRRt isinstanceRRRRRR( R R R tfromlisttleveltbaseR RtcompR((s)/sys/lib/python/mercurial/demandimport.pyt _demandimportQs6"     &'t_hashlibt_xmlplustfcntlswin32com.gen_pyt pythoncomtpwdtgrptresourcecCs tt_dS(s'enable global demand-loading of modulesN(R2t __builtin__t __import__(((s)/sys/lib/python/mercurial/demandimport.pytenable„scCs tt_dS(s(disable global demand-loading of modulesN(RR:R;(((s)/sys/lib/python/mercurial/demandimport.pytdisableˆs( R*R:R;RRRRR2R,R<R=(((s)/sys/lib/python/mercurial/demandimport.pyss 3&