
    -Ph:                        d dl mZ d dlZd dlZddlmZmZ ddlmZ ddl	m
Z
mZ ej        rddlmZ dd	lmZ  G d
 de          ZddZdS )    )annotationsN   )ExtensionModule
ModuleInfo   )mesonlib)noKwargstyped_pos_args)Interpreter)ModuleStatec                       e Zd Z eddd          Zd fdZedd            Ze e	de
ej        f          dd                        Z xZS )KeyvalModulekeyvalz0.55.0z0.56.0)
stabilizedinterp'Interpreter'c                    t                                          |           | j                            d| j        i           d S )Nload)super__init__methodsupdater   )selfr   	__class__s     Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/modules/keyval.pyr   zKeyvalModule.__init__   sK       DI
 	 	 	 	 	    path_to_configstrreturnT.Dict[str, str]c                   i }	 t          | d          5 }|D ]}d|v r|                    d          }|d |         }|                                }	 |                    dd          \  }}n# t          $ r Y `w xY w|                                ||                                <   	 d d d            n# 1 swxY w Y   n,# t
          $ r}t          j        d|  d|           d }~ww xY w|S )Nzutf-8)encoding#=r   zFailed to load z: )openindexstripsplit
ValueErrorOSErrorr   MesonException)r   resultflinecomment_idxnamevales           r   
_load_filezKeyvalModule._load_file   sc   #%	Snw777 
71 	7 	7Dd{{&*jjoo#L[L1::<<D!$(JJsA$6$6	cc% ! ! ! !+.99;;F4::<<((	7
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7  	S 	S 	S)*QN*Q*Qa*Q*QRRR	S s^   B? <B3A,+B3,
A96B38A99-B3'B? 3B77B? :B7;B? ?
C(	C##C(zkeyval.loadstate'ModuleState'args T.Tuple['mesonlib.FileOrString']kwargsT.Dict[str, T.Any]c                   |d         }d}t          |t          j                  r>|p|j        }|                    | j        j        j        | j        j        j                  }n/t          j
                            | j        j        j        |          }|s| j        j                            |           |                     |          S )Nr   F)
isinstancer   Fileis_builtabsolute_pathinterpreterenvironment
source_dir	build_dirospathjoinbuild_def_filesaddr3   )r   r4   r6   r8   sr=   s         r   r   zKeyvalModule.load/   s     Ga'' 	I-1:H 0 < GIYIeIoppAAT-9DaHHA 	4,00333q!!!r   )r   r   )r   r   r   r    )r4   r5   r6   r7   r8   r9   r   r    )__name__
__module____qualname__r   INFOr   staticmethodr3   r	   r
   r   r   r<   r   __classcell__)r   s   @r   r   r      s        :hX>>>D         \& ^MC#788" " " 98 X" " " " "r   r   r   r   r   c                     t          |           S )N)r   )r   s    r   
initializerP   @   s    r   )r   r   r   r   )
__future__r   rC   typingT r   r   r   interpreterbaser	   r
   TYPE_CHECKINGr?   r   r   r   rP    r   r   <module>rX      s    # " " " " " 				     ) ) ) ) ) ) ) )       6 6 6 6 6 6 6 6? ))))))," ," ," ," ,"? ," ," ,"^           r   