Ë
    ¤ehUG  ã                  ó   — d dl mZ d dlmZmZmZ d dlZd dlmZ d dl	Z
d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlZd dlmc mZ d dlmZ d dlm Z m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z'm(Z(m)Z) erd dl*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3 dd„Z4 G d„ de «      Z5dd„Z6	 	 	 	 	 	 	 	 d	 	 	 	 	 d d„Z7	 	 	 	 	 	 	 	 	 d!	 	 	 	 	 	 	 d"d„Z8	 	 	 	 	 	 	 	 	 d!	 	 	 	 	 	 	 d"d„Z9	 	 	 	 	 	 	 	 	 	 d#	 	 	 	 	 	 	 	 	 	 	 	 	 d$d„Z:y)%é    )Úannotations)ÚTYPE_CHECKINGÚLiteralÚ
NamedTupleN)Úsetp)Úlib)Úcache_readonly)Úfind_stack_level)Úis_dict_like)Ú	ABCSeries)Úremove_na_arraylike)Úpprint_thing)ÚLinePlotÚMPLPlot)Úcreate_iter_data_given_by)Úget_standard_colors)Úcreate_subplotsÚflatten_axesÚmaybe_adjust_figure)Ú
Collection)ÚAxes)ÚFigure)ÚLine2D)ÚMatplotlibColorc                ó,  — |r| j                  «       n| j                  «       }t        |«      t        |«      k7  r2t        t        |«      t        |«      «      \  }}|dk(  sJ |«       ‚||z  }|r | j                  |fi |¤Ž y | j
                  |fi |¤Ž y)zãSet the tick labels of a given axis.

    Due to https://github.com/matplotlib/matplotlib/pull/17266, we need to handle the
    case of repeated ticks (due to `FixedLocator`) and thus we duplicate the number of
    labels.
    r   N)Ú
get_xticksÚ
get_yticksÚlenÚdivmodÚset_xticklabelsÚset_yticklabels)ÚaxÚlabelsÚis_verticalÚkwargsÚticksÚiÚ	remainders          úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/plotting/_matplotlib/boxplot.pyÚ_set_ticklabelsr*   /   sˆ   € ñ  +ˆB�M‰MŒO°·±³€EÜ
ˆ5ƒz”S˜“[Ò Üœc %›j¬#¨f«+Ó6‰ˆˆ9Ø˜AŠ~Ð(˜yÓ(ˆ~Ø�!‰ˆÙØˆ×Ñ˜6Ñ, VÓ,àˆ×Ñ˜6Ñ, VÓ,ó    c                  ó  ‡ — e Zd Zedd„«       ZdZdZ G d„ de«      Zddd„Z	e
	 d	 	 	 	 	 dd„«       Zd„ Zed	„ «       Zed
„ «       Zed„ «       Zed„ «       Zed„ «       Z	 	 d	 	 	 dd„Zdd„Zdd„Zdd„Zdd„Zedd„«       Zeˆ fd„«       Zˆ xZS ) ÚBoxPlotc                 ó   — y)NÚbox© ©Úselfs    r)   Ú_kindzBoxPlot._kindB   s   € àr+   Ú
horizontal)NÚaxesÚdictÚbothc                  ó"   — e Zd ZU ded<   ded<   y)ú
BoxPlot.BPr   r"   zdict[str, list[Line2D]]ÚlinesN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r0   r+   r)   ÚBPr9   J   s   … à‹Ø&Ô&r+   r?   c                óÈ   — || j                   vrt        d«      ‚|| _        t        j                  | |fi |¤Ž | j
                  r| j                  dk(  rd| _        y d| _        y y )Nz2return_type must be {None, 'axes', 'dict', 'both'}ÚverticalF)	Ú_valid_return_typesÚ
ValueErrorÚreturn_typer   Ú__init__ÚsubplotsÚorientationÚsharexÚsharey)r2   ÚdatarD   r%   s       r)   rE   zBoxPlot.__init__O   sc   € Ø˜d×6Ñ6Ñ6ÜÐQÓRÐRà&ˆÔä×Ñ˜˜tÑ. vÒ.à�=Š=ð ×Ñ :Ò-Ø#�•à#�•ð r+   c                ót  — |j                   dk(  r[|D �cg c]  }t        |«      ‘Œ }}|D �cg c]7  }|j                  dkD  r|n#t        j                  t        j
                  g«      ‘Œ9 }}nt        |«      } |j                  |fi |¤Ž}|dk(  r||fS |dk(  r| j                  ||¬«      |fS ||fS c c}w c c}w )Né   r   r6   r7   ©r"   r:   )Úndimr   ÚsizeÚnpÚarrayÚnanÚboxplotr?   )	Úclsr"   ÚyÚ
column_numrD   ÚkwdsÚvÚysÚbps	            r)   Ú_plotzBoxPlot._plot`   sÁ   € ð
 �6‰6�QŠ;Ø23Ö4¨QÔ% aÕ(Ð4ˆBÐ4ð DFÖF¸a�q—v‘v ’z‘!¤r§x¡x´·±°Ó'9Ñ9ÐFˆBÑFä$ QÓ'ˆBØˆR�Z‰Z˜Ñ#˜dÑ#ˆà˜&Ò Ø�r�6ˆMØ˜FÒ"Ø—6‘6˜R r�6Ó*¨BÐ.Ð.à�r�6ˆMùò 5ùò Gs
   ”B0¬<B5c                óÎ   — |t         j                  u ry |�t        j                  dt	        «       ¬«       t        |t        «      r g d¢}|D ]  }||vsŒt        d|› d|› �«      ‚ |S )NzC'color' and 'colormap' cannot be used simultaneously. Using 'color')Ú
stacklevel©ÚboxesÚwhiskersÚmediansÚcapsú!color dict contains invalid key 'ú'. The key must be either )r   Ú
no_defaultÚwarningsÚwarnr
   Ú
isinstancer6   rC   )r2   ÚcolorÚcolormapÚ
valid_keysÚkeys        r)   Ú_validate_color_argszBoxPlot._validate_color_argsv   s�   € Ø”C—N‘NÑ"ØàÐÜ�M‰Mð0ä+Ó-õô �eœTÔ"ÚAˆJØò �Ø˜jÒ(Ü$Ø;¸C¸5ð A2Ø2<°ð?óð ðð ˆr+   c                ó2   — t        d| j                  d ¬«      S )Né   )Ú
num_colorsrj   ri   )r   rj   r1   s    r)   Ú_color_attrszBoxPlot._color_attrs‹   s   € ô #¨a¸$¿-¹-ÈtÔTÐTr+   c                ó    — | j                   d   S ©Nr   ©rq   r1   s    r)   Ú_boxes_czBoxPlot._boxes_c“   ó   € à× Ñ  Ñ#Ð#r+   c                ó    — | j                   d   S rs   rt   r1   s    r)   Ú_whiskers_czBoxPlot._whiskers_c—   rv   r+   c                ó    — | j                   d   S )NrL   rt   r1   s    r)   Ú
_medians_czBoxPlot._medians_c›   rv   r+   c                ó    — | j                   d   S rs   rt   r1   s    r)   Ú_caps_czBoxPlot._caps_cŸ   rv   r+   c                 ó   — y ©Nr0   )r2   rp   Ú
color_kwdss      r)   Ú_get_colorszBoxPlot._get_colors£   s   € ð 	r+   c                óv  — t        | j                  t        «      r™| j                  j                  d| j                  «      }| j                  j                  d| j
                  «      }| j                  j                  d| j                  «      }| j                  j                  d| j                  «      }nh| j                  xs | j                  }| j                  xs | j
                  }| j                  xs | j                  }| j                  xs | j                  }||||f}t        |fd|i| j                  ¤Ž y )Nr_   r`   ra   rb   Ú	color_tup)
rh   ri   r6   Úgetru   rx   rz   r|   Úmaybe_color_bprW   )r2   rZ   r_   r`   ra   rb   r‚   s          r)   r„   zBoxPlot.maybe_color_bp­   sâ   € Ü�d—j‘j¤$Ô'Ø—J‘J—N‘N 7¨D¯M©MÓ:ˆEØ—z‘z—~‘~ j°$×2BÑ2BÓCˆHØ—j‘j—n‘n Y°·±Ó@ˆGØ—:‘:—>‘> &¨$¯,©,Ó7‰Dð —J‘JÒ/ $§-¡-ˆEØ—z‘zÒ5 T×%5Ñ%5ˆHØ—j‘jÒ3 D§O¡OˆGØ—:‘:Ò- §¡ˆDà˜H g¨tÐ4ˆ	Ü�rÑ< YÐ<°$·)±)Ó<r+   c                óL  — | j                   �r„t        j                  t        ¬«      | _        | j
                  � t        | j                  | j                  «      n| j                  }t        | j                  |¬«      «      D �]  \  }\  }}| j                  |«      }| j                  j                  «       }| j
                  �b|j                  }|j                  t!        |«      «       | j                  j"                  j$                  }|d   D �	cg c]  }	t!        |	«      ‘Œ }
}	nt!        |«      g}
 | j&                  ||f|| j(                  dœ|¤Ž\  }}| j+                  |«       || j                  |<   t-        ||
| j.                  dk(  ¬«       �Œ y | j                  j0                  j                  }| j                  d«      }| j                  j                  «       } | j&                  ||fd| j(                  dœ|¤Ž\  }}| j+                  |«       || _        | j                  j"                  D �cg c]  }t!        |«      ‘Œ }}| j2                  s*t5        t7        |«      «      D �cg c]  }t!        |«      ‘Œ }}t-        ||| j.                  dk(  ¬«       y c c}	w c c}w c c}w )N©Údtype)rJ   r   )rV   rD   rA   )r"   r#   r$   )rF   ÚpdÚSeriesÚobjectÚ_return_objÚbyr   rJ   r3   Ú	enumerateÚ
_iter_dataÚ_get_axrW   ÚcopyÚTÚ	set_titler   ÚcolumnsÚlevelsr[   rD   r„   r*   rG   ÚvaluesÚ	use_indexÚranger   )r2   ÚfigrJ   r'   ÚlabelrU   r"   rW   r”   ÚcolÚ
ticklabelsÚretrZ   Úleftr#   rl   s                   r)   Ú
_make_plotzBoxPlot._make_plot¾   sM  € Ø�=‹=Ü!Ÿy™y¬vÔ6ˆDÔð
 —7‘7Ð&ô *¨$¯)©)°T·Z±ZÔ@à—Y‘Yð ô "+¨4¯?©?À¨?Ó+EÓ!Fó ‘�‘:�E˜1Ø—\‘\ !“_�Ø—y‘y—~‘~Ó'�ð —7‘7Ð&ØŸ™�AØ—L‘L¤¨eÓ!4Ô5ð
 "ŸY™Y×.Ñ.×5Ñ5�FØ?EÀa¹yÖ!I¸¤,¨sÕ"3Ð!I�JÑ!Iä".¨uÓ"5Ð!6�Jà$˜$Ÿ*™*Ø˜ðØ&'°T×5EÑ5EñØIMñ‘��Rð ×#Ñ# BÔ'Ø*-�× Ñ  Ñ'ÜØ *¸$×:JÑ:JÈjÑ:X÷ñ/ð6 —	‘	× Ñ ×"Ñ"ˆAØ—‘˜a“ˆBØ—9‘9—>‘>Ó#ˆDà �d—j‘jØ�AðØ"#°×1AÑ1AñØEIñ‰GˆC�ð ×Ñ Ô#Ø"ˆDÔà59·Y±Y×5FÑ5FÖG¨T”l 4Õ(ÐGˆFÐGØ—>’>Ü7<¼SÀ»[Ó7IÖJ°œ, sÕ+ÐJ�ÐJÜØ˜f°$×2BÑ2BÀjÑ2Pöùò5 "Jùò. HùâJs   ÄJÈ1JÉ'J!c                 ó   — y r~   r0   r1   s    r)   Ú_make_legendzBoxPlot._make_legendø   s   € Ør+   c                óÆ   — | j                   r$|j                  t        | j                   «      «       | j                  r%|j	                  t        | j                  «      «       y y r~   )ÚxlabelÚ
set_xlabelr   ÚylabelÚ
set_ylabel)r2   r"   rJ   s      r)   Ú_post_plot_logiczBoxPlot._post_plot_logicû   s?   € à�;Š;Ø�M‰Mœ, t§{¡{Ó3Ô4Ø�;Š;Ø�M‰Mœ, t§{¡{Ó3Õ4ð r+   c                ó>   — | j                   j                  dd«      ryy)NÚvertTrA   r4   )rW   rƒ   r1   s    r)   rG   zBoxPlot.orientation  s   € à�9‰9�=‰=˜ Ô&Øàr+   c                óH   •— | j                   €
t        ‰| �  S | j                  S r~   )rD   ÚsuperÚresultr‹   )r2   Ú	__class__s    €r)   r«   zBoxPlot.result	  s%   ø€ à×ÑÐ#Ü‘7‘>Ð!à×#Ñ#Ð#r+   )ÚreturnzLiteral['box'])r5   )rD   Ústrr­   ÚNone)Nr5   )r"   r   rU   z
np.ndarrayrD   r®   )Nri   )r   zQdict[str, MatplotlibColor] | MatplotlibColor | Collection[MatplotlibColor] | Noner­   r¯   ©r­   r¯   )r˜   r   r­   r¯   )r"   r   r­   r¯   )r­   z!Literal['horizontal', 'vertical'])r;   r<   r=   Úpropertyr3   Ú_layout_typerB   r   r?   rE   Úclassmethodr[   rm   r	   rq   ru   rx   rz   r|   r€   r„   rž   r    r¦   rG   r«   Ú__classcell__)r¬   s   @r)   r-   r-   A   s-  ø„ Øòó ðð  €Là8Ðô'ˆZô 'ô
$ð" àJPðØðØ$ðØDGòó ðò*ð* ñUó ðUð ñ$ó ð$ð ñ$ó ð$ð ñ$ó ð$ð ñ$ó ð$ð
 ð ðððð 
óó=ó"8ótó5ð ò ó ð ð ó$ó ô$r+   r-   c                ó.  — |j                  d«      st        | d   |d   d¬«       |j                  d«      st        | d   |d   d¬«       |j                  d«      st        | d	   |d
   d¬«       |j                  d«      st        | d   |d   d¬«       y y )NÚboxpropsr_   r   é   )ri   ÚalphaÚwhiskerpropsr`   Úmedianpropsra   rL   Úcappropsrb   ro   )rƒ   r   )rZ   r‚   rW   s      r)   r„   r„     s‰   € ð �8‰8�JÔÜˆR�‰[ 	¨!¡°AÕ6Ø�8‰8�NÔ#ÜˆR�
‰^ 9¨Q¡<°qÕ9Ø�8‰8�MÔ"ÜˆR�	‰] )¨A¡,°aÕ8Ø�8‰8�JÔÜˆR�‰Z˜y¨™|°1Ö5ð  r+   c
                óP  — |j                  |d¬«      }|€Bt        |t        t        f«      s|g}|j	                  «       j
                  j                  |«      }t        |«      }t        ||
j                  dd«      |
j                  dd«      |||¬«      \  }}t        |«      }|
j                  dd «      |
j                  dd «      }}|
j                  d	d«      r|xs |}n|xs |}g }t        |«      D ][  \  }}||   }||   }t        |Ž \  }} | |||f||d
œ|
¤Ž}|j                  |«       |j                  |«       |j!                  |«       Œ] t#        j$                  ||d¬«      }|	€|}t        |«      dk(  r|d   n|}|j'                  d|› �«       t)        |ddddd¬«       |S )NF)ÚobservedrH   TrI   )ÚnaxesrH   rI   Úfigsizer"   Úlayoutr¢   r¤   r¨   )r¢   r¤   )Úindexr�   r·   r   zBoxplot grouped by ç333333Ã?çÍÌÌÌÌÌì?çš™™™™™¹?çš™™™™™É?©ÚbottomÚtopr�   ÚrightÚwspace)Úgroupbyrh   ÚlistÚtupleÚ_get_numeric_datar“   Ú
differencer   r   Úpopr   rƒ   r�   Úzipr’   ÚappendÚgridrˆ   r‰   Úsuptitler   )ÚplotfrJ   r“   rŒ   Únumeric_onlyrÓ   r¿   r"   rÀ   rD   r%   Úgroupedr¾   r˜   r5   Ú_axesr¢   r¤   Ú	ax_valuesr'   rš   Úgp_colÚkeysr•   Úre_plotfr«   Úbylines                              r)   Ú_grouped_plot_by_columnrÞ     s·  € ð �l‰l˜2¨ˆlÓ.€GØ€Ü˜"œt¤U˜mÔ,Ø�ˆBØ×(Ñ(Ó*×2Ñ2×=Ñ=¸bÓAˆÜ�‹L€EÜØØ�z‰z˜( DÓ)Ø�z‰z˜( DÓ)ØØØô�I€Cˆô ˜Ó€Eð —Z‘Z ¨$Ó/°·±¸HÀdÓ1KˆF€FØ‡z�z�&˜$ÔØ’˜2‰à’˜2ˆà€Iä˜GÓ$ò ‰ˆˆ3Ø�1‰XˆØ˜‘ˆÜ˜F�|‰ˆˆfÙ˜˜v rÐR°&ÀÑRÈ6ÑRˆØ
�‰�SÔØ×Ñ˜Ô"Ø
�‰��ðô �Y‰Y�y¨°eÔ<€Fð ÐØˆä˜"“g ’lˆR�ŠU¨€FØ‡L�LÐ& v hÐ/Ô0Ü˜ D¨c¸À3ÈsÕSà€Mr+   c
                óÎ  ‡‡‡	‡
‡— dd l m} ‰	t        j                  vrt	        d«      ‚t        | t        «      r| j                  d«      } d}ˆ
fd„}dˆˆˆ	ˆfd„} |«       Š|€d }nt        |t        t        f«      r|}n|g}|�t        || f||||||‰	dœ‰
¤Ž}|S ‰	€dŠ	|�t	        d«      ‚|€2|�d	|ini }|j                  |«      5  |j                  «       }d d d «       | j                  «       } t        | j                  «      }|dk(  rt	        d
«      ‚|€| j                  }n| |   }  ||| j                   j"                  |fi ‰
¤Ž}|j%                  |«       |S # 1 sw Y   Œ„xY w)Nr   z,return_type must be {'axes', 'dict', 'both'}Úxc                 óŽ  •— t        d¬«      } t        j                  | g d¢«      } t        j                  | d«      } ‰j	                  dd «      }|rut        |«      rYg d¢}t        t        |t        d«      «      «      }|j                  «       D ]"  \  }}||v r	|| ||   <   Œt        d|› d	|› �«      ‚ | S | j                  |«       | S )
Nro   )rp   )r   r   rL   Úkri   r^   é   rc   rd   )r   rP   ÚtakerÒ   rÐ   r   r6   rÑ   r—   ÚitemsrC   Úfill)r«   Úcolorsrk   Úkey_to_indexrl   ÚvaluerW   s         €r)   r€   zboxplot.<locals>._get_colorsr  sÖ   ø€ ô %°Ô2ˆÜ—‘˜¢Ó+ˆÜ—‘˜6 3Ó'ˆà—‘˜' 4Ó(ˆÙÜ˜FÔ#ò F�
Ü#¤C¨
´E¸!³HÓ$=Ó>�Ø"(§,¡,£.ò ‘J�C˜Ø˜jÑ(Ø49˜˜|¨CÑ0Ò1ä(Ø?À¸uð E6Ø6@°\ðCóð ð	ð ˆð —‘˜FÔ#àˆr+   c                óV  •— |j                  dd «      |j                  dd «      }}|r|j                  t        |«      «       |r|j                  t        |«      «       | D �cg c]  }t        |«      ‘Œ } }|D �cg c]&  }t	        j
                  t        |«      t        ¬«      ‘Œ( }} |j                  |fi |¤Ž}‰
�|j                  d‰
¬«       t        || |j                  dd«      ‰¬«       t        |fd	‰	i|¤Ž ‰d
k(  r|S ‰dk(  rt        j                  ||¬«      S |S c c}w c c}w )Nr¢   r¤   r†   r7   )ÚaxisÚ	labelsizer¨   T)r"   r#   r$   Úrotationr‚   r6   rM   )rÐ   r£   r   r¥   rP   Úasarrayr   rŠ   rS   Útick_paramsr*   rƒ   r„   r-   r?   )rÛ   r•   r"   rW   r¢   r¤   rà   rX   rZ   rç   ÚfontsizerD   Úrots            €€€€r)   Ú
plot_groupzboxplot.<locals>.plot_group�  s  ø€ àŸ™ (¨DÓ1°4·8±8¸HÀdÓ3K�ˆÙØ�M‰Mœ, vÓ.Ô/ÙØ�M‰Mœ, vÓ.Ô/à)-Ö. A”˜Q•Ð.ˆÐ.ØLRÖSÀq”"—*‘*Ô0°Ó3¼6ÖBÐSˆÐSØˆR�Z‰Z˜Ñ' $Ñ'ˆØÐØ�N‰N °(ˆNÔ;ô 	Ø˜$¨D¯H©H°V¸TÓ,BÈSõ	
ô 	�rÑ4 VÐ4¨tÒ4ð ˜&Ò ØˆIØ˜FÒ"Ü—:‘: ¨2�:Ó.Ð.àˆIùò% /ùÚSs   Á"D!Á:+D&)r“   rŒ   rÓ   r¿   r"   rÀ   rD   r5   z7The 'layout' keyword is not supported when 'by' is Nonezfigure.figsizez;boxplot method requires numerical columns, nothing to plot.)r"   r   )Úmatplotlib.pyplotÚpyplotr-   rB   rC   rh   r   Úto_framerÌ   rÍ   rÞ   Ú
rc_contextÚgcarÎ   r   r“   r•   r‘   rÓ   )rJ   ÚcolumnrŒ   r"   rð   rñ   rÓ   r¿   rÀ   rD   rW   Úpltr€   rò   r“   r«   Úrcr¾   rç   s       ``   ``       @r)   rS   rS   [  s›  ü€ õ $ð œ'×5Ñ5Ñ5ÜÐGÓHÐHä�$œ	Ô"Ø�}‰}˜SÓ!ˆØˆô÷:ð ñ8 ‹]€FØ€~Ø‰Ü	�FœT¤5˜MÔ	*Ø‰à�(ˆà	€~ô )ØØð
ð ØØØØØØ#ñ
ð ñ
ˆðH €Mð/ ÐØ ˆKØÐÜÐVÓWÐWàˆ:Ø07Ð0CÐ" GÑ,ÈˆBØ—‘ Ó#ñ Ø—W‘W“Y�÷à×%Ñ%Ó'ˆÜ�D—L‘LÓ!ˆØ�AŠ:ÜØMóð ð ˆ?Ø—l‘l‰Gà˜‘=ˆDá˜G T§[¡[§]¡]°BÑ?¸$Ñ?ˆØ
�‰�Œà€M÷!ð ús   ÃEÅE$c
                ó^   — dd l m} t        | f|||||||||	dœ	|
¤Ž}|j                  «        |S )Nr   )	rø   rŒ   r"   rð   rÓ   rñ   r¿   rÀ   rD   )ró   rô   rS   Údraw_if_interactive)r2   rø   rŒ   r"   rð   rñ   rÓ   r¿   rÀ   rD   rW   rù   s               r)   Úboxplot_framerý   Ý  sQ   € õ $ä	Øð
àØØØØØØØØñ
ð ñ
€Bð ×ÑÔØ€Ir+   c                óø  — |du r°t        | «      }t        |d||	|
||¬«      \  }}t        |«      }t        j                  t
        ¬«      }t        | |«      D ]I  \  \  }}} |j                  d|||||dœ|¤Ž}|j                  t        |«      «       ||j                  |<   ŒK t        |ddddd	¬
«       |S t        | Ž \  }}| j                  dk(  rt        j                  ||d¬«      }n+t        |«      dkD  r|d   j                  |dd  «      }n|d   }|�Kt        j                   |«      }t        j"                  j%                  ||g«      }t'        |j(                  «      } |j                  d|||||||dœ|¤Ž}|S )NTF)r¾   Úsqueezer"   rH   rI   r¿   rÀ   r†   )r"   rø   rð   rñ   rÓ   rÂ   rÃ   rÄ   rÅ   rÆ   r   r·   )rÛ   rë   )rø   rð   rñ   rÓ   r"   r¿   rÀ   r0   )r   r   r   rˆ   r‰   rŠ   rÑ   rS   r’   r   Úlocr   rë   ÚconcatÚjoinÚcomÚconvert_to_list_likeÚ
MultiIndexÚfrom_productrÌ   r•   )r×   rF   rø   rð   rñ   rÓ   r"   r¿   rÀ   rH   rI   rW   r¾   r˜   r5   rœ   rl   ÚgroupÚdrÛ   ÚframesÚdfÚ	multi_keys                          r)   Úboxplot_frame_groupbyr  ý  s©  € ð �4ÑÜ�G“ˆÜ#ØØØØØØØô
‰	ˆˆTô ˜DÓ!ˆä�i‰iœfÔ%ˆä # G¨TÓ 2ò 	Ñ‰LˆS�%˜"Ø�—‘ð Ø˜f¨x¸SÀtñØOSñˆAð �L‰Lœ cÓ*Ô+ØˆC�G‰G�CŠLð	ô 	˜C¨°#¸CÀsÐSVÕWð8 €Jô5 ˜G�}‰ˆˆfØ�<‰<˜1ÒÜ—‘˜6¨°1Ô5‰BÜ�‹[˜1Š_Ø˜‘—‘  q s Ó,‰Bà˜‘ˆBð ÐÜ×-Ñ-¨fÓ5ˆFÜŸ™×2Ñ2°D¸&°>ÓBˆIÜ˜)×*Ñ*Ó+ˆFØˆb�j‰jð 	
ØØØØØØØñ	
ð ñ	
ˆð €Jr+   )r"   r   r#   z	list[str]r$   Úboolr­   r¯   r°   )NNTFNNNN)rÖ   r  rÓ   r  r¿   útuple[float, float] | None)	NNNNr   TNNN)rð   ú
int | Nonerñ   ÚintrÓ   r  r¿   r  )
TNNr   TNNNFT)rF   r  rð   r  rñ   r  rÓ   r  r¿   r  rH   r  rI   r  );Ú
__future__r   Útypingr   r   r   rf   Úmatplotlib.artistr   ÚnumpyrP   Úpandas._libsr   Úpandas.util._decoratorsr	   Úpandas.util._exceptionsr
   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.genericr   Úpandas.core.dtypes.missingr   Úpandasrˆ   Úpandas.core.commonÚcoreÚcommonr  Úpandas.io.formats.printingr   Ú pandas.plotting._matplotlib.corer   r   Ú#pandas.plotting._matplotlib.groupbyr   Ú!pandas.plotting._matplotlib.styler   Ú!pandas.plotting._matplotlib.toolsr   r   r   Úcollections.abcr   Úmatplotlib.axesr   Úmatplotlib.figurer   Úmatplotlib.linesr   Úpandas._typingr   r*   r-   r„   rÞ   rS   rý   r  r0   r+   r)   ú<module>r)     sÂ  ðÝ "÷ñ ó
 å "Û å Ý 2Ý 4å 2Ý 0Ý :ã ß  Ð  å 3÷õ JÝ A÷ñ ñ Ý*å$Ý(Ý'å.ó-ô$M$ˆhô M$ó`
6ð  ØØØØ*.ØØØð:ð
 ð:ð ð:ð (ó:ð~ ØØØØØØ*.ØØðð
 ðð 
ðð ðð (óðH ØØØØØØ*.ØØðð
 ðð 
ðð ðð (óðD ØØØØØØ*.ØØØð?àð?ð ð	?ð
 
ð?ð ð?ð (ð?ð ð?ð ô?r+   