PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  pYw@sddlZddlZddlZddlZddlmZmZmZmZm Z ddl m Z m Z m Z ddlmZddlmZddlZejZejZejZejZejejejejfZej dkoej!d&kZ"e"rd Z#d Z$d Z%nd Z#d Z$dZ%ddddddiZ&GdddZ'GdddZ(ddZ)ddZ*ddZ+ddZ,dd d!Z-e)Z.e.d"kred#e.Gd$d%d%e Z/dS)'N)DistutilsExecErrorDistutilsPlatformError CompileErrorLibError LinkError) CCompilergen_preprocess_optionsgen_lib_options)log) get_platformwin32 z1Software\Wow6432Node\Microsoft\VisualStudio\%0.1fz5Software\Wow6432Node\Microsoft\Microsoft SDKs\Windowsz,Software\Wow6432Node\Microsoft\.NETFrameworkz%Software\Microsoft\VisualStudio\%0.1fz)Software\Microsoft\Microsoft SDKs\Windowsz Software\Microsoft\.NETFrameworkx86z win-amd64amd64zwin-ia64Zia64c@speZdZddZeeZddZeeZddZeeZddZeeZd S) RegcCsMx:tD]2}|j||}|r||kr||SqWt|dS)N)HKEYS read_valuesKeyError)clspathkeybasedr,/opt/python35/lib/python3.5/msvc9compiler.py get_valueAs   z Reg.get_valuecCsyt||}Wntk r+dSYnXg}d}xDyt||}Wntk rcPYnX|j||d7}q;W|S)Nr) RegOpenKeyExRegError RegEnumKeyappend)rrrhandleLikrrr read_keysIs    z Reg.read_keysc Csyt||}Wntk r+dSYnXi}d}xhyt||\}}}Wntk rlPYnX|j}|j|||j|<|d7}q;W|S)Nrr)rr RegEnumValuelower convert_mbcs) rrrr"rr$namevaluetyperrrr[s    zReg.read_valuesc CsGt|dd}|dk rCy|d}Wntk rBYnX|S)Ndecodembcs)getattr UnicodeError)sZdecrrrr)qs  zReg.convert_mbcsN) __name__ __module__ __qualname__r classmethodr&rr) staticmethodrrrrr=s        rc@s@eZdZddZddZddZddZd S) MacroExpandercCs'i|_t||_|j|dS)N)macrosVS_BASEvsbase load_macros)selfversionrrr__init__}s  zMacroExpander.__init__cCs!tj|||jd|r?r;rHrrrrr7{s    r7cCsd}tjj|}|d kr(dS|t|}tj|djdd\}}t|dd d}|dkr|d7}t|ddd}|dkrd }|dkr||SdS) NzMSC v.r r g$@r)sysr=findlensplitint)prefixr$r1restZ majorVersionZ minorVersionrrrget_build_versions %    rVcCsFg}x9|D]1}tjj|}||kr |j|q W|S)N)osrnormpathr!)pathsZ reduced_pathsrCZnprrrnormalize_and_reduce_pathss   rZcCsX|jtj}g}x'|D]}||kr|j|qWtjj|}|S)N)rRrWpathsepr!join)variableZoldListZnewListr$Z newVariablerrrremoveDuplicatess  r^c Cs^t|}ytjd|d}Wn%tk rKtjdd}YnX| sftjj| r d|}tj j |d}|rtjj|rtjj |tj tj d}tjj |}tjj|s tjd|dSntjd||s"tjddStjj |d }tjj|rM|Stjd dS) Nz %s\Setup\VCr@z%Unable to find productdir in registryzVS%0.f0COMNTOOLSZVCz%s is not a valid directoryz Env var %s is not set or invalidzNo productdir foundz vcvarsall.batzUnable to find vcvarsall.bat)r9rrrr debugrWrisdirenvirongetr\pardirabspathisfile)r=r:r@ZtoolskeyZtoolsdir vcvarsallrrrfind_vcvarsalls2       !  rgc Cst|}td}i}|dkr6tdtjd||tjd||fdtjd tj}z|j\}}|j d krt|j d |j d }x|j d D]}t j |}d |krq|j}|j d d\} } | j} | |kr| jtjrQ| dd} t| || VERSION_MSVCCompiler__versionZ_MSVCCompiler__root_MSVCCompiler__paths plat_name_MSVCCompiler__arch initialized)r<verbosedry_runforcerrrr>Js     zMSVCCompiler.__init__NcCs|dkrt}d$}||kr:td|fdtjkrdtjkr|jdrd|_d|_d |_d |_d |_ n |tks|dkrt |}nt td t |}t t |}|d j tj|_|dtjd<|dtjd|)rz*\s*zI|)w) openreadrwrerDOTALLrHsearchwriteOSError)r<Z manifest_fileZ manifest_fZ manifest_bufpatternrrrrs.      z!MSVCCompiler._remove_visual_c_refcCsd|S)Nz /LIBPATH:r)r<dirrrrlibrary_dir_optionszMSVCCompiler.library_dir_optioncCstddS)Nzrrrrrrrrrrrrrrrrrr,sP      X VR  +   rl)0rWrprOrZdistutils.errorsrrrrrZdistutils.ccompilerrrr Z distutilsr Zdistutils.utilr winregZ OpenKeyExrZEnumKeyr Z EnumValuer'errorrZ HKEY_USERSHKEY_CURRENT_USERHKEY_LOCAL_MACHINEZHKEY_CLASSES_ROOTrplatformmaxsizeZ NATIVE_WIN64r9rBrArrr7rVrZr^rgrrrrrrrsL    (        >.   #)