C=/t`h d Z ddlZddlZddlZddlZddlmZmZmZm Z m Z mZmZ ddl mZmZ ddlmZ ddlmZ ddlmZ ddlmZmZ ej Z e d e Zerd ndZdZ ed dddd Zej ej ej! ej" ej# fZ$ej ej ej! fZ% ee& Z'dedefdZ(dede e fdZ)deee e f fdZ* G d d Z+dS )a Configuration management setup Some terminology: - name As written in config files. - value Value associated with a name - key Name combined with it's section (section.name) - variant A single word describing where the configuration key-value pair came from N)AnyDictIterableListNewTypeOptionalTuple)ConfigurationError!ConfigurationFileCouldNotBeLoaded)appdirs)WINDOWS) getLogger) ensure_direnumKindzpip.inizpip.conf)versionhelpuserglobalsiteenvzenv-var)USERGLOBALSITEENVENV_VARnamereturnc | dd } | d r | dd } | S )zAMake a name consistent regardless of source (environment or file)_-z-- N)lowerreplace startswith)r s /builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el9.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/configuration.py_normalize_namer' 2 sE ::<<S))Dt ABBxK c ~ d| vr$d | }t | | dd S )N.zbKey does not contain dot separated section and key. Perhaps you wanted to use 'global.{}' instead? )formatr split)r error_messages r&