ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ bNc@s.dZdZdZdZdZdS(s 'imports' a string -- converts a string to a Python object, importing any necessary modules and evaluating the expression. Everything before the : in an import expression is the module path; everything after is an expression to be evaluated in the namespace of that module. Alternately, if no : is present, then import the modules and get the attributes as necessary. Arbitrary expressions are not allowed in that case. cCsPd|krt|S|jdd\}}t|}t||j}|S(s* Import a module, or import an object from a module. A module name like ``foo.bar:baz()`` can be used, where ``foo.bar`` is the module, and ``baz()`` is an expression evaluated in the context of that module. Note this is not safe on arbitrary strings because of the eval. t:i(t simple_importtsplitt import_moduletevalt__dict__(tst module_nametexprtmoduletobj((sI/opt/alt/python27/lib/python2.7/site-packages/paste/util/import_string.pyt eval_imports   cCs|jd}t|d}|d}|d}d}xS|r|d|d7}yt|}|d}Wq<tk r}|}Pq<Xq<W|}x\|ryt||d}Wn.tk rtd|d||fnX|d}qW|S(s Import a module, or import an object from a module. A name like ``foo.bar.baz`` can be a module ``foo.bar.baz`` or a module ``foo.bar`` with an object ``baz`` in it, or a module ``foo`` with an object ``bar`` with an attribute ``baz``. t.iisECannot find %s in module %r (stopped importing modules with error %s)N(RRtNonet ImportErrortgetattrtAttributeError(RtpartsR tnametlast_import_errorteR ((sI/opt/alt/python27/lib/python2.7/site-packages/paste/util/import_string.pyR s,       cCsCt|}|jd}x!|dD]}t||}q&W|S(s Import a module. R i(t __import__RR(RtmodRtpart((sI/opt/alt/python27/lib/python2.7/site-packages/paste/util/import_string.pyR?s  cCsyt|SWntk r}t|dds8n|jd}|jdsZn|td}|jd}x7tt|D]#}|dj ||krdSqWnXdS(s Imports a module, but catches import errors. Only catches errors when that module doesn't exist; if that module itself has an import error it will still get raised. Returns None if the module doesn't exist. targsisNo module named R N( RRRR Rt startswithtlenRtrangetjoin(RRtdescRti((sI/opt/alt/python27/lib/python2.7/site-packages/paste/util/import_string.pyttry_import_moduleIs N(t__doc__R RRR(((sI/opt/alt/python27/lib/python2.7/site-packages/paste/util/import_string.pyts