Ë
    D^(hµˆ  ã                   ó€  — d dl Z d dlZd dlZd dlmZmZ d„ Z G d„ d«      Z G d„ d«      Z	ej                  j                  dej                  ej                  ej                  ej                  f«      d	„ «       Zej                  j                  d
dddœdfddiddidœdff«      d„ «       Zej                  j                  dej                  ej                  f«      d„ «       Zej                  j                  d
dddœdfddiddidœdff«      d„ «       Zej                  j                  dej                  ej                  f«      d„ «       Zej                  j                  d
dddœdfddiddidœdff«      d„ «       Zd„ Zd„ Zej                  j                  dej                  ej                  ej                  ej                  f«      d„ «       Zej                  j                  dej                  ej                  f«      d„ «       Zej                  j                  dej                  ej                  f«      d„ «       Zd„ Zej                  j                  dej                  ej                  ej                  ej                  g«      d„ «       Zej                  j                  dej                  ej                  ej                  ej                  g«      d „ «       Zd!„ Zej                  j                  dej                  ej                  g«      d"„ «       Zej                  j                  dej                  ej                  g«      d#„ «       Z d$„ Z!ej                  j                  d% ej                  «        ej                  «        ej                  «        ej                  «       f«      d&„ «       Z"ej                  j                  d% ej                  «        ej                  «       f«      d'„ «       Z#ej                  j                  d% ej                  «        ej                  «       f«      d(„ «       Z$y))é    N)Úedges_equalÚnodes_equalc                  ó`   — t        j                  «       } t        j                  | «      g k(  sJ ‚y ©N)ÚnxÚGraphÚdegree_histogram©ÚGs    úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/networkx/classes/tests/test_function.pyÚtest_degree_histogram_emptyr   	   s&   € Ü
�‰‹
€AÜ×Ñ˜qÓ! RÒ'Ð'Ñ'ó    c                   ó¨   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestFunctionc                 óf  — t        j                  g d¢g d¢g dœd¬«      | _        ddddd	d
œ| _        t	        t        d«      «      | _        g d¢| _        t        j                  g d¢g d¢g dœ«      | _	        ddddd	d
œ| _
        ddd	d	d	d
œ| _        t	        t        d«      «      | _        g d¢| _        y )N©é   é   é   ©r   r   r   ©r   r   é   ÚTest)Únamer   r   r   r   )r   r   r   r   r   é   ©©r   r   ©r   r   ©r   r   ©r   r   ©r   r   ©r   r   )r   r   r   ÚGdegreeÚlistÚrangeÚGnodesÚGedgesÚDiGraphÚDGÚDGin_degreeÚDGout_degreeÚDGnodesÚDGedges©Úselfs    r   Úsetup_methodzTestFunction.setup_method   s–   € Ü—‘šiªI¸"Ñ=ÀFÔKˆŒØ  q¨Q°1Ñ5ˆŒÜœ5 ›8“nˆŒÚFˆŒÜ—*‘*¢ªy¸RÑ@ÓAˆŒØ  Q¨1°°qÑ9ˆÔØ ! a¨A°!¸Ñ:ˆÔÜœE !›H“~ˆŒÚGˆ�r   c                 ó4  — t        | j                  j                  «       t        t	        j                  | j                  «      «      «      sJ ‚t        | j
                  j                  «       t        t	        j                  | j
                  «      «      «      sJ ‚y r   )r   r   Únodesr$   r   r)   r.   s    r   Ú
test_nodeszTestFunction.test_nodes   sZ   € Ü˜4Ÿ6™6Ÿ<™<›>¬4´·±¸¿¹Ó0@Ó+AÔBÐBÐBÜ˜4Ÿ7™7Ÿ=™=›?¬D´·±¸$¿'¹'Ó1BÓ,CÔDÐDÑDr   c           
      óŒ  — t        | j                  j                  «       t        t	        j                  | j                  «      «      «      sJ ‚t        | j                  j                  «       «      t        t	        j                  | j                  «      «      k(  sJ ‚t        | j                  j                  g d¢¬«      t        t	        j                  | j                  g d¢¬«      «      «      sJ ‚t        | j                  j                  g d¢¬«      «      t        t	        j                  | j                  g d¢¬«      «      k(  sJ ‚y )N)r   r   r   ©Únbunch)r   r   Úedgesr$   r   Úsortedr)   r.   s    r   Ú
test_edgeszTestFunction.test_edges   sØ   € Ü˜4Ÿ6™6Ÿ<™<›>¬4´·±¸¿¹Ó0@Ó+AÔBÐBÐBÜ�d—g‘g—m‘m“oÓ&¬&´·±¸$¿'¹'Ó1BÓ*CÒCÐCÐCÜØ�F‰F�L‰L¢	ˆLÓ*¬D´·±¸$¿&¹&ÊÔ1SÓ,Tô
ð 	
ð 
ô �d—g‘g—m‘mª9�mÓ5Ó6¼&Ü�H‰H�T—W‘W¢YÔ/ó;
ò 
ð 	
ñ 
r   c           
      óÐ  — t        | j                  j                  «       t        t	        j                  | j                  «      «      «      sJ ‚t        | j                  j                  «       «      t        t	        j                  | j                  «      «      k(  sJ ‚t        | j                  j                  ddg¬«      t        t	        j                  | j                  ddg¬«      «      «      sJ ‚t        | j                  j                  ddg¬«      «      t        t	        j                  | j                  ddg¬«      «      k(  sJ ‚t        | j                  j                  d¬«      t        t	        j                  | j                  d¬«      «      «      sJ ‚t        | j                  j                  d¬«      «      t        t	        j                  | j                  d¬«      «      k(  sJ ‚y )Nr   r   r5   Úweight©r;   )r   r   Údegreer$   r   r8   r)   r.   s    r   Útest_degreezTestFunction.test_degree(   sf  € Ü˜4Ÿ6™6Ÿ=™=›?¬D´·±¸4¿6¹6Ó1BÓ,CÔDÐDÐDÜ�d—g‘g—n‘nÓ&Ó'¬6´"·)±)¸D¿G¹GÓ2DÓ+EÒEÐEÐEÜØ�F‰F�M‰M ! Q ˆMÓ(¬$¬r¯y©y¸¿¹ÈÈAÈÔ/OÓ*Pô
ð 	
ð 
ô �d—g‘g—n‘n¨Q°¨F�nÓ3Ó4¼Ü�I‰I�d—g‘g q¨! fÔ-ó9
ò 
ð 	
ð 
ô Ø�F‰F�M‰M ˆMÓ*¬D´·±¸4¿6¹6È(Ô1SÓ,Tô
ð 	
ð 
ô �d—g‘g—n‘n¨H�nÓ5Ó6¼&Ü�I‰I�d—g‘g hÔ/ó;
ò 
ð 	
ñ 
r   c                 óD  — t        | j                  j                  d«      «      t        t        j                  | j                  d«      «      k(  sJ ‚t        | j                  j                  d«      «      t        t        j                  | j                  d«      «      k(  sJ ‚y )Nr   )r$   r   Ú	neighborsr   r)   r.   s    r   Útest_neighborszTestFunction.test_neighbors8   sn   € Ü�D—F‘F×$Ñ$ QÓ'Ó(¬D´·±¸d¿f¹fÀaÓ1HÓ,IÒIÐIÐIÜ�D—G‘G×%Ñ% aÓ(Ó)¬T´"·,±,¸t¿w¹wÈÓ2JÓ-KÒKÐKÑKr   c                 óô   — | j                   j                  «       t        j                  | j                   «      k(  sJ ‚| j                  j                  «       t        j                  | j                  «      k(  sJ ‚y r   )r   Únumber_of_nodesr   r)   r.   s    r   Útest_number_of_nodesz!TestFunction.test_number_of_nodes<   óV   € Ø�v‰v×%Ñ%Ó'¬2×+=Ñ+=¸d¿f¹fÓ+EÒEÐEÐEØ�w‰w×&Ñ&Ó(¬B×,>Ñ,>¸t¿w¹wÓ,GÒGÐGÑGr   c                 óô   — | j                   j                  «       t        j                  | j                   «      k(  sJ ‚| j                  j                  «       t        j                  | j                  «      k(  sJ ‚y r   )r   Únumber_of_edgesr   r)   r.   s    r   Útest_number_of_edgesz!TestFunction.test_number_of_edges@   rE   r   c                 óô   — | j                   j                  «       t        j                  | j                   «      k(  sJ ‚| j                  j                  «       t        j                  | j                  «      k(  sJ ‚y r   )r   Úis_directedr   r)   r.   s    r   Útest_is_directedzTestFunction.test_is_directedD   sR   € Ø�v‰v×!Ñ!Ó#¤r§~¡~°d·f±fÓ'=Ò=Ð=Ð=Ø�w‰w×"Ñ"Ó$¬¯©°t·w±wÓ(?Ò?Ð?Ñ?r   c           	      ó  — | j                   j                  «       }g d¢}t        j                  ||«       t	        |j                  |«      g d¢«      sJ ‚| j                   j                  «       }t        j                  ||d¬«       t	        |j                  |d¬«      ddd	difdd
d	difddd	difg«      sJ ‚| j                   j                  «       }dg}t        j                  ||«       t        |t        | j                   «      |z   «      sJ ‚| j                   j                  «       }g }t        j                  ||«       t        |j                  | j                  «      sJ ‚t	        |j
                  | j                   j
                  «      sJ ‚y )N©é   é   é   é   )©rN   rO   )rN   rP   ©rN   rQ   ç       @r<   T©ÚdatarN   rO   r;   rP   rQ   )
r   Úcopyr   Úadd_starr   r7   r   r$   r2   r&   ©r/   r   Únlists      r   Útest_add_starzTestFunction.test_add_starH   sF  € Ø�F‰F�K‰K‹MˆÚ ˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 5›>Ò+IÔJÐJÐJà�F‰F�K‰K‹MˆÜ
�‰�A�u SÕ)ÜØ�G‰G�E ˆGÓ%à�R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)ðô
ð 	
ð 
ð �F‰F�K‰K‹MˆØ�ˆÜ
�‰�A�uÔÜ˜1œd 4§6¡6›l¨UÑ2Ô3Ð3Ð3à�F‰F�K‰K‹MˆØˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 D§K¡KÔ0Ð0Ð0Ü˜1Ÿ7™7 D§F¡F§L¡LÔ1Ð1Ñ1r   c           	      óN  — | j                   j                  «       }g d¢}t        j                  ||«       t	        |j                  |«      g d¢«      sJ ‚| j                   j                  «       }t        j                  ||d¬«       t	        |j                  |d¬«      ddd	difdd
d	difd
dd	difg«      sJ ‚| j                   j                  «       }dg}t        j                  ||«       t	        |j                  |«      g «      sJ ‚t        |t        | j                   «      dgz   «      sJ ‚| j                   j                  «       }t        dg«      }t        j                  ||«       t	        |j                  dg«      g «      sJ ‚t        |t        | j                   «      dgz   «      sJ ‚| j                   j                  «       }dg}t        j                  ||«       t	        |j                  |«      g «      sJ ‚t        |t        | j                   «      dgz   «      sJ ‚| j                   j                  «       }t        dg«      }t        j                  ||«       t	        |j                  dg«      g «      sJ ‚t        |t        | j                   «      dgz   «      sJ ‚| j                   j                  «       }g }t        j                  ||«       t	        |j
                  | j                   j
                  «      sJ ‚t        |t        | j                   «      «      sJ ‚| j                   j                  «       }t        g «      }t        j                  ||«       t	        |j
                  | j                   j
                  «      sJ ‚t        |t        | j                   «      «      sJ ‚y )NrM   )rR   ©rO   rP   ©rP   rQ   rT   r<   TrU   rN   rO   r;   rP   rQ   Únode)	r   rW   r   Úadd_pathr   r7   r   r$   ÚiterrY   s      r   Útest_add_pathzTestFunction.test_add_pathd   sØ  € Ø�F‰F�K‰K‹MˆÚ ˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 5›>Ò+IÔJÐJÐJØ�F‰F�K‰K‹MˆÜ
�‰�A�u SÕ)ÜØ�G‰G�E ˆGÓ%à�R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)ðô
ð 	
ð 
ð �F‰F�K‰K‹MˆØ�ˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 5›>¨2Ô.Ð.Ð.Ü˜1œd 4§6¡6›l¨f¨XÑ5Ô6Ð6Ð6à�F‰F�K‰K‹MˆÜ�f�X“ˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 F 8Ó,¨bÔ1Ð1Ð1Ü˜1œd 4§6¡6›l¨f¨XÑ5Ô6Ð6Ð6à�F‰F�K‰K‹MˆØ�ˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 5›>¨2Ô.Ð.Ð.Ü˜1œd 4§6¡6›l¨b¨TÑ1Ô2Ð2Ð2à�F‰F�K‰K‹MˆÜ�b�T“
ˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 B 4›=¨"Ô-Ð-Ð-Ü˜1œd 4§6¡6›l¨b¨TÑ1Ô2Ð2Ð2à�F‰F�K‰K‹MˆØˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 D§F¡F§L¡LÔ1Ð1Ð1Ü˜1œd 4§6¡6›lÔ+Ð+Ð+à�F‰F�K‰K‹MˆÜ�R“ˆÜ
�‰�A�uÔÜ˜1Ÿ7™7 D§F¡F§L¡LÔ1Ð1Ð1Ü˜1œd 4§6¡6›lÔ+Ð+Ñ+r   c                 ór  — | j                   j                  «       }g d¢}g d¢g d¢g}t        j                  ||«       t	        |j                  |«      «      |v sJ ‚| j                   j                  «       }ddddifddddifdd	ddifd	dddifgddddifdd	ddifd	dddifddddifgg}t        j                  ||d¬
«       t	        |j                  |d¬«      «      |v sJ ‚| j                   j                  «       }dg}t        j                  ||«       t        |t        | j                   «      |z   «      sJ ‚| j                   j                  «       }g }t        j                  ||«       t        |j                  | j                  «      sJ ‚t        |j
                  | j                   j
                  «      sJ ‚y )NrM   )rR   rS   r]   r^   )rR   r]   r^   )rQ   rN   rN   rO   r;   ç      ð?rQ   rP   r<   TrU   )r   rW   r   Ú	add_cycler8   r7   r   r$   r2   r&   r   )r/   r   rZ   Úoklistss       r   Útest_add_cyclezTestFunction.test_add_cycle˜   s«  € Ø�F‰F�K‰K‹MˆÚ ˆâ4Ú4ð
ˆô 	�‰�Q˜ÔÜ�a—g‘g˜e“nÓ%¨Ñ0Ð0Ð0Ø�F‰F�K‰K‹Mˆð �R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)ð	ð �R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)ð	ð
ˆô 	�‰�Q˜ cÕ*Ü�a—g‘g˜e¨$�gÓ/Ó0°GÑ;Ð;Ð;à�F‰F�K‰K‹MˆØ�ˆÜ
�‰�Q˜ÔÜ˜1œd 4§6¡6›l¨UÑ2Ô3Ð3Ð3à�F‰F�K‰K‹MˆØˆÜ
�‰�Q˜ÔÜ˜1Ÿ7™7 D§K¡KÔ0Ð0Ð0Ü˜1Ÿ7™7 D§F¡F§L¡LÔ1Ð1Ñ1r   c                 óº  — | j                   j                  g d¢«      j                  t        j                  | j                   g d¢«      j                  k(  sJ ‚| j                  j                  g d¢«      j                  t        j                  | j                  g d¢«      j                  k(  sJ ‚| j                   j                  g d¢«      j                  t        j
                  | j                   g d¢«      j                  k(  sJ ‚| j                  j                  g d¢«      j                  t        j
                  | j                  g d¢«      j                  k(  sJ ‚t        j
                  | j                   j                  g d¢«      g d¢«      }|j                  | j                   usJ ‚|j                  | j                   j                  g d¢«      j                  k(  sJ ‚y )N)r   r   r   r   r   )r   ÚsubgraphÚadjr   r)   Úinduced_subgraphÚ_graph)r/   ÚHs     r   Útest_subgraphzTestFunction.test_subgraph¾   sV  € à�F‰F�O‰OšLÓ)×-Ñ-´·±¸T¿V¹VÂ\Ó1R×1VÑ1VÒVð	
ØVð �G‰G×Ñš\Ó*×.Ñ.´"·+±+¸d¿g¹gÂ|Ó2T×2XÑ2XÒXð	
ØXð �F‰F�O‰OšLÓ)×-Ñ-Ü×"Ñ" 4§6¡6ª<Ó8×<Ñ<ò=ð	
ð=ð �G‰G×Ñš\Ó*×.Ñ.Ü×"Ñ" 4§7¡7ªLÓ9×=Ñ=ò>ð	
ð>ô ×Ñ §¡§¡²Ó =ºyÓIˆØ�x‰x˜tŸv™vÑ%Ð%Ð%Ø�u‰u˜Ÿ™Ÿ™ª	Ó2×6Ñ6Ò6Ð6Ñ6r   c                 ó\  — | j                   j                  ddg«      j                  t        j                  | j                   ddg«      j                  k(  sJ ‚| j                  j                  ddg«      j                  t        j                  | j                  ddg«      j                  k(  sJ ‚y )Nr"   r   )r   Úedge_subgraphrj   r   r)   r.   s    r   Útest_edge_subgraphzTestFunction.test_edge_subgraphÒ   sš   € à�F‰F× Ñ  &¨&Ð!1Ó2×6Ñ6Ü×Ñ §¡¨°Ð(8Ó9×=Ñ=ò>ð	
ð>ð �G‰G×!Ñ! 6¨6Ð"2Ó3×7Ñ7Ü×Ñ §¡¨&°&Ð)9Ó:×>Ñ>ò?ð	
ñ?r   c                 ó  — t        j                  | j                  d¬«      }t        |t	        | j                  «      «      sJ ‚|j
                  i k(  sJ ‚|j                  i j                  | j                  j                  «       i «      k(  sJ ‚|j                  i j                  | j                  j                  «       i «      k(  sJ ‚t        j                  | j                  «      }t        |t	        | j                  «      «      sJ ‚|j
                  | j                  j
                  k(  sJ ‚|j                  | j                  j                  k(  sJ ‚|j                  i j                  | j                  j                  «       i «      k(  sJ ‚y )NF)Ú	with_data)
r   Úcreate_empty_copyr   r   r$   ÚgraphÚ_nodeÚfromkeysr2   Ú_adj©r/   r   s     r   Útest_create_empty_copyz#TestFunction.test_create_empty_copyÜ   s  € Ü× Ñ  §¡°5Ô9ˆÜ˜1œd 4§6¡6›lÔ+Ð+Ð+Ø�w‰w˜"Š}Ðˆ}Ø�w‰w˜"Ÿ+™+ d§f¡f§l¡l£n°bÓ9Ò9Ð9Ð9Ø�v‰v˜Ÿ™ T§V¡V§\¡\£^°RÓ8Ò8Ð8Ð8Ü× Ñ  §¡Ó(ˆÜ˜1œd 4§6¡6›lÔ+Ð+Ð+Ø�w‰w˜$Ÿ&™&Ÿ,™,Ò&Ð&Ð&Ø�w‰w˜$Ÿ&™&Ÿ,™,Ò&Ð&Ð&Ø�v‰v˜Ÿ™ T§V¡V§\¡\£^°RÓ8Ò8Ð8Ñ8r   c                 óP   — t        j                  | j                  «      g d¢k(  sJ ‚y )N)r   r   r   r   r   )r   r	   r   r.   s    r   Útest_degree_histogramz"TestFunction.test_degree_histogramè   s   € Ü×"Ñ" 4§6¡6Ó*ªoÒ=Ð=Ñ=r   c                 ó  — t        j                  | j                  «      dk(  sJ ‚t        j                  | j                  «      dk(  sJ ‚t        j                  «       }|j                  d«       t        j                  |«      dk(  sJ ‚y )Ng      à?g333333Ó?r   ç        )r   Údensityr   r)   r   Úadd_nodery   s     r   Útest_densityzTestFunction.test_densityë   sd   € Ü�z‰z˜$Ÿ&™&Ó! SÒ(Ð(Ð(Ü�z‰z˜$Ÿ'™'Ó" cÒ)Ð)Ð)Ü�H‰H‹JˆØ	�
‰
�1ŒÜ�z‰z˜!‹} Ò#Ð#Ñ#r   c                 óÜ   — t        j                  «       }|j                  dd«       t        j                  |«      dk(  sJ ‚|j                  dd«       t        j                  |«      dk(  sJ ‚y )Nr   r~   r   rT   )r   r   Úadd_edger   ry   s     r   Útest_density_selfloopz"TestFunction.test_density_selfloopò   sU   € Ü�H‰H‹JˆØ	�
‰
�1�aÔÜ�z‰z˜!‹} Ò#Ð#Ð#Ø	�
‰
�1�aÔÜ�z‰z˜!‹} Ò#Ð#Ñ#r   c                 ó  — t        j                  | j                  «      }|j                  sJ ‚t	        j
                  t         j                  |j                  d«       t	        j
                  t         j                  |j                  dg«       t	        j
                  t         j                  |j                  d«       t	        j
                  t         j                  |j                  dg«       t	        j
                  t         j                  |j                  dd«       t	        j
                  t         j                  |j                  dg«       t	        j
                  t         j                  |j                  dd«       t	        j
                  t         j                  |j                  dg«       t	        j
                  t         j                  |j                  «       t	        j
                  t         j                  |j                   «       y )Nr   r   r"   )r   Úfreezer   ÚfrozenÚpytestÚraisesÚNetworkXErrorr€   Úadd_nodes_fromÚremove_nodeÚremove_nodes_fromrƒ   Úadd_edges_fromÚremove_edgeÚremove_edges_fromÚclear_edgesÚclearry   s     r   Útest_freezezTestFunction.test_freezeù   s3  € Ü�I‰I�d—f‘fÓˆØ�xŠxˆˆxÜ�‰”b×&Ñ&¨¯
©
°AÔ6Ü�‰”b×&Ñ&¨×(8Ñ(8¸1¸#Ô>Ü�‰”b×&Ñ&¨¯©°qÔ9Ü�‰”b×&Ñ&¨×(;Ñ(;¸a¸SÔAÜ�‰”b×&Ñ&¨¯
©
°A°qÔ9Ü�‰”b×&Ñ&¨×(8Ñ(8¸6¸(ÔCÜ�‰”b×&Ñ&¨¯©°q¸!Ô<Ü�‰”b×&Ñ&¨×(;Ñ(;¸f¸XÔFÜ�‰”b×&Ñ&¨¯©Ô6Ü�‰”b×&Ñ&¨¯©Õ0r   c                 óü   — t        j                  | j                  «      rJ ‚t        j                  | j                  «      }|j                  t        j                  | j                  «      k(  sJ ‚|j                  sJ ‚y r   )r   Ú	is_frozenr   r†   r‡   ry   s     r   Útest_is_frozenzTestFunction.test_is_frozen  sT   € Ü—<‘< §¡Ô'Ð'Ð'Ü�I‰I�d—f‘fÓˆØ�x‰xœ2Ÿ<™<¨¯©Ó/Ò/Ð/Ð/Ø�xŠxˆ‰xr   c                 ó�   — t        j                  t        j                  d«      «      }|j                  d   }d|d<   |d   dk(  sJ ‚y )Nr   r   TÚnode_attribute)r   r†   Ú
path_graphr2   )r/   r   r_   s      r   Ú6test_node_attributes_are_still_mutable_on_frozen_graphzCTestFunction.test_node_attributes_are_still_mutable_on_frozen_graph  sE   € Ü�I‰I”b—m‘m AÓ&Ó'ˆØ�w‰w�q‰zˆØ!%ˆÐÑØÐ$Ñ%¨Ò-Ð-Ñ-r   c                 ó�   — t        j                  t        j                  d«      «      }|j                  d   }d|d<   |d   dk(  sJ ‚y )Nr   r   TÚedge_attribute)r   r†   r™   r7   )r/   r   Úedges      r   Ú6test_edge_attributes_are_still_mutable_on_frozen_graphzCTestFunction.test_edge_attributes_are_still_mutable_on_frozen_graph  sE   € Ü�I‰I”b—m‘m AÓ&Ó'ˆØ�w‰w�v‰ˆØ!%ˆÐÑØÐ$Ñ%¨Ò-Ð-Ñ-r   c                 óp  — t        j                  d«      }t        j                  t	        |«      d«      }t	        t        j
                  ||d   «      «      }t        |«      t        |«      dz
  k(  sJ ‚t        j                  d«      }t        j                  t	        |«      d«      d   }t	        t        j
                  ||«      «      }|dk7  r|dk7  rt        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        j                  d«      }t	        t        j
                  |d«      «      }t        |«      dk(  sJ ‚y )Néd   r   r   éc   r   )	r   Úcomplete_graphÚrandomÚsampler$   r@   Úlenr™   Ú
star_graph©r/   ru   ÚpopÚnborsr_   s        r   Útest_neighbors_complete_graphz*TestFunction.test_neighbors_complete_graph  sù   € Ü×!Ñ! #Ó&ˆÜ�m‰mœD ›K¨Ó+ˆÜ”R—\‘\ %¨¨Q©Ó0Ó1ˆä�5‹zœS ›Z¨!™^Ò+Ð+Ð+ä—‘˜cÓ"ˆÜ�}‰}œT %›[¨!Ó,¨QÑ/ˆÜ”R—\‘\ %¨Ó.Ó/ˆà�1Š9˜ šÜ�u“: ’?Ð"�?ä�u“: ’?Ð"�?ô —‘˜bÓ!ˆÜ”R—\‘\ %¨Ó+Ó,ˆÜ�5‹z˜RÒÐÑr   c                 óÊ  — t        j                  d«      }t        j                  t	        |«      d«      }t        j
                  ||d   «      }t        |«      dk(  sJ ‚t        j                  d«      }t        j                  t	        |«      d«      d   }t        j
                  ||«      }|dk7  r|dk7  rt        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        j                  d«      }t        j
                  |d«      }t        |«      dk(  sJ ‚t        j                  «       }|j                  t        d«      «       t        j
                  |d«      }t        |«      dk(  sJ ‚y )	Nr    r   r   r¡   éa   éb   é
   é	   )r   r¢   r£   r¤   r$   Únon_neighborsr¥   r™   r¦   r   r‹   r%   r§   s        r   Útest_non_neighborszTestFunction.test_non_neighbors.  s)  € Ü×!Ñ! #Ó&ˆÜ�m‰mœD ›K¨Ó+ˆÜ× Ñ  ¨¨A©Ó/ˆä�5‹z˜QŠÐˆä—‘˜cÓ"ˆÜ�}‰}œT %›[¨!Ó,¨QÑ/ˆÜ× Ñ  ¨Ó-ˆà�1Š9˜ šÜ�u“: Ò#Ð#Ð#ä�u“: Ò#Ð#Ð#ô —‘˜bÓ!ˆÜ× Ñ  ¨Ó*ˆÜ�5‹z˜QŠÐˆô —‘“
ˆØ×ÑœU 2›YÔ'Ü× Ñ  ¨Ó*ˆÜ�5‹z˜QŠÐ‰r   c                 óv  — t        j                  d«      }t        t        j                  |«      «      }t	        |«      dk(  sJ ‚t        j
                  d«      }g d¢}t        t        j                  |«      «      }|D ]  \  }}||f|v rŒ||f|v rŒJ ‚ t        j                  d«      }g d¢}t        t        j                  |«      «      }|D ]  \  }}||f|v rŒ||f|v rŒJ ‚ t        j                  «       }|j                  g d¢«       g d¢}t        t        j                  |«      «      }|D ]  }||v rŒJ ‚ y )Nr   r   r   )r   r   ©r   r   )r"   r³   ©r   r   ©r   r   ©r   r   ©r   r   )r   )r   r   )r   r   )r   r    r"   )	r   r¢   r$   Ú	non_edgesr¥   r™   r¦   r(   rŽ   )r/   ru   ÚnedgesÚexpectedÚuÚvÚes          r   Útest_non_edgeszTestFunction.test_non_edgesI  s4  € ä×!Ñ! !Ó$ˆÜ”b—l‘l 5Ó)Ó*ˆÜ�6‹{˜aÒÐÐä—‘˜aÓ ˆÚ+ˆÜ”b—l‘l 5Ó)Ó*ˆØò 	8‰DˆAˆqØ�q�6˜VÒ#¨¨1 v°Ò'7Ð7Ð7ð	8ô —‘˜aÓ ˆÚCˆÜ”b—l‘l 5Ó)Ó*ˆØò 	8‰DˆAˆqØ�q�6˜VÒ#¨¨1 v°Ò'7Ð7Ð7ð	8ô —
‘
“ˆØ×ÑÒ5Ô6Ú+ˆÜ”b—l‘l 5Ó)Ó*ˆØò 	ˆAØ˜’;Ð�;ñ	r   c                 ó  — t        j                  «       }t        j                  |«      rJ ‚t        j                  d«      }t        j                  |«      rJ ‚t        j                  |d«      rJ ‚|j	                  d«       |j                  ddd¬«       t        j                  |«      rJ ‚t        j                  |d«      sJ ‚t        j                  «       }|j                  g d¢«       t        j                  |«      sJ ‚t        j                  |d«      sJ ‚|j                  «       }t        j                  |«      sJ ‚t        j                  |d«      sJ ‚t        j                  t         j                  t         j                  |d«       y )	Nr   rµ   r   r<   r·   )©Ú0Ú3r   ©rÁ   Ú1éûÿÿÿ)rÄ   rÁ   rÅ   ©rÁ   Ú2r   )rÄ   rÇ   r   ©rÇ   rÂ   r   ©rÄ   rÁ   r"   )r   r   Úis_weightedr™   r€   rƒ   r(   Úadd_weighted_edges_fromÚto_undirectedrˆ   r‰   rŠ   ry   s     r   Útest_is_weightedzTestFunction.test_is_weightedc  s*  € Ü�H‰H‹JˆÜ—>‘> !Ô$Ð$Ð$ä�M‰M˜!ÓˆÜ—>‘> !Ô$Ð$Ð$Ü—>‘> ! VÔ,Ð,Ð,à	�
‰
�1ŒØ	�
‰
�1�a ˆ
Ô"Ü—>‘> !Ô$Ð$Ð$Ü�~‰~˜a Ô(Ð(Ð(ä�J‰J‹LˆØ	×!Ñ!òô		
ô �~‰~˜aÔ Ð Ð Ü�~‰~˜a Ô,Ð,Ð,à�O‰OÓˆÜ�~‰~˜aÔ Ð Ð Ü�~‰~˜a Ô,Ð,Ð,ä�‰”b×&Ñ&¬¯©¸¸6ÕBr   c                 óz  — t        j                  «       }t        j                  |«      rJ ‚|j                  d«       |j	                  g d¢«       t        j                  |«      rJ ‚|j                  ddd¬«       t        j                  |d«      rJ ‚|j                  g d¢«       d|d   d	   d
<   t        j                  |«      rJ ‚t        j                  |d«      rJ ‚d|d   d   d<   t        j                  |d«      sJ ‚t        j                  |«      sJ ‚t        j                  «       }|j                  g d¢«       t        j                  |«      sJ ‚t        j                  |d«      rJ ‚t        j                  |d«      sJ ‚t        j                  t         j                  t         j                  |d«       y )Nr   )r   r   r   r   r   r   r<   r"   )r³   r¶   )r   é   Úbluer   Úcolorr³   éþÿÿÿr;   r¶   )rÀ   rÃ   )rÄ   rÁ   rÒ   rÆ   )rÄ   rÇ   éýÿÿÿrÈ   )rÁ   rÂ   rÉ   r´   )r   r   Úis_negatively_weightedr€   r‹   rƒ   rŽ   r(   rË   rˆ   r‰   rŠ   ry   s     r   Útest_is_negatively_weightedz(TestFunction.test_is_negatively_weighted„  s{  € Ü�H‰H‹JˆÜ×,Ñ,¨QÔ/Ð/Ð/à	�
‰
�1ŒØ	×ÑšÔ&Ü×,Ñ,¨QÔ/Ð/Ð/à	�
‰
�1�a ˆ
Ô"Ü×,Ñ,¨Q°Ô7Ð7Ð7à	×ÑÒ1Ô2Ø!ˆˆ!‰ˆQ‰�ÑÜ×,Ñ,¨QÔ/Ð/Ð/Ü×,Ñ,¨Q°Ô7Ð7Ð7àˆˆ!‰ˆQ‰�ÑÜ×(Ñ(¨¨FÔ3Ð3Ð3Ü×(Ñ(¨Ô+Ð+Ð+ä�J‰J‹LˆØ	×!Ñ!òô		
ô ×(Ñ(¨Ô+Ð+Ð+Ü×,Ñ,¨Q°
Ô;Ð;Ð;Ü×(Ñ(¨¨JÔ7Ð7Ð7ä�‰”b×&Ñ&¬×(AÑ(AÀ1ÀfÕMr   N)Ú__name__Ú
__module__Ú__qualname__r0   r3   r9   r>   rA   rD   rH   rK   r[   rb   rg   rn   rq   rz   r|   r�   r„   r“   r–   rš   rž   rª   r±   r¾   rÍ   rÕ   © r   r   r   r      s�   „ ò	HòEò
ò
ò LòHòHò@ò2ò82,òh$2òL7ò(
ò
9ò>ò$ò$ò1òò.ò.ò ò*ò6ò4CóB#Nr   r   c                   óF   — e Zd Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zy	)
ÚTestCommonNeighborsc                 ól   ‡ — t        t        j                  «      ‰ _        ˆ fd„}t        |«      ‰ _        y )Nc                 óL   •— t        ‰j                  | ||«      «      }||k(  sJ ‚y r   )r8   Úfunc)r   r»   r¼   rº   ÚresultÚclss        €r   Ú	test_funcz2TestCommonNeighbors.setup_class.<locals>.test_func¯  s(   ø€ Ü˜CŸH™H Q¨¨1Ó-Ó.ˆFØ˜XÒ%Ð%Ñ%r   )Ústaticmethodr   Úcommon_neighborsrÞ   Útest)rà   rá   s   ` r   Úsetup_classzTestCommonNeighbors.setup_class«  s(   ø€ ä¤× 3Ñ 3Ó4ˆŒô	&ô   	Ó*ˆ�r   c                 óZ   — t        j                  d«      }| j                  |ddg d¢«       y )Nr   r   r   )r   r   r   ©r   r¢   rä   ry   s     r   Útest_K5zTestCommonNeighbors.test_K5µ  s$   € Ü×Ñ˜aÓ ˆØ�	‰	�!�Q˜š9Õ%r   c                 óX   — t        j                  d«      }| j                  |dddg«       y )Nr   r   r   r   )r   r™   rä   ry   s     r   Útest_P3zTestCommonNeighbors.test_P3¹  ó$   € Ü�M‰M˜!ÓˆØ�	‰	�!�Q˜˜A˜3Õr   c                 óX   — t        j                  d«      }| j                  |dddg«       y )Nr   r   r   r   )r   r¦   rä   ry   s     r   Útest_S4zTestCommonNeighbors.test_S4½  rë   r   c                 óè   — t        j                  t        j                  «      5  t        j                  «       }|j                  ddg«       | j                  |dd«       d d d «       y # 1 sw Y   y xY w)Nr   r"   r   r   )rˆ   r‰   r   ÚNetworkXNotImplementedr(   rŽ   rÞ   ry   s     r   Útest_digraphz TestCommonNeighbors.test_digraphÁ  sW   € Ü�]‰]œ2×4Ñ4Ó5ñ 	Ü—
‘
“ˆAØ×Ñ˜f fÐ-Ô.Ø�I‰I�a˜˜AÔ÷	÷ 	ñ 	ús   ¤;A(Á(A1c                 ól  — t        j                  d«      }t        j                  t         j                  t         j
                  |dd«       t        j                  t         j                  t         j
                  |dd«       t        j                  t         j                  t         j
                  |dd«       y )Nr   r   rÏ   )r   r¢   rˆ   r‰   rŠ   rã   ry   s     r   Útest_nonexistent_nodesz*TestCommonNeighbors.test_nonexistent_nodesÇ  sr   € Ü×Ñ˜aÓ ˆÜ�‰”b×&Ñ&¬×(;Ñ(;¸QÀÀ1ÔEÜ�‰”b×&Ñ&¬×(;Ñ(;¸QÀÀ1ÔEÜ�‰”b×&Ñ&¬×(;Ñ(;¸QÀÀ1ÕEr   c                 óz   — t        j                  «       }|j                  ddg«       | j                  |ddg «       y)zCase of no common neighbors.r   r   N)r   r   r‹   rä   ry   s     r   Útest_custom1z TestCommonNeighbors.test_custom1Í  s1   € ä�H‰H‹JˆØ	×Ñ˜!˜Q˜Ô Ø�	‰	�!�Q˜˜2Õr   c                 óZ   — t        j                  d«      }| j                  |ddg d¢«       y)zCase of equal nodes.r   r   r   Nrç   ry   s     r   Útest_custom2z TestCommonNeighbors.test_custom2Ó  s$   € ä×Ñ˜aÓ ˆØ�	‰	�!�Q˜š9Õ%r   N)rÖ   r×   rØ   Úclassmethodrå   rè   rê   rí   rð   rò   rô   rö   rÙ   r   r   rÛ   rÛ   ª  s8   „ Øñ+ó ð+ò&ò ò òòFòó&r   rÛ   Ú
graph_typec           
      óª  — t        j                  d| ¬«      }d}d}t        j                  |||«       |j                  d   |   |k(  sJ ‚|j                  d   |   |k(  sJ ‚|j                  d   |   |k(  sJ ‚t        j                  d| ¬«      }t	        t        t        |j                  «       «      t        t        |«      «      «      «      }d}t        j                  |||«       |j                  d   |   dk(  sJ ‚|j                  d   |   dk(  sJ ‚|j                  d   |   dk(  sJ ‚t        j                  d| ¬«      }dd	d
œ}t        j                  |j                  «       |«      }|j                  d«       t        j                  ||«       |j                  d   i k(  sJ ‚|j                  d   d   dk(  sJ ‚|j                  d   d   d	k(  sJ ‚y )Nr   ©Úcreate_usingr    Úhellor   r   r   ÚhiéÈ   ©rý   rü   )r   r™   Úset_node_attributesr2   ÚdictÚzipr8   r%   r¥   rw   r¨   )rø   r   ÚvalsÚattrÚds        r   Útest_set_node_attributesr  Ù  s¸  € ô
 	�‰�a jÔ1€AØ€DØ€DÜ×Ñ˜1˜d DÔ)Ø�7‰7�1‰:�dÑ˜tÒ#Ð#Ð#Ø�7‰7�1‰:�dÑ˜tÒ#Ð#Ð#Ø�7‰7�1‰:�dÑ˜tÒ#Ð#Ð#ô 	�‰�a jÔ1€AÜ””F˜1Ÿ7™7›9Ó%¤u¬S°«V£}Ó5Ó6€DØ€DÜ×Ñ˜1˜d DÔ)Ø�7‰7�1‰:�dÑ˜qÒ Ð Ð Ø�7‰7�1‰:�dÑ˜qÒ Ð Ð Ø�7‰7�1‰:�dÑ˜qÒ Ð Ð ô 	�‰�a jÔ1€AØ˜3Ñ€AÜ�=‰=˜Ÿ™› AÓ&€DØ‡H�HˆQ„KÜ×Ñ˜1˜dÔ#Ø�7‰7�1‰:˜ÒÐÐØ�7‰7�1‰:�dÑ˜qÒ Ð Ð Ø�7‰7�1‰:�gÑ #Ò%Ð%Ñ%r   )Úvaluesr   ÚredrÐ   r   rÑ   c                 óÊ   — t        j                  «       }|j                  d«       t        j                  || |«       |j                  d   d   dk(  sJ ‚d|j                  vsJ ‚y)z…
    When `values` is a dict or dict-of-dict keyed by nodes, ensure that keys
    that correspond to nodes not in G are ignored.
    r   rÑ   r  r   N)r   r   r€   r   r2   ©r  r   r   s      r   Ú,test_set_node_attributes_ignores_extra_nodesr  ú  sY   € ô 	�‰‹
€AØ‡J�Jˆq„MÜ×Ñ˜1˜f dÔ+Ø�7‰7�1‰:�gÑ %Ò'Ð'Ð'Ø�A—G‘GÑÐÑr   c           
      óŽ  — t        j                  d| ¬«      }d}d}t        j                  |||«       |d   d   |   |k(  sJ ‚|d   d   |   |k(  sJ ‚t        j                  d| ¬«      }d}dd	g}t        t	        |t        t        |«      «      «      «      }t        j                  |||«       |d   d   |   dk(  sJ ‚|d   d   |   dk(  sJ ‚t        j                  d| ¬«      }dd
dœ}dg}t        j                  ||«      }t        j                  ||«       |d   d   d   dk(  sJ ‚|d   d   d   d
k(  sJ ‚|d   d   i k(  sJ ‚y )Nr   rú   rü   r   r   r   rý   r   r"   rþ   rÿ   ©r   r™   Úset_edge_attributesr  r  r%   r¥   rw   ©rø   r   r  r  r7   r  s         r   Útest_set_edge_attributesr    sq  € ô 	�‰�a jÔ1€AØ€DØ€DÜ×Ñ˜1˜d DÔ)ØˆQ‰4�‰7�4‰=˜DÒ Ð Ð ØˆQ‰4�‰7�4‰=˜DÒ Ð Ð ô 	�‰�a jÔ1€AØ€DØ�VÐ€EÜ”�Eœ5¤ U£Ó,Ó-Ó.€DÜ×Ñ˜1˜d DÔ)ØˆQ‰4�‰7�4‰=˜AÒÐÐØˆQ‰4�‰7�4‰=˜AÒÐÐô 	�‰�a jÔ1€AØ˜3Ñ€AØˆH€EÜ�=‰=˜ Ó"€DÜ×Ñ˜1˜dÔ#ØˆQ‰4�‰7�4‰=˜AÒÐÐØˆQ‰4�‰7�7Ñ˜sÒ"Ð"Ð"ØˆQ‰4�‰7�bŠ=Ð‰=r   rd   rT   )r   r   r;   c                 óž   — t        j                  dg«      }t        j                  || |«       |d   d   d   dk(  sJ ‚d|j                  vsJ ‚y)ú†If `values` is a dict or dict-of-dicts containing edges that are not in
    G, data associate with these edges should be ignored.
    r   r   r   r;   rd   r   N)r   r   r  r7   r
  s      r   Ú,test_set_edge_attributes_ignores_extra_edgesr  +  sS   € ô 	�‰�&�Ó€AÜ×Ñ˜1˜f dÔ+ØˆQ‰4�‰7�8Ñ Ò#Ð#Ð#Ø˜Ÿ™Ñ Ð Ñ r   c           
      ó¸  — t        j                  d| ¬«      }d}d}t        j                  |||«       |d   d   d   |   |k(  sJ ‚|d   d   d   |   |k(  sJ ‚t        j                  d| ¬«      }d}dd	g}t        t	        |t        t        |«      «      «      «      }t        j                  |||«       |d   d   d   |   dk(  sJ ‚|d   d   d   |   dk(  sJ ‚t        j                  d| ¬«      }dd
dœ}dg}t        j                  ||«      }t        j                  ||«       |d   d   d   d   dk(  sJ ‚|d   d   d   d   d
k(  sJ ‚|d   d   d   i k(  sJ ‚y )Nr   rú   rü   r   r   r   rý   ©r   r   r   r   rþ   rÿ   r  r  s         r   Útest_set_edge_attributes_multir  <  s”  € ô 	�‰�a jÔ1€AØ€DØ€DÜ×Ñ˜1˜d DÔ)ØˆQ‰4�‰7�1‰:�dÑ˜tÒ#Ð#Ð#ØˆQ‰4�‰7�1‰:�dÑ˜tÒ#Ð#Ð#ô 	�‰�a jÔ1€AØ€DØ˜	Ð"€EÜ”�Eœ5¤ U£Ó,Ó-Ó.€DÜ×Ñ˜1˜d DÔ)ØˆQ‰4�‰7�1‰:�dÑ˜qÒ Ð Ð ØˆQ‰4�‰7�1‰:�dÑ˜qÒ Ð Ð ô 	�‰�a jÔ1€AØ˜3Ñ€AØˆK€EÜ�=‰=˜ Ó"€DÜ×Ñ˜1˜dÔ#ØˆQ‰4�‰7�1‰:�dÑ˜qÒ Ð Ð ØˆQ‰4�‰7�1‰:�gÑ #Ò%Ð%Ð%ØˆQ‰4�‰7�1‰:˜ÒÐÑr   )r  ©r   r   r   c                 óÎ   — t        j                  ddg«      }t        j                  || |«       |d   d   d   d   dk(  sJ ‚|d   d   d   i k(  sJ ‚d|j                  «       vsJ ‚y)	r  r  ©r   r   r   r   r   r;   rd   r   N)r   Ú
MultiGraphr  r7   r
  s      r   Ú2test_set_edge_attributes_multi_ignores_extra_edgesr  Z  sv   € ô 	�‰�y )Ð,Ó-€AÜ×Ñ˜1˜f dÔ+ØˆQ‰4�‰7�1‰:�hÑ 3Ò&Ð&Ð&ØˆQ‰4�‰7�1‰:˜ÒÐÐØ˜Ÿ™›Ñ"Ð"Ñ"r   c                  óä  — t        j                  «       t        j                  «       t        j                  «       t        j                  «       g} | D ]�  }t        j
                  d|¬«      }d}d}t        j                  |||«       t        j                  ||«      }|d   |k(  sJ ‚|d   |k(  sJ ‚|d   |k(  sJ ‚d}|j                  d«       t        j                  |||¬	«      }|d   |k(  rŒ�J ‚ y )
Nr   rú   rü   r    r   r   r   r   ©Údefault)	r   r   r(   r  ÚMultiDiGraphr™   r   Úget_node_attributesr€   )Úgraphsr   r  r  ÚattrsÚdefault_vals         r   Útest_get_node_attributesr$  l  sâ   € Ü�h‰h‹jœ"Ÿ*™*›,¬¯©«¼¿¹Ó9JÐK€FØò 'ˆÜ�M‰M˜!¨!Ô,ˆØˆØˆÜ
×Ñ˜q $¨Ô-Ü×&Ñ& q¨$Ó/ˆØ�Q‰x˜4ÒÐÐØ�Q‰x˜4ÒÐÐØ�Q‰x˜4ÒÐÐØˆØ	�
‰
�1ŒÜ×&Ñ& q¨$¸ÔDˆØ�Q‰x˜;Ó&Ð&Ð&ñ'r   c                  óB  — t        j                  «       t        j                  «       t        j                  «       t        j                  «       g} | D ]Ì  }t        j
                  d|¬«      }d}d}t        j                  |||«       t        j                  ||«      }t        |«      dk(  sJ ‚|j                  D ]  }||   |k(  rŒJ ‚ |}|j                  dd«       t        j                  |||¬«      }t        |«      dk(  sJ ‚|j                  D ]  }||   |k(  rŒJ ‚ ŒÎ y )	Nr   rú   rü   r    r   r   r   r  )r   r   r(   r  r  r™   r  Úget_edge_attributesr¥   r7   rƒ   )r!  r   r  r  r"  r�   r#  Údeafult_attrss           r   Útest_get_edge_attributesr(  }  s  € Ü�h‰h‹jœ"Ÿ*™*›,¬¯©«¼¿¹Ó9JÐK€FØò /ˆÜ�M‰M˜!¨!Ô,ˆØˆØˆÜ
×Ñ˜q $¨Ô-Ü×&Ñ& q¨$Ó/ˆÜ�5‹z˜QŠÐˆà—G‘Gò 	'ˆDØ˜‘; $Ó&Ð&Ð&ð	'ð ˆØ	�
‰
�1�aÔÜ×.Ñ.¨q°$ÀÔLˆÜ�=Ó! QÒ&Ð&Ð&à—G‘Gò 	/ˆDØ  Ñ&¨$Ó.Ð.Ð.ñ	/ñ!/r   c                 óT
  — t        j                  d| ¬«      }d}d}t        j                  |||«       t        j                  ||«       ||j                  d   vsJ ‚||j                  d   vsJ ‚||j                  d   vsJ ‚t        j                  d| ¬«      }d}d	}t        j                  |||«       t        j                  |||«       t        j                  ||«       ||j                  d   vsJ ‚|j                  d   |   |k(  sJ ‚||j                  d   vsJ ‚|j                  d   |   |k(  sJ ‚||j                  d   vsJ ‚|j                  d   |   |k(  sJ ‚t        j                  d| ¬«      }t        j                  |||«       t        j                  |||«       t        j                  |||«       ||j                  d   vr||j                  d   vsJ ‚||j                  d   vr||j                  d   vsJ ‚||j                  d   vr||j                  d   vsJ ‚t        j                  d| ¬«      }d
}d}t        j                  ||j	                  «       D �ci c]  }|||||||i“Œ c}«       t        j                  |||«       ||j                  d   vr||j                  d   vsJ ‚||j                  d   vr||j                  d   vsJ ‚||j                  d   vr||j                  d   vsJ ‚|j                  d   |   |k(  sJ ‚|j                  d   |   |k(  sJ ‚|j                  d   |   |k(  sJ ‚t        j                  d| ¬«      }t        j                  |||||i||||idœ«       t        j                  ||«       ||j                  d   vsJ ‚||j                  d   vsJ ‚||j                  d   vsJ ‚|j                  d   |   |k(  sJ ‚|j                  d   |   |k(  sJ ‚t        j                  d| ¬«      }t        j                  ||j	                  «       D �ci c]  }|||||||i“Œ c}«       t        j                  |||ddg¬«       ||j                  d   vr||j                  d   vsJ ‚||j                  d   vr||j                  d   vsJ ‚||j                  d   v r||j                  d   v sJ ‚||j                  d   v r|j                  d   |   |k(  sJ ‚||j                  d   v r|j                  d   |   |k(  sJ ‚y c c}w c c}w )Nr   rú   r    rü   r   r   r   rþ   Úotheré,  Úthreer"   r5   )r   r™   r   Úremove_node_attributesr2   )	rø   r   r  r  Ú
other_valsÚ
other_attrÚ
third_valsÚ
third_attrÚns	            r   Útest_remove_node_attributesr3  “  sV  € ô
 	�‰�a jÔ1€AØ€DØ€DÜ×Ñ˜1˜d DÔ)Ü×Ñ˜a Ô&Ø�q—w‘w˜q‘zÑ!Ð!Ð!Ø�q—w‘w˜q‘zÑ!Ð!Ð!Ø�q—w‘w˜q‘zÑ!Ð!Ð!ô 	�‰�a jÔ1€AØ€JØ€JÜ×Ñ˜1˜d DÔ)Ü×Ñ˜1˜j¨*Ô5Ü×Ñ˜a Ô&Ø�q—w‘w˜q‘zÑ!Ð!Ð!Ø�7‰7�1‰:�jÑ! ZÒ/Ð/Ð/Ø�q—w‘w˜q‘zÑ!Ð!Ð!Ø�7‰7�1‰:�jÑ! ZÒ/Ð/Ð/Ø�q—w‘w˜q‘zÑ!Ð!Ð!Ø�7‰7�1‰:�jÑ! ZÒ/Ð/Ð/ô 	�‰�a jÔ1€AÜ×Ñ˜1˜d DÔ)Ü×Ñ˜1˜j¨*Ô5Ü×Ñ˜a  zÔ2Ø�q—w‘w˜q‘zÑ! j¸¿¹À¹
Ñ&BÐBÐBØ�q—w‘w˜q‘zÑ! j¸¿¹À¹
Ñ&BÐBÐBØ�q—w‘w˜q‘zÑ! j¸¿¹À¹
Ñ&BÐBÐBô 	�‰�a jÔ1€AØ€JØ€JÜ×ÑØ	ð —W‘W“Yö	
àð ��d˜J¨
°JÀ
ÐKÑKò	
ôô ×Ñ˜a ¨ZÔ8Ø˜QŸW™W Q™ZÑ'¨J¸a¿g¹gÀa¹jÑ,HÐHÐHØ˜QŸW™W Q™ZÑ'¨J¸a¿g¹gÀa¹jÑ,HÐHÐHØ˜QŸW™W Q™ZÑ'¨J¸a¿g¹gÀa¹jÑ,HÐHÐHØ�7‰7�1‰:�dÑ˜tÒ#Ð#Ð#Ø�7‰7�1‰:�dÑ˜tÒ#Ð#Ð#Ø�7‰7�1‰:�dÑ˜tÒ#Ð#Ð#ô 	�‰�a jÔ1€AÜ×ÑØ	à�d˜J¨
Ð3Ø�d˜J¨
Ð3ñ	
ôô ×Ñ˜a Ô&Ø�q—w‘w˜q‘zÑ!Ð!Ð!Ø�q—w‘w˜q‘zÑ!Ð!Ð!Ø�q—w‘w˜q‘zÑ!Ð!Ð!Ø�7‰7�1‰:�jÑ! ZÒ/Ð/Ð/Ø�7‰7�1‰:�jÑ! ZÒ/Ð/Ð/ô 	�‰�a jÔ1€AÜ×ÑØ	ð —W‘W“Yö	
àð ��d˜J¨
°JÀ
ÐKÑKò	
ôô ×Ñ˜a  z¸1¸a¸&ÕAØ�q—w‘w˜q‘zÑ! j¸¿¹À¹
Ñ&BÐBÐBØ�q—w‘w˜q‘zÑ! j¸¿¹À¹
Ñ&BÐBÐBØ�1—7‘7˜1‘:Ñ *°·±¸±
Ñ":Ð:Ð:Ø˜Ÿ™ ™Ñ#¨¯©°©
°:Ñ(>À*Ò(LÐLÐLØ˜Ÿ™ ™Ñ#¨¯©°©
°:Ñ(>À*Ò(LÐLÐLÐ(LùòW	
ùòB	
s   É$T 
Ð1T%
c                 óÆ  — t        j                  d| ¬«      }d}d}t        j                  |||«       t        j                  ||«       t	        t        j
                  ||«      «      dk(  sJ ‚t        j                  d| ¬«      }d}d}t        j                  |||«       t        j                  |||«       t        j                  ||«       ||d   d   vsJ ‚||d   d	   vsJ ‚|d   d   |   dk(  sJ ‚|d   d	   |   dk(  sJ ‚t        j                  d| ¬«      }t        j                  |||«       t        j                  |||«       t        j                  |||«       ||d   d   vr
||d   d   vsJ ‚||d   d	   vr
||d   d	   vsJ ‚t        j                  d| ¬«      }d
}d}t        j                  ||j                  «       D ��	ci c]  \  }}	||	f||||||i“Œ c}	}«       t        j                  |||«       ||d   d   vr
||d   d   vsJ ‚||d   d	   vr
||d   d	   vsJ ‚|d   d   |   |k(  sJ ‚|d   d	   |   |k(  sJ ‚t        j                  d| ¬«      }t        j                  |d||||ii«       t        j                  ||«       ||d   d   vr|d   d   |   |k(  sJ ‚||d   d	   vsJ ‚t        j                  d| ¬«      }t        j                  ||j                  «       D ��	ci c]  \  }}	||	f||||||i“Œ c}	}«       t        j                  |||dg¬«       ||d   d   vr
||d   d   vsJ ‚||d   d	   v r
||d   d	   v sJ ‚y c c}	}w c c}	}w )Nr   rú   rü   r    r   r*  rþ   r   r   Úthirdr+  r   ©Úebunch)r   r™   r  Úremove_edge_attributesr¥   r&  r7   )
rø   r   r  r  r/  r.  r1  r0  r»   r¼   s
             r   Útest_remove_edge_attributesr9  ì  sä  € ô 	�‰�a jÔ1€AØ€DØ€DÜ×Ñ˜1˜d DÔ)Ü×Ñ˜a Ô&ÜŒr×%Ñ% a¨Ó.Ó/°1Ò4Ð4Ð4ô 	�‰�a jÔ1€AØ€JØ€JÜ×Ñ˜1˜d DÔ)Ü×Ñ˜1˜j¨*Ô5Ü×Ñ˜a Ô&à�q˜‘t˜A‘wÑÐÐØ�q˜‘t˜A‘wÑÐÐØˆQ‰4�‰7�:Ñ #Ò%Ð%Ð%ØˆQ‰4�‰7�:Ñ #Ò%Ð%Ð%ô 	�‰�a jÔ1€AÜ×Ñ˜1˜d DÔ)Ü×Ñ˜1˜j¨*Ô5Ü×Ñ˜a  zÔ2Ø�q˜‘t˜A‘wÑ :°Q°q±T¸!±WÑ#<Ð<Ð<Ø�q˜‘t˜A‘wÑ :°Q°q±T¸!±WÑ#<Ð<Ð<ô 	�‰�a jÔ1€AØ€JØ€JÜ×ÑØ	ð Ÿ™›	÷	
á��1ð �ˆF�T˜4 ¨Z¸ÀZÐPÑPó	
ôô ×Ñ˜a ¨ZÔ8Ø˜Q˜q™T !™WÑ$¨¸1¸Q¹4À¹7Ñ)BÐBÐBØ˜Q˜q™T !™WÑ$¨¸1¸Q¹4À¹7Ñ)BÐBÐBØˆQ‰4�‰7�4‰=˜DÒ Ð Ð ØˆQ‰4�‰7�4‰=˜DÒ Ð Ð ô 	�‰�a jÔ1€AÜ×Ñ˜1˜v¨¨d°JÀ
Ð'KÐLÔMÜ×Ñ˜a Ô,Ø˜Q˜q™T !™WÑ$¨¨1©¨a©°©¸$Ò)>Ð>Ð>Ø˜Q˜q™T !™WÑ$Ð$Ð$ô 	�‰�a jÔ1€AÜ×ÑØ	ð Ÿ™›	÷	
á��1ð �ˆF�T˜4 ¨Z¸ÀZÐPÑPó	
ôô ×Ñ˜a ¨ZÀÀÕIØ˜Q˜q™T !™WÑ$¨¸1¸Q¹4À¹7Ñ)BÐBÐBØ˜˜1™˜a™Ñ  Z°1°Q±4¸±7Ñ%:Ð:Ð:Ð%:ùó;	
ùó,	
s   Ç
MË3Mc                 ó6	  — t        j                  d| ¬«      }|j                  dd«       d}d}t        j                  |||«       t        j                  ||«       ||d   d   d   vsJ ‚||d   d   d   vsJ ‚||d   d   d   vsJ ‚t        j                  d| ¬«      }|j                  dd«       d}d	}t        j                  |||«       t        j                  |||«       t        j                  ||«       ||d   d   d   vsJ ‚||d   d   d   vsJ ‚||d   d   d   vsJ ‚|d   d   d   |   |k(  sJ ‚|d   d   d   |   |k(  sJ ‚|d   d   d   |   |k(  sJ ‚t        j                  d| ¬«      }|j                  dd«       t        j                  |||«       t        j                  |||«       t        j                  |||«       ||d   d   d   vr||d   d   d   vsJ ‚||d   d   d   vr||d   d   d   vsJ ‚||d   d   d   vr||d   d   d   vsJ ‚t        j                  d| ¬«      }|j                  dd«       d
}d}t        j                  ||j                  d¬«      D ��	�
ci c]  \  }}	}
||	|
f||||||i“Œ c}
}	}«       t        j                  |||«       ||d   d   d   vr||d   d   d   vsJ ‚||d   d   d   vr||d   d   d   vsJ ‚||d   d   d   vr||d   d   d   vsJ ‚|d   d   d   |   |k(  sJ ‚|d   d   d   |   |k(  sJ ‚|d   d   d   |   |k(  sJ ‚t        j                  d| ¬«      }|j                  dd«       t        j                  |||||i||||idœ«       t        j                  ||«       ||d   d   d   vr|d   d   d   |   |k(  sJ ‚||d   d   d   vsJ ‚||d   d   d   vsJ ‚t        j                  d| ¬«      }|j                  dd«       t        j                  |||||i||||i||||idœ«       t        j                  ||ddg¬«       ||d   d   d   vr||d   d   d   v sJ ‚||d   d   d   vr||d   d   d   v sJ ‚||d   d   d   v r||d   d   d   v sJ ‚y c c}
}	}w )Nr   rú   r   r   rü   r    r   r*  rþ   r5  r+  T©Úkeys)r  ©r   r   r   )r  r   r=  r  r   r6  )r   r™   rƒ   r  r8  r7   )rø   r   r  r  r/  r.  r1  r0  r»   r¼   Úks              r   Ú!test_remove_multi_edge_attributesr?  1  sÄ  € ô 	�‰�a jÔ1€AØ‡J�Jˆq�!ÔØ€DØ€DÜ×Ñ˜1˜d DÔ)Ü×Ñ˜a Ô&Ø�q˜‘t˜A‘w˜q‘zÑ!Ð!Ð!Ø�q˜‘t˜A‘w˜q‘zÑ!Ð!Ð!Ø�q˜‘t˜A‘w˜q‘zÑ!Ð!Ð!ô 	�‰�a jÔ1€AØ‡J�Jˆq�!ÔØ€JØ€JÜ×Ñ˜1˜d DÔ)Ü×Ñ˜1˜j¨*Ô5Ü×Ñ˜a Ô&Ø�q˜‘t˜A‘w˜q‘zÑ!Ð!Ð!Ø�q˜‘t˜A‘w˜q‘zÑ!Ð!Ð!Ø�q˜‘t˜A‘w˜q‘zÑ!Ð!Ð!ØˆQ‰4�‰7�1‰:�jÑ! ZÒ/Ð/Ð/ØˆQ‰4�‰7�1‰:�jÑ! ZÒ/Ð/Ð/ØˆQ‰4�‰7�1‰:�jÑ! ZÒ/Ð/Ð/ô 	�‰�a jÔ1€AØ‡J�Jˆq�!ÔÜ×Ñ˜1˜d DÔ)Ü×Ñ˜1˜j¨*Ô5Ü×Ñ˜a  zÔ2Ø�q˜‘t˜A‘w˜q‘zÑ! j¸¸!¹¸Q¹À¹
Ñ&BÐBÐBØ�q˜‘t˜A‘w˜q‘zÑ! j¸¸!¹¸Q¹À¹
Ñ&BÐBÐBØ�q˜‘t˜A‘w˜q‘zÑ! j¸¸!¹¸Q¹À¹
Ñ&BÐBÐBô 	�‰�a jÔ1€AØ‡J�Jˆq�!ÔØ€JØ€JÜ×ÑØ	ð Ÿ7™7¨˜7Ó-÷	
ð 	
á��1�að ��1ˆI˜˜d J°
¸JÈ
ÐSÑSô	
ôô ×Ñ˜a ¨ZÔ8Ø˜Q˜q™T !™W Q™ZÑ'¨J¸aÀ¹dÀ1¹gÀa¹jÑ,HÐHÐHØ˜Q˜q™T !™W Q™ZÑ'¨J¸aÀ¹dÀ1¹gÀa¹jÑ,HÐHÐHØ˜Q˜q™T !™W Q™ZÑ'¨J¸aÀ¹dÀ1¹gÀa¹jÑ,HÐHÐHØˆQ‰4�‰7�1‰:�dÑ˜tÒ#Ð#Ð#ØˆQ‰4�‰7�1‰:�dÑ˜tÒ#Ð#Ð#ØˆQ‰4�‰7�1‰:�dÑ˜tÒ#Ð#Ð#ô 	�‰�a jÔ1€AØ‡J�Jˆq�!ÔÜ×ÑØ	à˜d J°
Ð;Ø˜d J°
Ð;ñ	
ôô ×Ñ˜a Ô,Ø˜Q˜q™T !™W Q™ZÑ'¨A¨a©D°©G°A©J°tÑ,<ÀÒ,DÐDÐDØ˜Q˜q™T !™W Q™ZÑ'Ð'Ð'Ø˜Q˜q™T !™W Q™ZÑ'Ð'Ð'ô 	�‰�a jÔ1€AØ‡J�Jˆq�!ÔÜ×ÑØ	à˜d J°
Ð;Ø˜d J°
Ð;Ø˜d J°
Ð;ñ	
ôô ×Ñ˜a ¨y¸)Ð.DÕEØ�q˜‘t˜A‘w˜q‘zÑ! j°A°a±D¸±G¸A±JÑ&>Ð>Ð>Ø�q˜‘t˜A‘w˜q‘zÑ! j°A°a±D¸±G¸A±JÑ&>Ð>Ð>Ø�1�Q‘4˜‘7˜1‘:Ñ *°°!±°Q±¸±
Ñ":Ð:Ð:Ð":ùôU	
s   É4Rc                  ó’  — t        j                  «       t        j                  «       t        j                  «       t        j                  «       g} | D ]t  }t        j
                  |«      sJ ‚|j                  t        d«      «       t        j
                  |«      sJ ‚|j                  ddg«       t        j
                  |«      sŒtJ ‚ y )Nr   r"   r·   )	r   r   r(   r  r  Úis_emptyr‹   r%   rŽ   )r!  r   s     r   Útest_is_emptyrB  ‹  sŽ   € Ü�h‰h‹jœ"Ÿ*™*›,¬¯©«¼¿¹Ó9JÐK€FØò "ˆÜ�{‰{˜1Œ~Ðˆ~Ø	×Ñœ˜q›Ô"Ü�{‰{˜1Œ~Ðˆ~Ø	×Ñ˜& &Ð)Ô*Ü—;‘;˜q•>Ð!Ð!ñ"r   c                 ó`  — t        j                  d| ¬«      }|j                  dd«       t        t        j                  |«      dg«      sJ ‚t        t        j                  |«      dg«      sJ ‚t        t        j                  |d¬«      ddi fg«      sJ ‚t        j                  |«      dk(  sJ ‚y )Nr   rú   r   ©r   r   TrU   r   )r   r¢   rƒ   r   Únodes_with_selfloopsr   Úselfloop_edgesÚnumber_of_selfloops©rø   r   s     r   Útest_selfloopsrI  •  sœ   € ô 	×Ñ˜!¨*Ô5€AØ‡J�Jˆq�!ÔÜ”r×.Ñ.¨qÓ1°A°3Ô7Ð7Ð7Ü”r×(Ñ(¨Ó+¨f¨XÔ6Ð6Ð6Ü”r×(Ñ(¨°Ô6¸!¸QÀ¸¸ÔEÐEÐEÜ×!Ñ! !Ó$¨Ò)Ð)Ñ)r   c                 ó"  — t        j                  d| ¬«      }|j                  dd«       |j                  ddd¬«       t        t        j                  |d¬«      ddi fddd	difg«      sJ ‚t        t        j                  |d	¬«      d
dg«      sJ ‚y )Nr   rú   r   r   r   r<   TrU   r;   )r   r   N)r   r   r   )r   r¢   rƒ   r   rF  rH  s     r   Útest_selfloop_edges_attrrK  ¡  s”   € ô 	×Ñ˜!¨*Ô5€AØ‡J�Jˆq�!ÔØ‡J�Jˆq�!˜A€JÔÜÜ
×Ñ˜! $Ô'¨1¨a°¨*°q¸!¸hÈ¸]Ð6KÐ)Lôð ð ô ”r×(Ñ(¨°Ô:¸\È9Ð<UÔVÐVÑVr   c                  óê   — t        j                  dt         j                  ¬«      } | j                  ddd¬«       | j                  ddd¬«       t	        t        j
                  | dd¬	«      d
dg«      sJ ‚y )Nr   rú   r   r®   r<   r    r;   T©rV   r<  )r   r   r   r®   )r   r   r   r    )r   r¢   r  rƒ   r   rF  r
   s    r   Ú,test_selfloop_edges_multi_with_data_and_keysrN  ®  sg   € Ü
×Ñ˜!¬"¯-©-Ô8€AØ‡J�Jˆq�!˜B€JÔØ‡J�Jˆq�!˜C€JÔ ÜÜ
×Ñ˜! (°Ô6¸ÈÐ8Wôð ñ r   c                 ó„  — t        j                  d| ¬«      }|j                  dd«       |j                  t        j                  |d¬«      «       |j                  dd«       |j                  t        j                  |d¬«      «       |j                  dd«       |j                  t        j                  |dd¬«      «       y )Nr   rú   r   Tr;  rU   )r<  rV   )r   r¢   rƒ   r�   rF  rH  s     r   Útest_selfloops_removalrP  ·  s‘   € ä
×Ñ˜!¨*Ô5€AØ‡J�Jˆq�!ÔØ×Ñœ×)Ñ)¨!°$Ô7Ô8Ø‡J�Jˆq�!ÔØ×Ñœ×)Ñ)¨!°$Ô7Ô8Ø‡J�Jˆq�!ÔØ×Ñœ×)Ñ)¨!°$¸TÔBÕCr   c                 ó¼  — t        j                  d| ¬«      }|j                  dd«       |j                  dd«       |j                  t        j                  |«      «       d|j                  «       vsJ ‚|j                  dd«       |j                  dd«       t        j                  t        «      5  |j                  t        j                  |d¬«      «       ddd«       |j                  dd«       |j                  dd«       t        j                  t        «      5  |j                  t        j                  |d¬«      «       ddd«       |j                  dd«       |j                  dd«       t        j                  t        «      5  |j                  t        j                  |dd¬	«      «       ddd«       y# 1 sw Y   ŒãxY w# 1 sw Y   ŒƒxY w# 1 sw Y   yxY w)
z[test removing selfloops behavior vis-a-vis altering a dict while iterating.
    cf. gh-4068r   rú   r   rD  Tr;  NrU   rM  )
r   r¢   rƒ   r�   rF  r7   rˆ   r‰   ÚRuntimeErrorÚ	TypeErrorrH  s     r   Útest_selfloops_removal_multirT  Â  sw  € ô 	×Ñ˜!¨*Ô5€Aà‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔØ×Ñœ×)Ñ)¨!Ó,Ô-Ø˜Ÿ™›Ñ"Ð"Ð"à‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔÜ	�‰”|Ó	$ñ =Ø	×ÑœB×-Ñ-¨a°dÔ;Ô<÷=ð ‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔÜ	�‰”yÓ	!ñ =Ø	×ÑœB×-Ñ-¨a°dÔ;Ô<÷=ð ‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔÜ	�‰”|Ó	$ñ HØ	×ÑœB×-Ñ-¨a°dÀÔFÔG÷Hð H÷=ð =ú÷
=ð =ú÷
Hð Hús$   Â1'F:Ä'GÆ	(GÆ:GÇGÇGc                  óè  — g d¢} g d¢}t        j                  «       t        j                  «       t        j                  «       t        j                  «       g}dddddœfdddd	dœfdddddœfg}|D ]€  }|j                  |«       t        j                  || d
«      d	k(  sJ ‚t        j                  || d«      dk(  sJ ‚t        j                  t         j                  t         j                  ||d
«       Œ‚ y )Nr   )r   r   r   r   r   r   rÏ   )ÚcostÚdistr   r   rV  rW  )
r   r   r(   r  r  rŽ   Úpath_weightrˆ   r‰   ÚNetworkXNoPath)Ú
valid_pathÚinvalid_pathr!  r7   ru   s        r   Útest_pathweightr\  Ý  sÜ   € Ú€JÚ€LÜ�h‰h‹jœ"Ÿ*™*›,¬¯©«¼¿¹Ó9JÐK€Fà	
ˆA˜ 1Ñ%Ð&Ø	
ˆA˜ 1Ñ%Ð&Ø	
ˆA˜ 1Ñ%Ð&ð€Eð
 ò VˆØ×Ñ˜UÔ#Ü�~‰~˜e Z°Ó8¸AÒ=Ð=Ð=Ü�~‰~˜e Z°Ó8¸AÒ=Ð=Ð=Ü�‰”b×'Ñ'¬¯©¸ÀÈfÕUñ	Vr   r   c                 óÒ   — | j                  g d¢«       g d¢}g d¢}g d¢}t        j                  | |«      sJ ‚t        j                  | |«      rJ ‚t        j                  | |«      rJ ‚y )N)r"   rµ   r"   r·   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   )rŽ   r   Úis_path)r   rZ  r[  Úanother_invalid_paths       r   Útest_ispathr`  í  sc   € ð ×ÑÒ5Ô6Ú€JÚ€LÚ*ÐÜ�:‰:�a˜Ô$Ð$Ð$Ü�z‰z˜!˜\Ô*Ð*Ð*Ü�z‰z˜!Ð1Ô2Ð2Ð2Ð2r   c                 ó   — | j                  g d¢«       | j                  d«       t        j                  | g d¢ddg«      }t	        |j                  «       «      h d£k(  sJ ‚t	        |j                  «       «      dhk(  sJ ‚y )Nr   r   ©r   r   r   r"   r·   ¾   r   r   r   r!   ©rŽ   r€   r   Úrestricted_viewÚsetr2   r7   ©r   rm   s     r   Útest_restricted_viewrh  ú  sg   € à×ÑÒEÔFØ‡J�Jˆq„MÜ
×Ñ˜1ši¨&°&Ð)9Ó:€AÜˆq�w‰w‹y‹>šYÒ&Ð&Ð&Üˆq�w‰w‹y‹>˜f˜XÒ%Ð%Ñ%r   c                 ó   — | j                  g d¢«       | j                  d«       t        j                  | g d¢ddg«      }t	        |j                  «       «      h d£k(  sJ ‚t	        |j                  «       «      dhk(  sJ ‚y )N)r  r  )r   r   r   r  )r   r   r   )r   r   r   r   r   rb  r   )r   r   r   rc  r!   rd  rg  s     r   Útest_restricted_view_multirj    sk   € à×ÑÚUôð ‡J�Jˆq„MÜ
×Ñ˜1ši¨)°YÐ)?Ó@€AÜˆq�w‰w‹y‹>šYÒ&Ð&Ð&Üˆq�w‰w‹y‹>˜f˜XÒ%Ð%Ñ%r   )%r£   rˆ   Únetworkxr   Únetworkx.utilsr   r   r   r   rÛ   ÚmarkÚparametrizer   r(   r  r  r  r  r  r  r  r  r$  r(  r3  r9  r?  rB  rI  rK  rN  rP  rT  r\  r`  rh  rj  rÙ   r   r   ú<module>ro     s?  ðÛ ã ã ß 3ò(÷
YNñ YN÷x,&ñ ,&ð^ ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñ&óð&ð< ‡�×ÑØà�vÑ	 Ð(Ø�uÐ 7¨FÐ"3Ñ	4°dÐ;ðóñ	óð	ð ‡�×Ñ˜¨¯©°"·*±*Ð'=Ó>ñó ?ðð: ‡�×ÑØà˜sÑ	# XÐ.Ø˜S�/¨H°c¨?Ñ	;¸TÐBðóñ!óð!ð ‡�×Ñ˜¨¯©°r·±Ð'GÓHñó Iðð: ‡�×ÑØà SÑ	)¨8Ð4Ø �_°(¸C°Ñ	AÀ4ÐHðóñ#óð#ò'ò"/ð, ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñSMóðSMðl ‡�×Ñ˜¨¯©°"·*±*Ð'=Ó>ñA;ó ?ðA;ðH ‡�×Ñ˜¨¯©°r·±Ð'GÓHñV;ó IðV;òr"ð ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñ*óð*ð ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñWóðWòð ‡�×Ñ˜¨¯©°"·*±*Ð'=Ó>ñDó ?ðDð ‡�×Ñ˜¨¯©°r·±Ð'GÓHñHó IðHò4Vð  ‡�×ÑØˆ(ˆ"�(‰(‹*�j�b—j‘j“l M B§M¡M£O°_°R·_±_Ó5FÐ	Góñ3óð3ð ‡�×Ñ˜˜x˜rŸx™x›z¨:¨2¯:©:«<Ð8Ó9ñ&ó :ð&ð ‡�×Ñ˜˜}˜rŸ}™}›°°·±Ó0AÐBÓCñ&ó Dñ&r   