JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr a0bi>lSrSSKrSSKJr SSKJrJr SSKJrJ r J r J r SSK J r SSKrSSKrSSKrSSK r SSKrSSKJr \R*"5S:Xa SSKrSS KJr O"S S 5r\"5rS rS rSSSSS.rSrSrSrSSjr"SS5r "SS5r!"SS5r""SS5r#g) a Improved support for Microsoft Visual C++ compilers. Known supported compilers: -------------------------- Microsoft Visual C++ 14.X: Microsoft Visual C++ Build Tools 2015 (x86, x64, arm) Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64) Microsoft Visual Studio Build Tools 2019 (x86, x64, arm, arm64) This may also support compilers shipped with compatible Visual Studio versions. N)open)listdirpathsep)joinisfileisdirdirname)CalledProcessError)unique_everseenWindows)environc$\rSrSrSrSrSrSrSrg)winreg N) __name__ __module__ __qualname____firstlineno__ HKEY_USERSHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_CLASSES_ROOT__static_attributes__rڈ/builddir/build/BUILDROOT/alt-python313-setuptools-69.0.2-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/setuptools/msvc.pyrr s  ! rrcf[R"[RSS[R[R-5nSnSnU [ R"5Htn[R"X5upEnU(dM&U[R:XdM<[U5(dMN[[U55nUS:dMkXq:dMrXup!Mv SSS5 X4$![ a gf=f![ a  M)f=f![[4a Mf=f!,(df  X4$=f)0Python 3.8 "distutils/_msvccompiler.py" backportz'Software\Microsoft\VisualStudio\SxS\VC7rNNN)rOpenKeyrKEY_READKEY_WOW64_32KEYOSError itertoolscount EnumValueREG_SZrintfloat ValueError TypeError)key best_versionbest_dirivvc_dirvtversions r_msvc14_find_vc2015r5)snn  % % 6 OOf44 4  LH "A  & 0 0 8 2qR6==(U6]]!%(mGb=W%;-4(#   !!%    #I.   !!s~AC'D (C7D  D  D 3D D D D ' C43C47 DD DD  DD DD  D0c [R"S5=(d [R"S5nU(dgSnUHn[R"[[ [ 5 [R"[USSS5SS S US S S S/ 5RSSS9R5n[USSS5n[U5(aSU4sSSS5 s $SSS5 M g!,(df  M=f)adPython 3.8 "distutils/_msvccompiler.py" backport Returns "15, path" based on the result of invoking vswhere.exe If no install is found, returns "None, None" The version is returned to avoid unnecessarily changing the function result. It may be ignored when the path is not None. If vswhere.exe is not available, by definition, VS 2017 is not installed. ProgramFiles(x86) ProgramFilesr)z1Microsoft.VisualStudio.Component.VC.Tools.x86.x64z)Microsoft.VisualStudio.Workload.WDExpresszMicrosoft Visual Studio Installerz vswhere.exez-latestz -prereleasez -requiresz -propertyinstallationPathz -products*mbcsstrict)encodingerrorsVC AuxiliaryBuildN) r get contextlibsuppressr r$UnicodeDecodeError subprocess check_outputrdecodestripr)rootsuitable_components componentpaths r_msvc14_find_vc2017rPGs ;;* + Jw{{>/JD  )  !3W>P Q'' ";[-"%#!#*# 9# (dK9DT{{4x/R Q,-R Q)6 3R Qs 'A)C** C9 x86x64armarm64)rQ x86_amd64x86_arm x86_arm64c [5upSnU[;a [UnO SU;aSOSnU(a+[USSSSSUS S 5 nS SKnURUS S 9SnU(d"[5uprU(a[USUSS 5nU(dg[US5n[U5(dgU(a[U5(dSnX4$![[ [ 4a SnNf=f)rNamd64rRrQz..redistMSVCz**zMicrosoft.VC14*.CRTzvcruntime140.dllrT) recursivezMicrosoft.VC140.CRTrz vcvarsall.bat) rPPLAT_SPEC_TO_RUNTIMErglob ImportErrorr$ LookupErrorr5r) plat_spec_r/ vcruntimevcruntime_platvcredistr_r. vcvarsalls r_msvc14_find_vcvarsallrhs%'KAI((-i8")Y"6E        !      (d ;B?I !4!6 %" I X/I )   F9--  1Wk2 I sC C#"C#cS[;a9[R"5VVs0sHupUR5U_M snn$[U5up4U(d[R R S5e[R"SRX05[RS9RSSS9nS UR55VVVs0sH)upnU(dMU(dMUR5U_M+ nnnnU(aXHS 'U$s snnf![Ra>n[R R SRUR55UeS nAff=fs snnnf) rDISTUTILS_USE_SDKzUnable to find vcvarsall.batzcmd /u /c "{}" {} && set)stderrzutf-16lereplace)r?zError executing {}Nc3B# UHoRS5v M g7f)=N) partition).0lines r %_msvc14_get_vc_env..sO>NdnnS11>Nspy_vcruntime_redist)r itemslowerrh distutilsr?DistutilsPlatformErrorrHrIformatSTDOUTrJr cmd splitlines) rbr-valuergrdoutexcrcenvs r_msvc14_get_vc_envrsGg%5<]]_E_zs U"_EE1)<I 556TUU%% & - -i C$$  &I& . Pcnn>NO OMCE    UO  %. !" J1F  ( (55 ' ' 0    s0D8ADE/%E/.E/E,.9E''E,c[U5$![RRan[ US5 eSnAff=f)z Patched "distutils._msvccompiler._get_vc_env" for support extra Microsoft Visual C++ 14.X compilers. Set environment without use of "vcvarsall.bat". Parameters ---------- plat_spec: str Target architecture. Return ------ dict environment ,@N)rrwr?rx_augment_exception)rbrs rmsvc14_get_vc_envrs;&!),,    2 23% s = 8=cdURSnSUR5;dSUR5;aqSnUR"S0[5D6nSnUS:Xa/UR5R S5S:aUS - nO$US - nOUS :Xa US - nX5S -- nO US:aUS- nU4Ulg)z` Add details to the exception message to help guide the user as to what action will resolve it. rrgzvisual cz;Microsoft Visual C++ {version:0.1f} or greater is required.z-www.microsoft.com/download/details.aspx?id=%d"@ia64r]z( Get it with "Microsoft Windows SDK 7.0"z% Get it from http://aka.ms/vcpython27$@z* Get it with "Microsoft Windows SDK 7.1": iW rzd Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/Nr)argsrvrylocalsfind)rr4archmessagetmpl msdownloads rrrs hhqkGgmmo%w}})FL++))D c>zz|  (2-EE BB _ C CG D( (G _ , G zCHrc\rSrSrSr\R "SS5R5rSr \ S5r Sr Sr SS jrSS jrSS jrS rg ) PlatformInfoizi Current and Target Architectures information. Parameters ---------- arch: str Target architecture. processor_architecturecNUR5RSS5Ulg)NrRrY)rvrlr)selfrs r__init__PlatformInfo.__init__"sJJL((8 rcXURURRS5S-S$)zC Return Target CPU architecture. Return ------ str Target CPU rcN)rrrs r target_cpuPlatformInfo.target_cpu%s(yy,q0233rc URS:H$)zW Return True if target CPU is x86 32 bits.. Return ------ bool CPU is x86 32 bits rQrrs r target_is_x86PlatformInfo.target_is_x861s%''rc URS:H$)zX Return True if current CPU is x86 32 bits.. Return ------ bool CPU is x86 32 bits rQ current_cpurs rcurrent_is_x86PlatformInfo.current_is_x86<s5((rcURS:Xa U(aS$URS:Xa U(aS$SUR-$)u Current platform specific subfolder. Parameters ---------- hidex86: bool return '' and not '†' if architecture is x86. x64: bool return 'd' and not 'md64' if architecture is amd64. Return ------ str subfolder: ' arget', or '' (see hidex86 parameter) rQrrY\x64\%srrhidex86rRs r current_dirPlatformInfo.current_dirGsO$  E)g    G+ $***  rcURS:Xa U(aS$URS:Xa U(aS$SUR-$)a Target platform specific subfolder. Parameters ---------- hidex86: bool return '' and not '\x86' if architecture is x86. x64: bool return '\x64' and not '\amd64' if architecture is amd64. Return ------ str subfolder: '\current', or '' (see hidex86 parameter) rQrrYrrrrs r target_dirPlatformInfo.target_dir_sI$5(W  7*s $//)  rcU(aSO URnURU:XaS$UR5RSSU-5$)a Cross platform specific subfolder. Parameters ---------- forcex86: bool Use 'x86' as current architecture even if current architecture is not x86. Return ------ str subfolder: '' if target architecture is current architecture, '\current_target' if not. rQr\z\%s_)rrrrl)rforcex86currents r cross_dirPlatformInfo.cross_dirwsN $%)9)9')  "**471BC r)rN)FFF)rrrr__doc__r rDrvrrpropertyrrrrrrrrrrrrsU++6;AACK9 4 4 ( ) 0 0 rrc\rSrSrSr\R \R\R\R4r Sr \ S5r \ S5r\ S5r\ S5r\ S5r\ S 5r\ S 5r\ S 5r\ S 5rSS jrSrSrg) RegistryInfoiz Microsoft Visual Studio related registry information. Parameters ---------- platform_info: PlatformInfo "PlatformInfo" instance. cXlgNpi)r platform_infos rrRegistryInfo.__init__srcg)zP Microsoft Visual Studio root registry key. Return ------ str Registry key VisualStudiorrs r visualstudioRegistryInfo.visualstudiosrc.[URS5$)zO Microsoft Visual Studio SxS registry key. Return ------ str Registry key SxS)rrrs rsxsRegistryInfo.sxssD%%u--rc.[URS5$)zL Microsoft Visual C++ VC7 registry key. Return ------ str Registry key VC7rrrs rvcRegistryInfo.vcDHHe$$rc.[URS5$)zO Microsoft Visual Studio VS7 registry key. Return ------ str Registry key VS7rrs rvsRegistryInfo.vsrrcg)zS Microsoft Visual C++ for Python registry key. Return ------ str Registry key zDevDiv\VCForPythonrrs r vc_for_pythonRegistryInfo.vc_for_pythons%rcg)zA Microsoft SDK registry key. Return ------ str Registry key zMicrosoft SDKsrrs r microsoft_sdkRegistryInfo.microsoft_sdks rc.[URS5$)zR Microsoft Windows/Platform SDK registry key. Return ------ str Registry key r rrrs r windows_sdkRegistryInfo.windows_sdksD&& 22rc.[URS5$)zP Microsoft .NET Framework SDK registry key. Return ------ str Registry key NETFXSDKrrs r netfx_sdkRegistryInfo.netfx_sdksD&& 33rcg)zP Microsoft Windows Kits Roots registry key. Return ------ str Registry key zWindows Kits\Installed Rootsrrs rwindows_kits_rootsRegistryInfo.windows_kits_rootss/rcrURR5(dU(aSOSn[SUSU5$)z Return key in Microsoft software registry. Parameters ---------- key: str Registry key path where look. x86: str Force x86 software registry. Return ------ str Registry key r Wow6432NodeSoftware Microsoft)rrr)rr-rQnode64s r microsoftRegistryInfo.microsofts0 ww--//3MJ S99rc >[Rn[Rn[RnURnUR HBnSnU"Xv"U5SU5n[R"X5SU(a U"U5 s $s $ g![ aI URR5(d&U"Xv"US5SU5nNn![ a Mf=fMf=f![ a Of=fU(a U"U5 MM!U(a U"U5 ff=f)z Look for values in registry in Microsoft software registry. Parameters ---------- key: str Registry key path where look. name: str Value name to find. Return ------ str value NrT) rr"r!CloseKeyrHKEYSr$rr QueryValueEx) rr-namekey_readopenkeyclosekeymshkeybkeys rlookupRegistryInfo.lookup"s ??..?? ^^JJDD tRWa: #**46q9TN# ww--//!&tRT]AxH"! !   TN4TNsTB C&)C#:C  CC#CC#"C#& C30D 2C33D  DrNr)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs   !!   E    . . % % % % % %     3 3 4 4 / /:&&#rrc\rSrSrSr\R "SS5r\R "SS5r\R "S\5r S!Sjr S r S r S r \S 5r\S 5r\S5rSrSr\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r \S5r!Sr"\S"Sj5r#S r$g)# SystemInfoiKz Microsoft Windows and Visual Studio related system information. Parameters ---------- registry_info: RegistryInfo "RegistryInfo" instance. vc_ver: float Required Microsoft Visual C++ version. WinDirrr8r7NcXlURRUlUR5UlU=(d UR 5=UlUlgr)rirfind_programdata_vs_versknown_vs_paths_find_latest_available_vs_vervs_vervc_ver)r registry_infors rrSystemInfo.__init__]sE''**";;=%+$Rd.P.P.RR dkrcUR5nU(d0UR(d[RR S5e[ U5nUR UR5 [U5S$)z= Find the latest VC version Return ------ float version z%No Microsoft Visual C++ version foundr])find_reg_vs_versrrwr?rxsetupdatesorted)r reg_vc_versvc_verss rr(SystemInfo._find_latest_available_vs_verfsf++- t22""997 k"t**+gr""rc URRnURRURRURR4n/n[ R "URRU5GH.upE[R"XA"U5S[R5nU [R"U5upxn [U5H^n [R"[ 5 [#[R$"Xj5S5n X;aUR'U 5 SSS5 M` [U5H[n [R"[ 5 [#[R("Xj55n X;aUR'U 5 SSS5 M] SSS5 GM1 [+U5$![a GMLf=f!,(df  GM=f!,(df  M=f!,(df  GM=f)zh Find Microsoft Visual Studio versions available in registry. Return ------ list of float Versions rN)rrrrrr%productrrr!r"r$ QueryInfoKeyrangerErFr+r*r'appendEnumKeyr ) rrvckeysvs_versrr-rsubkeysvaluesrcr0vers rrSystemInfo.find_reg_vs_verszswWW  ''**dgg33TWWZZ@"**477==&AID ~~dBsGQH%+%8%8%>"vA#,,Z8#F$4$4T$=a$@A-#NN3/98' wA#,,Z8#FNN4$;<-#NN3/98( B"g   98 98sO ,G:AG:<9G 54G:)6G(  G: GG G%  G:( G7 2G:: H c|0nSn[U5nUHkn[X$S5n[USSS9n[R "U5nSSS5 WSn[[US55 UUUR US 5'Mm U$![a Us$f=f!,(df  NW=f![[4a Mf=f) z Find Visual studio 2017+ versions from information in "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances". Return ------ dict float version as key, path as value. z9C:\ProgramData\Microsoft\VisualStudio\Packages\_Instancesz state.jsonrtzutf-8)r>Nr: VC\Tools\MSVCinstallationVersion)rr$rrjsonload_as_float_versionKeyError) r vs_versions instances_dir hashed_namesr state_path state_filestatevs_paths rr#SystemInfo.find_programdata_vs_verss T  "=1L !D !-|D *dW= IIj1E> 23W&678 **51F+GH!(1   >=X&  s9 BB'B9B' BB B$ B''B;:B;cZ[SRURS5SS55$)z Return a string version as a simplified float version (major.minor) Parameters ---------- version: str Version. Return ------ float version .N)r*rsplit)r4s rrSystemInfo._as_float_versions(SXXgmmC0!4566rc[URSUR-5nURR URR SUR-5=(d U$)z@ Microsoft Visual Studio directory. Return ------ str path zMicrosoft Visual Studio %0.1f%0.1f)rProgramFilesx86rrrr)rdefaults r VSInstallDirSystemInfo.VSInstallDirsP  "ADKK"O  ww~~dggjj'DKK*?@KGKrcUR5=(d UR5n[U5(d!Sn[RR U5eU$)z= Microsoft Visual C++ directory. Return ------ str path z(Microsoft Visual C++ directory not found) _guess_vc_guess_vc_legacyrrwr?rx)rrOmsgs r VCInstallDirSystemInfo.VCInstallDirsH~~:4#8#8#:T{{ > rc4URS::agURURn[ US5n[ U5SnUR U5Ul[ X#5$![a URnNTf=f![[4a gf=f)z< Locate Visual C++ for VS2017+. Return ------ str path rrrr]) rrr r2rrrrr$ IndexError)rvs_dirguess_vcrs rr5SystemInfo._guess_vcs ;;$  '((5F  01 X&r*F008DK) ) '&&F '$  s"A(.B(BBBBc[URSUR-5n[URRSUR-5nURR US5nU(a [US5OUnURR URR SUR-5=(d U$)zK Locate Visual C++ for versions prior to 2017. Return ------ str path z Microsoft Visual Studio %0.1f\VCr/ installdirr@)rr0rrrrr)rr1reg_path python_vc default_vcs rr6SystemInfo._guess_vc_legacys  "E "S  --w/DEGGNN8\: .7T)T*W ww~~dggjj'DKK*?@NJNrcURS::agURS:XagURS:XagURS:XagURS :ag g ) zg Microsoft Windows SDK versions for specified MSVC++ version. Return ------ tuple of str versions r)z7.0z6.1z6.0ar)z7.1z7.0a&@)z8.0z8.0a(@)8.1z8.1ar)z10.0rHNrrs rWindowsSdkVersionSystemInfo.WindowsSdkVersion+sT ;;# ' [[D  [[D  [[D  [[D  !rcLUR[URS55$)zD Microsoft Windows SDK last version. Return ------ str version lib)_use_last_dir_namer WindowsSdkDirrs rWindowsSdkLastVersion SystemInfo.WindowsSdkLastVersion@s"&&tD,>,>'FGGrclSnURHKn[URRSU-5nURR US5nU(dMK O U(a[ U5(d\[URR SUR-5nURR US5nU(a [US5nU(a[ U5(dVURHFnUSURS5nS U-n[URU5n[ U5(dMDUnMH U(a[ U5(dBURH2nS U-n[URU5n[ U5(dM0UnM4 U(d[URS 5nU$) z> Microsoft Windows SDK directory. Return ------ str path rzv%sinstallationfolderr/r@WinSDKNr*zMicrosoft SDKs\Windows Kits\%szMicrosoft SDKs\Windows\v%s PlatformSDK) rJrrrrrrrrfindr8r8)rsdkdirrlocrO install_baseintverds rrOSystemInfo.WindowsSdkDirLs\))Ctww**ECK8CWW^^C)=>Fv * U6]]--w/DED77>>$ =LlH5U6]]---syy~.86A**D188F . U6]]--4s:**D188F . $++];F rc"URS::aSnSnO0SnURS::aSOSnURRSUS9nS XRS S 54-n/nURS :a7URH'nU[ UR RXd5/- nM) URH+nU[ UR RS U-U5/- nM- UH*nUR RUS5nU(dM(Us $ g)zI Microsoft Windows SDK executable directory. Return ------ str path rF#r(rGTF)rRrzWinSDK-NetFx%dTools%sr-rzv%sArSN) rrrrlNetFxSdkVersionrrrrJrr) rnetfxverrrfxregpathsrrOexecpaths rWindowsSDKExecutablePath#SystemInfo.WindowsSDKExecutablePathws ;;$ HDH"kkT1duG77&&4&AD $,,tS2I'J J ;;$ ++T$''"3"3S=>>,))C dgg116C<DE EH*Dww~~d,@AHxrc[URRSUR-5nURR US5=(d S$)z< Microsoft Visual F# directory. Return ------ str path z%0.1f\Setup\F# productdirr)rrrrr)rrOs rFSharpInstallDirSystemInfo.FSharpInstallDirs>DGG((*;dkk*IJww~~dL17R7rcURS:aSOSnUHJnURRURRSU-5nU(dM?U=(d Ss $ g)zD Microsoft Universal CRT SDK directory. Return ------ str path r)1081rz kitsroot%srN)rrrr)rversrrWs rUniversalCRTSdkDirSystemInfo.UniversalCRTSdkDirsT ${{d2|CWW^^DGG$>$> s@RSFv|#rcLUR[URS55$)zP Microsoft Universal C Runtime SDK last version. Return ------ str version rM)rNrrprs rUniversalCRTSdkLastVersion%SystemInfo.UniversalCRTSdkLastVersions"&&tD,C,CU'KLLrc*URS:aS$S$)zQ Microsoft .NET Framework SDK versions. Return ------ tuple of str versions r) z4.7.2z4.7.1z4.7z4.6.2z4.6.1z4.6z4.5.2z4.5.1z4.5rrIrs rraSystemInfo.NetFxSdkVersions%{{d" X  rcSnURHIn[URRU5nURR US5nU(dMH U$ U$)zE Microsoft .NET Framework SDK directory. Return ------ str path rkitsinstallationfolder)rarrrr)rrWrrXs r NetFxSdkDirSystemInfo.NetFxSdkDirsX''Ctww((#.CWW^^C)ABFv (  rc[URS5nURRURRS5=(d U$)zG Microsoft .NET Framework 32bit directory. Return ------ str path zMicrosoft.NET\Frameworkframeworkdir32rrrrrrguess_fws rFrameworkDir32SystemInfo.FrameworkDir32s: %?@ww~~dggjj*:;GxGrc[URS5nURRURRS5=(d U$)zG Microsoft .NET Framework 64bit directory. Return ------ str path zMicrosoft.NET\Framework64frameworkdir64r}r~s rFrameworkDir64SystemInfo.FrameworkDir64s: %ABww~~dggjj*:;GxGrc$URS5$)zS Microsoft .NET Framework 32bit versions. Return ------ tuple of str versions r_find_dot_net_versionsrs rFrameworkVersion32SystemInfo.FrameworkVersion32 **2..rc$URS5$)zS Microsoft .NET Framework 64bit versions. Return ------ tuple of str versions @rrs rFrameworkVersion64SystemInfo.FrameworkVersion64rrcURRURRSU-5n[USU-5nU=(d UR US5=(d SnUR S:aUS4$UR S:aUR 5SS S :waS S 4$US 4$UR S :XagUR S:Xagg)z Find Microsoft .NET Framework versions. Parameters ---------- bits: int Platform number of bits: 32 or 64. Return ------ tuple of str versions zframeworkver%dzFrameworkDir%dr1rrGzv4.0rNr+v4z v4.0.30319v3.5r)r v2.0.50727g @)zv3.0r)rrrgetattrrNrrv)rbitsreg_ver dot_net_dirrs rr!SystemInfo._find_dot_net_versions!s''..-=-DEd$4t$;< H00cBHb ;;$ ;  [[D #&99;r?d#:# UH;n[[TU55(dMURT5(dM7Uv M= g7fr)rr startswith)rpdir_namerOprefixs rrr0SystemInfo._use_last_dir_name..Os< 3T$)* /7/B/B6/J H3sAA ANr)reversedrnext)rOr matching_dirss`` rrNSystemInfo._use_last_dir_name>s/" $WT]3 M4(.B.r)rrrrrrr)%rrrrrr rDrr8r0rrrr staticmethodrrr2r8r5r6rJrPrOrfrjrprsraryrrrrrrNrrrrrrKs [[2 &F;;~r2Lkk"5|DOS#(>(T77 LL""<O*!!( H H((T    D 8 8$$$ M M  " H H H H / / / /(://rrc\rSrSrSrS!Sjr\S5r\S5r\S5r \S5r \S 5r \S 5r \S 5r \S 5r\S 5r\S5r\S5rSr\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5rS"Sjr Sr!S r"g)#EnvironmentInfoiWa Return environment variables for specified Microsoft Visual C++ version and platform : Lib, Include, Path and libpath. This function is compatible with Microsoft Visual C++ 9.0 to 14.X. Script created by analysing Microsoft environment configuration files like "vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ... Parameters ---------- arch: str Target architecture. vc_ver: float Required Microsoft Visual C++ version. If not set, autodetect the last version. vc_min_ver: float Minimum Microsoft Visual C++ version. Nc[U5Ul[UR5Ul[ URU5UlUR U:a!Sn[RRU5eg)Nz.No suitable Microsoft Visual C++ version found) rrrrrsirrwr?rx)rrr vc_min_vererrs rrEnvironmentInfo.__init__os]t$tww'TWWf- ;; #BC""99#> > $rc.URR$)z; Microsoft Visual Studio. Return ------ float version )rrrs rrEnvironmentInfo.vs_verxww~~rc.URR$)z@ Microsoft Visual C++ version. Return ------ float version )rrrs rrEnvironmentInfo.vc_verrrcSS/nURS:a/URRSSS9nUS/- nUS/- nUSU-/- nUVs/sH#n[URR U5PM% sn$s snf) zE Microsoft Visual Studio Tools. Return ------ list of str paths z Common7\IDEz Common7\ToolsrTrrRz1Common7\IDE\CommonExtensions\Microsoft\TestWindowzTeam Tools\Performance ToolszTeam Tools\Performance Tools%s)rrrrrr2)rpaths arch_subdirrOs rVSToolsEnvironmentInfo.VSToolss !12 ;;$ ''--d-EK JK KE 56 6E 7+EF FE=BCUTTWW))40UCCCs*A5c[URRS5[URRS5/$)zb Microsoft Visual C++ & Microsoft Foundation Class Includes. Return ------ list of str paths IncludezATLMFC\Include)rrr8rs r VCIncludesEnvironmentInfo.VCIncludess7 %%y 1 %%'8 9  rc:URS:aURRSS9nOURRSS9nSU-SU-/nURS:a USU-/- nUVs/sH#n[URR U5PM% sn$s snf) zc Microsoft Visual C++ & Microsoft Foundation Class Libraries. Return ------ list of str paths .@TrRrLib%sz ATLMFC\Lib%srz Lib\store%s)rrrrrr8)rrrrOs r VCLibrariesEnvironmentInfo.VCLibrariess ;;$ '',,,6K'',,T,:K;&+(EF ;;$  n{23 3E=BCUTTWW))40UCCCs+*BchURS:a/$[URRS5/$)zW Microsoft Visual C++ store references Libraries. Return ------ list of str paths rzLib\store\references)rrrr8rs r VCStoreRefsEnvironmentInfo.VCStoreRefss0 ;; ITWW))+BCDDrc HURn[URS5/nURS::aSOSnURR U5nU(aU[URSU-5/- nURS:Xa8SURR SS9-nU[URU5/- nU$URS:aURR5(aS OS nU[URX`RRSS 9-5/- nURRURR:wa3U[URX`RR SS 9-5/- nU$U[URS 5/- nU$) zB Microsoft Visual C++ Tools. Return ------ list of str paths VCPackagesrTFBin%srrrz bin\HostX86%sz bin\HostX64%srBin) rrr8rrrrrrrr)rrtoolsrrrOhost_dirs rVCToolsEnvironmentInfo.VCToolss|WWboo|45;;$.4Egg''1  d2??Gk,ABC CE ;;$ TWW000>>D d2??D12 2E  [[D $(GG$:$:$<$< BR  d2??Hww7I7Id7I7S,STU UEww""dgg&8&88(WW5H5HT5H5R*RS  d2??E23 3E rcNURS::a>URRSSS9n[URR SU-5/$URRSS9n[URR S5nUR n[X#<SU<35/$)zG Microsoft Windows SDK Libraries. Return ------ list of str paths rTrrrrMum)rrrrrrO _sdk_subdir)rrrMlibvers r OSLibrariesEnvironmentInfo.OSLibrariess ;;$ '',,Tt,DK..+0EFG G'',,,6Ktww,,e4C%%F&+>?@ @rc[URRS5nURS::aU[US5/$URS:a URnOSn[USU-5[USU-5[USU-5/$) zE Microsoft Windows SDK Include. Return ------ list of str paths includerglrrz%ssharedz%sumz%swinrt)rrrOrr)rrsdkvers r OSIncludesEnvironmentInfo.OSIncludesstww,,i8 ;;$ T'401 1{{d"))Wj612Wfvo.Wi&01 rc[URRS5n/nURS::aX R- nURS:aU[US5/- nURS:azUU[URRS5[USS5[US S5[US S5[URRS S S UR-SSS5/- nU$)zM Microsoft Windows SDK Libraries Paths. Return ------ list of str paths ReferencesrrFzCommonConfiguration\Neutralr UnionMetadataz'Windows.Foundation.UniversalApiContractz1.0.0.0z%Windows.Foundation.FoundationContractz,Windows.Networking.Connectivity.WwanContract ExtensionSDKszMicrosoft.VCLibsr/CommonConfigurationneutral)rrrOrr)rreflibpaths r OSLibpathEnvironmentInfo.OSLibpath*s477((,7 ;;#  '' 'G ;;$  S"@AB BG ;;$  TWW**O<SCYOSA9MSH)TGG))#&dkk) )  G rc4[UR55$)zC Microsoft Windows SDK Tools. Return ------ list of str paths )list _sdk_toolsrs rSdkToolsEnvironmentInfo.SdkToolsPsDOO%&&rc## URS:a6URS::aSOSn[URRU5v URR 5(d@URR SS9nSU-n[URRU5v URS;adURR5(aS nOURR SSS 9nS U-n[URRU5v OrURS:ab[URRS5nURR SS9nURRn[X4<U<35v URR(aURRv g g 7f) zX Microsoft Windows SDK Tools paths generator. Return ------ generator of str paths rrFrzBin\x86Trr)rrFrrzBin\NETFX 4.0 Tools%sN) rrrrOrrrrrPrf)rbin_dirrrOrs rrEnvironmentInfo._sdk_tools\sa ;; #{{d2e Gtww,,g6 6ww%%''''--$-7K[(Dtww,,d3 3 ;;, &ww$$&& "gg11$D1I +k9Dtww,,d3 3 [[D --u5D''--$-7KWW22Ftv{;< < 77 + +''22 2 ,sGGcJURRnU(aSU-$S$)zE Microsoft Windows SDK version subdir. Return ------ str subdir %s\r)rrPrucrtvers rrEnvironmentInfo._sdk_subdirs%''//%, 4"4rchURS:a/$[URRS5/$)zC Microsoft Windows SDK Setup. Return ------ list of str paths rSetup)rrrrOrs rSdkSetupEnvironmentInfo.SdkSetups/ ;; ITWW**G455rcVURnURnURS::a4SnUR5(+=(a UR 5(+nOLUR5=(d UR 5nUR S:H=(d UR S:Hn/nU(a3XRRVs/sHn[URU5PM sn- nU(a3XRRVs/sHn[URU5PM sn- nU$s snfs snf)zF Microsoft .NET Framework Tools. Return ------ list of str paths rTrY) rrrrrrrrrrrr)rrr include32 include64rrs rFxToolsEnvironmentInfo.FxToolssWW WW ;;$ I,,..Jr7H7H7J3JI((*Ab.?.?.AI'1MR]]g5MI  >S>ST>Ssd2,,c2>ST TE  >S>ST>Ssd2,,c2>ST TE UTs D!: D&cURS:dURR(d/$URR SS9n[ URRSU-5/$)zN Microsoft .Net Framework SDK Libraries. Return ------ list of str paths rTrzlib\um%s)rrryrrr)rrs rNetFxSDKLibraries!EnvironmentInfo.NetFxSDKLibrariessW ;; TWW%8%8Igg((T(2 TWW((+ *CDEErcURS:dURR(d/$[URRS5/$)zM Microsoft .Net Framework SDK Includes. Return ------ list of str paths rz include\um)rrryrrs rNetFxSDKIncludes EnvironmentInfo.NetFxSDKIncludess; ;; TWW%8%8ITWW((-899rcD[URRS5/$)zT Microsoft Visual Studio Team System Database. Return ------ list of str paths z VSTSDB\Deploy)rrr2rs rVsTDbEnvironmentInfo.VsTDbsTWW))+;<==rcTURS:a/$URS:a0URRnURR SS9nOURR nSnSURU4-n[ X5/nURS:aU[ XS5/- nU$)z> Microsoft Build Engine. Return ------ list of str paths rGrTrrzMSBuild\%0.1f\bin%sRoslyn)rrr0rrr2r)r base_pathrrObuilds rMSBuildEnvironmentInfo.MSBuilds ;; I [[4 //I''--d-;K,,IK%k(BBi&' ;;$  d9H56 6E rchURS:a/$[URRS5/$)zD Microsoft HTML Help Workshop. Return ------ list of str paths rFzHTML Help Workshop)rrrr0rs rHTMLHelpWorkshop EnvironmentInfo.HTMLHelpWorkshops0 ;; ITWW,,.BCDDrcURS:a/$URRSS9n[URR S5nUR n[X#<SU<35/$)zS Microsoft Universal C Runtime SDK Libraries. Return ------ list of str paths rTrrMucrt)rrrrrrp _ucrt_subdir)rrrMrs r UCRTLibrariesEnvironmentInfo.UCRTLibraries sb ;; Igg((T(2 477--u5##S=>??rcURS:a/$[URRS5n[USUR-5/$)zQ Microsoft Universal C Runtime SDK Include. Return ------ list of str paths rrz%sucrt)rrrrpr )rrs r UCRTIncludesEnvironmentInfo.UCRTIncludessF ;; Itww119=Wh):)::;< WW)) j00JGH   {GK,@,DEK d; &BC CHT*h/00 !DKK"$4 5 C $4r$9 :  )00DOFW@Dd||  Erc[URSURURURUR /U5URSUR URURURUR/U5URSUR URURUR/U5URSURURURUR UR"URUR$UR&UR(/ U5S9nUR*S:a)[-UR.5(aUR.US'U$)z Return environment dict. Parameters ---------- exists: bool It True, only return existing paths. Return ------ dict environment rrMrrO)rrMrrOr rt)dict _build_pathsrrrrrrrrrrrrrrrrrr rrrr )rexistsrs r return_envEnvironmentInfo.return_envosZ%%OOOO%%))   !!$$$$LL&&**  %%!!4<<1A1A4>>R ""LLLLJJMMMMLLLL))KK 7* V ;;" (<( >&|4 ||L))r)rrr)Nr)T)#rrrrrrrrrrrrrrrrrrrrrrrrrrr rrr rr r&r$rrrrrrWs.?    DD&    DD( E E##JAA&2##J ' '!3F 5 5 6 64 F F : : > >6 E E@@" = = 5 5 * *""H;z*rrr)$rriorosrros.pathrrrr rHr rEplatformr%distutils.errorsrw setuptools.extern.more_itertoolsr systemrr r#r5rPr^rhrrrrrrrrrrr:s  00)< ?? !!! fG"<0h  2 j<4$Nv v ry#y#xI/I/Xt *t *r