§
    bŠtj$  ã                   óÆ   — d Z ddgZddlZddlmZ ddlmZ  edd¬¦  «         ej        dd	¬
¦  «        dd„¦   «         ¦   «         Z	 ej        dd	¬
¦  «        d„ ¦   «         Z
dS )zÑ
Read graphs in LEDA format.

LEDA is a C++ class library for efficient data types and algorithms.

Format
------
See http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html

Ú	read_ledaÚ
parse_ledaé    N)ÚNetworkXError)Ú	open_fileÚrb)ÚmodeT)ÚgraphsÚreturns_graphúUTF-8c                 óB   ‡— ˆfd„| D ¦   «         }t          |¦  «        }|S )aÎ  Read graph in LEDA format from path.

    Parameters
    ----------
    path : file or string
       Filename or file handle to read.
       Filenames ending in .gz or .bz2 will be decompressed.

    Returns
    -------
    G : NetworkX graph

    Examples
    --------
    >>> G = nx.read_leda("file.leda")  # doctest: +SKIP

    References
    ----------
    .. [1] http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html
    c              3   óB   •K  — | ]}|                      ‰¦  «        V — Œd S )N)Údecode)Ú.0ÚlineÚencodings     €úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/networkx/readwrite/leda.pyú	<genexpr>zread_leda.<locals>.<genexpr>,   s/   øè è € Ð4Ð4 tˆT�[Š[˜Ñ"Ô"Ð4Ð4Ð4Ð4Ð4Ð4ó    )r   )Úpathr   ÚlinesÚGs    `  r   r   r      s0   ø€ ð. 5Ð4Ð4Ð4¨tÐ4Ñ4Ô4€EÝ�5ÑÔ€AØ€Hr   c                 óh  — t          | t          ¦  «        r"t          |                      d¦  «        ¦  «        } t          d„ | D ¦   «         ¦  «        } t	          d¦  «        D ]}t          | ¦  «         Œt          t          | ¦  «        ¦  «        }|dk    rt          j        ¦   «         }nt          j	        ¦   «         }t          t          | ¦  «        ¦  «        }i }t	          d|dz   ¦  «        D ]P}t          | ¦  «         
                    ¦   «                              d¦  «        }|dk    rt          |¦  «        }|||<   ŒQ|                     d„ |                     ¦   «         D ¦   «         ¦  «         t          t          | ¦  «        ¦  «        }t	          |¦  «        D ]˜}	 t          | ¦  «                             ¦   «         \  }}	}
}n(# t          $ r}t          d	|dz   › �¦  «        |‚d
}~ww xY w|                     |t          |¦  «                 |t          |	¦  «                 |dd…         ¬¦  «         Œ™|S )a”  Read graph in LEDA format from string or iterable.

    Parameters
    ----------
    lines : string or iterable
       Data in LEDA format.

    Returns
    -------
    G : NetworkX graph

    Examples
    --------
    >>> G = nx.parse_leda(string)  # doctest: +SKIP

    References
    ----------
    .. [1] http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html
    ú
c                 ón   — g | ]2}|                      d ¦  «        s|dk    °|                     d¦  «        ‘Œ3S ))ú#r   Ú r   )Ú
startswithÚrstrip)r   r   s     r   ú
<listcomp>zparse_leda.<locals>.<listcomp>I   sK   € ð 	
ð 	
ð 	
àØ—O’O KÑ0Ô0ð	
ð 59¸B²J°Jð �KŠK˜ÑÔà4>°J°Jr   é   éÿÿÿÿé   z|{}|  r   c                 ó   — g | ]\  }}|‘ŒS © r$   )r   ÚiÚss      r   r   zparse_leda.<locals>.<listcomp>a   s   € Ð1Ð1Ð1™D˜A˜q�aÐ1Ð1Ð1r   z"Too few fields in LEDA.GRAPH edge Né   éþÿÿÿ)Úlabel)Ú
isinstanceÚstrÚiterÚsplitÚrangeÚnextÚintÚnxÚDiGraphÚGraphr   ÚstripÚadd_nodes_fromÚitemsÚBaseExceptionr   Úadd_edge)r   r%   Údur   ÚnÚnodeÚsymbolÚmr&   ÚtÚreversalr)   Úerrs                r   r   r   1   s)  € õ* �%�ÑÔð (Ý�U—[’[ Ñ&Ô&Ñ'Ô'ˆÝð	
ð 	
àð	
ñ 	
ô 	
ñô €Eõ �1‰XŒXð ð ˆÝˆU‰Œˆˆå	�T�%‰[Œ[Ñ	Ô	€BØ	ˆR‚x€xÝŒJ‰LŒLˆˆåŒH‰JŒJˆõ 	�D�‰KŒKÑÔ€AØ€DÝ�1�a˜!‘e‰_Œ_ð ð ˆÝ�e‘”×#Ò#Ñ%Ô%×+Ò+¨HÑ5Ô5ˆØ�RŠ<ˆ<Ý˜‘V”VˆFØˆˆQ‰ˆà×ÒÐ1Ð1 D§J¢J¡L¤LÐ1Ñ1Ô1Ñ2Ô2Ð2õ 	�D�‰KŒKÑÔ€AÝ�1‰XŒXð Bð Bˆð	WÝ$(¨¡K¤K×$5Ò$5Ñ$7Ô$7Ñ!ˆAˆq�(˜E˜EøÝð 	Wð 	Wð 	WÝÐ LÀQÈÁUÐ LÐ LÑMÔMÐSVÐVøøøøð	Wøøøð 	
�
Š
�4�˜A™œ”< ¥c¨!¡f¤f¤°U¸1¸R¸4´[ˆ
ÑAÔAÐAÐAØ€Hs   Æ&GÇ
G(ÇG#Ç#G()r   )Ú__doc__Ú__all__Únetworkxr1   Únetworkx.exceptionr   Únetworkx.utilsr   Ú_dispatchabler   r   r$   r   r   ú<module>rG      sÐ   ðð	ð 	ð ˜Ð
%€à Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø $Ð $Ð $Ð $Ð $Ð $ð €ˆ1�4ÐÑÔØ€Ô˜¨TÐ2Ñ2Ô2ðð ð ñ 3Ô2ñ Ôðð4 €Ô˜¨TÐ2Ñ2Ô2ð:ð :ñ 3Ô2ð:ð :ð :r   