`O~uFSrSSKrSSKrS SjrSrSrSrSrSrS r g) zShared AIX support functions.NcVSSKnSSKn[SUR5<3S5nUR U5nU(aU<SUR <S3nOU<SUR <S3nUR U5(dUR5OSsSSS5 $!,(df  g=f) z0Output from successful command execution or NonerNz/tmp/_aix_support.zw+bz >'z' 2>&1z 2>/dev/null >'')os contextlibopengetpidclosingnamesystemread) commandstringcapture_stderrrrfpcmds 3/opt/alt/python313/lib64/python3.13/_aix_support.py_read_cmd_outputrsy    B   B 2 %2BGG%%&KL **W C ))+  C Cb'R-#c"g,TC AK  ><=>sA22B  B cD[5up[[U5U5$)ap AIX filesets are identified by four decimal values: V.R.M.F. V (version) and R (release) can be retrieved using ``uname`` Since 2007, starting with AIX 5.3 TL7, the M value has been included with the fileset bos.rte and represents the Technology Level (TL) of AIX. The F (Fix) value also increases, but is not relevant for comparing releases and binary compatibility. For binary compatibility the so-called builddate is needed. Again, the builddate of an AIX release is associated with bos.rte. AIX ABI compatibility is described as guaranteed at: https://www.ibm.com/ support/knowledgecenter/en/ssw_aix_72/install/binary_compatability.html For pep425 purposes the AIX platform tag becomes: "aix-{:1x}{:1d}{:02d}-{:04d}-{}".format(v, r, tl, builddate, bitsize) e.g., "aix-6107-1415-32" for AIX 6.1 TL7 bd 1415, 32-bit and, "aix-6107-1415-64" for AIX 6.1 TL7 bd 1415, 64-bit )r7r r,)r(rs r aix_platformr9?s&~HD IdOR ((r!cd[R"S5nU(d [S5e[US9$)NBUILD_GNU_TYPEzBUILD_GNU_TYPE is not defined)r() sysconfigget_config_var ValueErrorr,)gnu_types r_aix_bgtr@Ws-''(89H 899 ( ##r!c[R"S5n[U5n[ [ 5U5$![[4a [SU<35ef=f)z< Return the platform_tag of the system Python was built on. AIX_BUILDDATEz)AIX_BUILDDATE is not defined or invalid: )r<r=r'r> TypeErrorr r@) build_dates r aix_buildtagrE_sc))/:J,_  HJ ++  ",D&>+, ,,s 7 A)F) __doc__rr<rr r,r7r9r@rEr!rrHs2# 9$X) *)0$ ,r!