§
    ìóÉjÑ†  ã                  óf  — U d Z ddlmZ ddlZddlmZ ddlmZ ddlZddlmZ ddl	Z	ddl
Z
ddlZddlZddlZddlmZ ddlZddl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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%  ed¦  «        Z&dZ'ded„Z(dfd„Z)dgd „Z*dhd(„Z+ G d)„ d*e¦  «        Z, G d+„ d,¦  «        Z-did0„Z.did1„Z/djd4„Z0 G d5„ d6¦  «        Z1 G d7„ d8e1¦  «        Z2 G d9„ d:e1¦  «        Z3 G d;„ d<e1¦  «        Z4 G d=„ d>e1¦  «        Z5 G d?„ d@e1¦  «        Z6 G dA„ dBe1¦  «        Z7 G dC„ dDe1¦  «        Z8 G dE„ dFe1¦  «        Z9 G dG„ dHe1¦  «        Z: G dI„ dJe1¦  «        Z; G dK„ dLe1¦  «        Z<e2e3e4e5e6e7e8e9e:e;e<dMœZ=dNe>dO<   dkdP„Z?dldS„Z@dmdW„ZAdndod[„ZBdpd]„ZCdqda„ZDdqdb„ZEdrdd„ZFdS )szfOptuna CLI module.
If you want to add a new command, you also need to update the constant `_COMMANDS`
é    )ÚannotationsN)ÚArgumentParser)Ú	Namespace)ÚEnum)ÚAny)Ú_LazyImport)Úoptuna_warn)ÚCLIUsageError)ÚExperimentalWarning)ÚBaseStorage)ÚJournalFileStorage)ÚJournalRedisStorage)ÚJournalStorage)Ú
RDBStorage)ÚJournalFileBackend)ÚJournalRedisBackend)Ú
TrialStatezoptuna.study._dataframez%Y-%m-%d %H:%M:%SÚstorage_urlú
str | NoneÚreturnÚstrc                ó˜   — | �| S t           j                             d¦  «        }|�t          dt          ¦  «         |S t          d¦  «        ‚)NÚOPTUNA_STORAGEzˆSpecifying the storage url via 'OPTUNA_STORAGE' environment variable is an experimental feature. The interface can change in the future.zStorage URL is not specified.)ÚosÚenvironÚgetr	   r   r
   )r   Úenv_storages     úm/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib/python3.11/site-packages/optuna/cli.pyÚ_check_storage_urlr   *   sZ   € ØÐØÐå”*—.’.Ð!1Ñ2Ô2€KØÐÝðSåñ	
ô 	
ð 	
ð
 ÐÝ
Ð7Ñ
8Ô
8Ð8ó    Ústorage_classr   c                ó&  — t          | ¦  «        } |rÞ|t          j        k    rt          t          | ¦  «        ¦  «        S |t          j        k    rt          t	          | ¦  «        ¦  «        S |t
          j        k    rt          t          | ¦  «        ¦  «        S |t          j        k    rt          t          | ¦  «        ¦  «        S |t          j        k    rt          | ¦  «        S t          d¦  «        ‚|  	                    d¦  «        rt          t          | ¦  «        ¦  «        S t          j                             | ¦  «        rt          t          | ¦  «        ¦  «        S 	 t          | ¦  «        S # t          j        j        $ r t          d¦  «        ‚w xY w)NzUnsupported storage classÚredisz.Failed to guess storage class from storage_url)r   r   Ú__name__r   r   r   r   r   r
   Ú
startswithr   ÚpathÚisfileÚ
sqlalchemyÚexcÚArgumentError)r   r!   s     r   Ú_get_storager+   9   s|  € Ý$ [Ñ1Ô1€KØð 9ØÕ/Ô8Ò8Ð8Ý!Õ"5°kÑ"BÔ"BÑCÔCÐCØÕ/Ô8Ò8Ð8Ý!Õ"5°kÑ"BÔ"BÑCÔCÐCØÕ.Ô7Ò7Ð7Ý!Õ"4°[Ñ"AÔ"AÑBÔBÐBØÕ.Ô7Ò7Ð7Ý!Õ"4°[Ñ"AÔ"AÑBÔBÐBØ�JÔ/Ò/Ð/Ý˜kÑ*Ô*Ð*ÝÐ7Ñ8Ô8Ð8à×Ò˜gÑ&Ô&ð @ÝÕ1°+Ñ>Ô>Ñ?Ô?Ð?Ý	„w‡~‚~�kÑ"Ô"ð ?ÝÕ0°Ñ=Ô=Ñ>Ô>Ð>ðNÝ˜+Ñ&Ô&Ð&øÝŒ>Ô'ð Nð Nð NÝÐLÑMÔMÐMðNøøøs   ÅE, Å,$FÚvaluer   c                óæ  — | �t          | t          t          f¦  «        r| S t          | t          j        ¦  «        r|                      t
          ¦  «        S t          | t          ¦  «        rt          d„ | D ¦   «         ¦  «        S t          | t          ¦  «        rt          d„ | D ¦   «         ¦  «        S t          | t          ¦  «        rd„ |  	                    ¦   «         D ¦   «         S t          | ¦  «        S )Nc              3  ó4   K  — | ]}t          |¦  «        V — Œd S ©N©Ú_format_value©Ú.0Úvs     r   ú	<genexpr>z _format_value.<locals>.<genexpr>Y   s*   è è € Ð4Ð4¨•M !Ñ$Ô$Ð4Ð4Ð4Ð4Ð4Ð4r    c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r/   r0   r2   s     r   r5   z _format_value.<locals>.<genexpr>[   s*   è è € Ð5Ð5¨!•] 1Ñ%Ô%Ð5Ð5Ð5Ð5Ð5Ð5r    c                óN   — i | ]"\  }}t          |¦  «        t          |¦  «        “Œ#S © r0   )r3   Úkr4   s      r   ú
<dictcomp>z!_format_value.<locals>.<dictcomp>]   s.   € ÐMÐMÐM±t°q¸!•˜aÑ Ô ¥-°Ñ"2Ô"2ÐMÐMÐMr    )Ú
isinstanceÚintÚfloatÚdatetimeÚstrftimeÚ_DATETIME_FORMATÚlistÚtupleÚdictÚitemsr   )r,   s    r   r1   r1   R   sÞ   € à€}�
 5­3µ¨,Ñ7Ô7€}ØˆÝ	�E�8Ô,Ñ	-Ô	-ð 	Ø�~Š~Õ.Ñ/Ô/Ð/Ý	�E�4Ñ	 Ô	 ð ÝÐ4Ð4¨eÐ4Ñ4Ô4Ñ4Ô4Ð4Ý	�E�5Ñ	!Ô	!ð ÝÐ5Ð5¨uÐ5Ñ5Ô5Ñ5Ô5Ð5Ý	�E�4Ñ	 Ô	 ð ØMÐM¸u¿{º{¹}¼}ÐMÑMÔMÐMå�5‰zŒzÐr    Úrecordsú list[dict[tuple[str, str], Any]]Úcolumnsúlist[tuple[str, str]]ÚflattenÚboolú&tuple[list[dict[str, Any]], list[str]]c                óŒ  ‡— g }g }|�r||D ]ÌŠ‰d         dk    r'|                      ‰d         › d‰d         › �¦  «         Œ5t          ˆfd„| D ¦   «         ¦  «        rad}| D ])}‰|v r#t          |t          |‰         ¦  «        ¦  «        }Œ*t	          |¦  «        D ]"}|                      ‰d         › d|› �¦  «         Œ#Œ±|                      ‰d         ¦  «         ŒÍ| D ]¨}i }|D ]ŒŠ‰|vrŒt          |‰         ¦  «        }	‰d         dk    r|	|‰d         › d‰d         › �<   Œ?t          ˆfd„| D ¦   «         ¦  «        r&t          |	¦  «        D ]\  }}
|
|‰d         › d|› �<   ŒŒ€|	|‰d         › <   Œ�|                      |¦  «         Œ©�n=|D ]'Š‰d         |vr|                      ‰d         ¦  «         Œ(| D �]}d„ |D ¦   «         }|D ]èŠ‰|vrŒt          |‰         ¦  «        }	t          ‰d         t          ¦  «        r‚|‰d                  i k    rg |‰d         <   |‰d         xx         d gt          ‰d         dz   t          |‰d                  ¦  «        z
  d¦  «        z  z  cc<   |	|‰d                  ‰d         <   Œ¹‰d         dk    r|	|‰d                  ‰d         <   ŒÝ|	|‰d         <   Œé|                      |¦  «         �Œ||fS )Né   Ú r   Ú_c              3  óv   •K  — | ]3}t          |                     ‰¦  «        t          t          f¦  «        V — Œ4d S r/   ©r;   r   rA   rB   ©r3   ÚrecordÚcolumns     €r   r5   z#_convert_to_dict.<locals>.<genexpr>k   s=   øè è € ÐYÐYÀv•Z §
¢
¨6Ñ 2Ô 2µT½5°MÑBÔBÐYÐYÐYÐYÐYÐYr    c              3  óv   •K  — | ]3}t          |                     ‰¦  «        t          t          f¦  «        V — Œ4d S r/   rQ   rR   s     €r   r5   z#_convert_to_dict.<locals>.<genexpr>|   s=   øè è € Ð]Ð]È6� F§J¢J¨vÑ$6Ô$6½½u¸ÑFÔFÐ]Ð]Ð]Ð]Ð]Ð]r    c                ó   — i | ]}|i “ŒS r8   r8   )r3   Úcolumn_names     r   r:   z$_convert_to_dict.<locals>.<dictcomp>‡   s   € Ð$OÐ$OÐ$O¸ [°"Ð$OÐ$OÐ$Or    )	ÚappendÚanyÚmaxÚlenÚranger1   Ú	enumerater;   r<   )rE   rG   rI   ÚheaderÚretÚ
max_lengthrS   ÚiÚrowr,   r4   ÚattrsrT   s               @r   Ú_convert_to_dictrd   b   s¤  ø€ ð €FØ
€CØñ 0Øð 	)ð 	)ˆFØ�aŒy˜BŠˆØ—’ ¨¤Ð8Ð8¨V°A¬YÐ8Ð8Ñ9Ô9Ð9Ð9ÝÐYÐYÐYÐYÐQXÐYÑYÔYÑYÔYð )Ø�
Ø%ð Jð J�FØ Ð'Ð'Ý%(¨µS¸À¼Ñ5HÔ5HÑ%IÔ%I˜
øÝ˜zÑ*Ô*ð 6ð 6�AØ—M’M V¨A¤YÐ"4Ð"4°Ð"4Ð"4Ñ5Ô5Ð5Ð5ð6ð —’˜f QœiÑ(Ô(Ð(Ð(Øð 	ð 	ˆFØˆCØ!ð 
0ð 
0�Ø Ð'Ð'ØÝ% f¨V¤nÑ5Ô5�Ø˜!”9 ’?�?Ø6;�C˜6 !œ9Ð2Ð2 v¨a¤yÐ2Ð2Ñ3Ð3ÝÐ]Ð]Ð]Ð]ÐU\Ð]Ñ]Ô]Ñ]Ô]ð 0Ý )¨%Ñ 0Ô 0ð 4ð 4™˜˜1Ø23˜˜v aœyÐ.Ð.¨1Ð.Ð.Ñ/Ð/ð4ð +0�C˜6 !œ9˜Ñ'Ð'Ø�JŠJ�s‰OŒOˆOˆOñ	ð ð 	)ð 	)ˆFØ�aŒy Ð&Ð&Ø—’˜f QœiÑ(Ô(Ð(øØð 	ñ 	ˆFØ$OÐ$OÈÐ$OÑ$OÔ$OˆEØ!ð -ð -�Ø Ð'Ð'ØÝ% f¨V¤nÑ5Ô5�Ý˜f Qœi­Ñ-Ô-ð 
-ð ˜V AœYÔ'¨2Ò-Ð-Ø+-˜˜f QœiÑ(Ø˜& œ)Ð$Ð$Ô$¨¨µ°V¸A´YÀ±]ÅSÈÈvÐVWÌyÔIYÑEZÔEZÑ5ZÐ\]Ñ1^Ô1^Ñ(^Ñ^Ð$Ð$Ñ$Ø27�E˜& œ)Ô$ V¨A¤YÑ/Ð/Ø˜A”Y "’_�_Ø27�E˜& œ)Ô$ V¨A¤YÑ/Ð/à',�E˜& œ)Ñ$Ð$Ø�JŠJ�uÑÔÐÑà�ˆ;Ðr    c                  ó   — e Zd ZdZdZdZdS )Ú	ValueTyper   rM   é   N)r$   Ú
__module__Ú__qualname__ÚNONEÚNUMERICÚSTRINGr8   r    r   rf   rf   œ   s   € € € € € Ø€DØ€GØ€F€F€Fr    rf   c                  ó.   — e Zd Zdd„Zdd„Zdd	„Zdd„ZdS )Ú	CellValuer,   r   r   ÚNonec                ó¾   — || _         |€t          j        | _        d S t	          |t
          t          f¦  «        rt          j        | _        d S t          j        | _        d S r/   )	r,   rf   rj   Ú
value_typer;   r<   r=   rk   rl   )Úselfr,   s     r   Ú__init__zCellValue.__init__£   sM   € ØˆŒ
Øˆ=Ý'œnˆDŒOˆOˆOÝ˜¥¥U˜|Ñ,Ô,ð 	/Ý'Ô/ˆDŒOˆOˆOå'Ô.ˆDŒOˆOˆOr    r   c                ó¦   — t          | j        t          j        ¦  «        r| j                             t          ¦  «        S t          | j        ¦  «        S r/   )r;   r,   r>   r?   r@   r   ©rr   s    r   Ú__str__zCellValue.__str__¬   s>   € Ý�d”j¥(Ô"3Ñ4Ô4ð 	#Ø”:×&Ò&Õ'7Ñ8Ô8Ð8å�t”z‘?”?Ð"r    r<   c                óD   — t          t          | j        ¦  «        ¦  «        S r/   )r[   r   r,   ru   s    r   ÚwidthzCellValue.width²   s   € Ý•3�t”z‘?”?Ñ#Ô#Ð#r    rq   rf   rx   c                ó~   — t          | j        ¦  «        }| j        €d|z  S |t          j        k    r|d|› �›S |d|› �›S )Nú ú>ú<)r   r,   rf   rk   )rr   rq   rx   r,   s       r   Ú
get_stringzCellValue.get_stringµ   sW   € Ý�D”J‘”ˆØŒ:ÐØ˜‘;ÐØ�9Ô,Ò,Ð,ØÐ&˜eÐ&Ð&Ð&Ð&àÐ&˜eÐ&Ð&Ð&Ð&r    N)r,   r   r   ro   )r   r   ©r   r<   )rq   rf   rx   r<   r   r   )r$   rh   ri   rs   rv   rx   r}   r8   r    r   rn   rn   ¢   sd   € € € € € ð/ð /ð /ð /ð#ð #ð #ð #ð$ð $ð $ð $ð'ð 'ð 'ð 'ð 'ð 'r    rn   úlist[dict[str, Any]]r^   ú	list[str]c                ó  — g }| D ]p}g }|D ]A}|                      |                     |¦  «        �t          ||         ¦  «        nd¦  «         ŒB|                      d                     |¦  «        ¦  «         Œqd                     |¦  «        S )NrN   rz   ú
)rX   r   r   Újoin)rE   r^   ÚvaluesrS   rb   rW   s         r   Ú_dump_valuer…   ¿   s˜   € Ø€FØð %ð %ˆØˆØ!ð 	`ð 	`ˆKð �JŠJ°6·:²:¸kÑ3JÔ3JÐ3V•s˜6 +Ô.Ñ/Ô/Ð/Ð\^Ñ_Ô_Ð_Ð_Ø�Š�c—h’h˜s‘m”mÑ$Ô$Ð$Ð$Ø�9Š9�VÑÔÐr    c           
     óÌ  ‡— g }| D ]S}g }|D ]7}|                      t          |                     |¦  «        ¦  «        ¦  «         Œ8|                      |¦  «         ŒTd}d}d„ |D ¦   «         }t          t	          |¦  «        ¦  «        D �]-Šˆfd„|D ¦   «         }	t
          j        }
|	D ]}|t
          j        k    rt
          j        }
Œt	          |¦  «        dk    rt	          |‰         ¦  «        }n<t          t	          |‰         ¦  «        t          ˆfd„|D ¦   «         ¦  «        ¦  «        }|d|dz   z  dz   z  }|
t
          j        k    r|d	|‰         d
|› �›d�z  }n|d	|‰         d|› �›d�z  }t          |¦  «        D ]5\  }}||xx         d	|‰          
                    |
|¦  «        z   dz   z  cc<   Œ6�Œ/d}||dz   z  }||dz   z  }||dz   z  }|D ]
}||dz   z  }Œ||dz   z  }|S )Nú+ú|c                ó   — g | ]}d ‘ŒS )rˆ   r8   )r3   rO   s     r   ú
<listcomp>z_dump_table.<locals>.<listcomp>Ö   s   € Ð%Ð%Ð%˜1�3Ð%Ð%Ð%r    c                ó*   •— g | ]}|‰         j         ‘ŒS r8   )rq   ©r3   rb   rT   s     €r   rŠ   z_dump_table.<locals>.<listcomp>Ø   s    ø€ Ð>Ð>Ð>°#�s˜6”{Ô-Ð>Ð>Ð>r    r   c              3  óL   •K  — | ]}|‰                               ¦   «         V — Œd S r/   )rx   rŒ   s     €r   r5   z_dump_table.<locals>.<genexpr>à   s3   øè è € Ð4YÐ4YÈS°S¸´[×5FÒ5FÑ5HÔ5HÐ4YÐ4YÐ4YÐ4YÐ4YÐ4Yr    ú-rg   rz   r{   z |r|   rN   r‚   )rX   rn   r   r\   r[   rf   rk   rl   rZ   r]   r}   )rE   r^   ÚrowsrS   rb   rW   Ú	separatorÚheader_stringÚrows_stringÚvalue_typesrq   ÚtÚ	max_widthra   r_   Ú
row_stringrT   s                   @r   Ú_dump_tabler—   Ì   sy  ø€ Ø€DØð ð ˆØˆØ!ð 	;ð 	;ˆKØ�JŠJ•y §¢¨KÑ!8Ô!8Ñ9Ô9Ñ:Ô:Ð:Ð:Ø�Š�CÑÔÐÐà€IØ€MØ%Ð% Ð%Ñ%Ô%€KÝ�˜F™œÑ$Ô$ð Yñ YˆØ>Ð>Ð>Ð>¸Ð>Ñ>Ô>ˆÝÔ&ˆ
Øð 	.ð 	.ˆAØ•IÔ$Ò$Ð$Ý&Ô-�
øÝˆt‰9Œ9˜Š>ˆ>Ý˜F 6œNÑ+Ô+ˆIˆIå�C  v¤Ñ/Ô/µÐ4YÐ4YÐ4YÐ4YÐTXÐ4YÑ4YÔ4YÑ1YÔ1YÑZÔZˆIØ�S˜I¨™MÑ*¨SÑ0Ñ0ˆ	Ø�Ô*Ò*Ð*ØÐ@ ¨¤Ð@°)Ð@Ð@Ð@Ð@Ð@Ñ@ˆMˆMàÐ@ ¨¤Ð@°)Ð@Ð@Ð@Ð@Ð@Ñ@ˆMÝ ‘o”oð 	Yð 	Y‰FˆAˆsØ˜ˆNˆNŒN˜c C¨¤K×$:Ò$:¸:ÀyÑ$QÔ$QÑQÐTXÑXÑXˆNˆN‰NˆNñ	Yð €CØˆ9�tÑÑ€CØˆ=˜4ÑÑ€CØˆ9�tÑÑ€CØ!ð !ð !ˆ
Øˆz˜DÑ Ñ ˆˆØˆ9�tÑÑ€Cà€Jr    ú=list[dict[tuple[str, str], Any]] | dict[tuple[str, str], Any]Úoutput_formatc                óú  — t          | t          ¦  «        rt          | ||¦  «        \  }}nt          | g||¦  «        \  }}|dk    r"t          ||¦  «                             ¦   «         S |dk    r"t          ||¦  «                             ¦   «         S |dk    rgt          | t          ¦  «        r&t          j        |¦  «                             ¦   «         S t          j        |d         ¦  «                             ¦   «         S |dk    rgt          | t          ¦  «        r&t          j	        |¦  «                             ¦   «         S t          j	        |d         ¦  «                             ¦   «         S t          d|› d�¦  «        ‚)Nr,   ÚtableÚjsonr   Úyamlz"Optuna CLI does not supported the z format.)r;   rA   rd   r…   Ústripr—   rœ   Údumpsr�   Ú	safe_dumpr
   )rE   rG   r™   rI   r„   r^   s         r   Ú_format_outputr¡   ô   s_  € õ �'�4Ñ Ô ð GÝ)¨'°7¸GÑDÔD‰ˆ��å)¨7¨)°W¸gÑFÔF‰ˆ�à˜ÒÐÝ˜6 6Ñ*Ô*×0Ò0Ñ2Ô2Ð2Ø	˜'Ò	!Ð	!Ý˜6 6Ñ*Ô*×0Ò0Ñ2Ô2Ð2Ø	˜&Ò	 Ð	 Ý�g�tÑ$Ô$ð 	1Ý”:˜fÑ%Ô%×+Ò+Ñ-Ô-Ð-å”:˜f QœiÑ(Ô(×.Ò.Ñ0Ô0Ð0Ø	˜&Ò	 Ð	 Ý�g�tÑ$Ô$ð 	5Ý”> &Ñ)Ô)×/Ò/Ñ1Ô1Ð1å”> &¨¤)Ñ,Ô,×2Ò2Ñ4Ô4Ð4åÐXÀÐXÐXÐXÑYÔYÐYr    c                  ó*   — e Zd ZdZdd„Zdd„Zdd„ZdS )Ú_BaseCommandzºBase class for commands.

    Note that command classes are not intended to be called by library users.
    They are exclusively used within this file to manage Optuna CLI commands.
    r   ro   c                óX   — t           j                             t          ¦  «        | _        d S r/   )ÚoptunaÚloggingÚ
get_loggerr$   Úloggerru   s    r   rs   z_BaseCommand.__init__  s   € Ý”n×/Ò/µÑ9Ô9ˆŒˆˆr    Úparserr   c                ó   — dS )z�Add arguments required for each command.

        Args:
            parser:
                `ArgumentParser` object to add arguments
        Nr8   ©rr   r©   s     r   Úadd_argumentsz_BaseCommand.add_arguments  s	   € ð 	ˆr    Úparsed_argsr   r<   c                ó   — t           ‚)a  Define action if the command is called.

        Args:
            parsed_args:
                `Namespace` object including arguments specified by user.

        Returns:
            Running status of the action.
            0 if this method finishes normally, otherwise 1.
        )ÚNotImplementedError)rr   r­   s     r   Útake_actionz_BaseCommand.take_action$  s
   € õ "Ð!r    N)r   ro   ©r©   r   r   ro   ©r­   r   r   r<   )r$   rh   ri   Ú__doc__rs   r¬   r°   r8   r    r   r£   r£     sZ   € € € € € ðð ð:ð :ð :ð :ðð ð ð ð"ð "ð "ð "ð "ð "r    r£   c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú_CreateStudyzCreate a new study.r©   r   r   ro   c                óæ   — |                      dd d¬¦  «         |                      dd t          dd¬¦  «         |                      dd	d
d¬¦  «         |                      dt          d ddd¬¦  «         d S )Nú--study-namez?A human-readable name of a study to distinguish it from others.©ÚdefaultÚhelpz--direction)ÚminimizeÚmaximizeznSet direction of optimization to a new study. Set 'minimize' for minimization and 'maximize' for maximization.)r¹   ÚtypeÚchoicesrº   z--skip-if-existsFÚ
store_truezgIf specified, the creation of the study is skipped without any error when the study name is duplicated.©r¹   Úactionrº   z--directionsz‹Set directions of optimization to a new study. Put whitespace between directions. Each direction should be either "minimize" or "maximize".r‡   )r½   r¹   r¾   rº   Únargs©Úadd_argumentr   r«   s     r   r¬   z_CreateStudy.add_arguments6  sÆ   € Ø×ÒØØØRð 	ñ 	
ô 	
ð 	
ð
 	×ÒØØÝØ,ð@ð 	ñ 	
ô 	
ð 	
ð 	×ÒØØØðCð	 	ñ 	
ô 	
ð 	
ð 	×ÒØÝØØ,ð0ð ð 	ñ 		
ô 		
ð 		
ð 		
ð 		
r    r­   r   r<   c                ó¼   — t          |j        |j        ¦  «        }t          j        ||j        |j        |j        |j        ¬¦  «        j        }t          |¦  «         dS )N)ÚstorageÚ
study_nameÚ	directionÚ
directionsÚload_if_existsr   )
r+   rÆ   r!   r¥   Úcreate_studyrÇ   rÈ   rÉ   Úskip_if_existsÚprint)rr   r­   rÆ   rÇ   s       r   r°   z_CreateStudy.take_actionV  sf   € Ý˜{Ô2°KÔ4MÑNÔNˆÝÔ(ØØ"Ô-Ø!Ô+Ø"Ô-Ø&Ô5ð
ñ 
ô 
ô ð 	õ 	ˆjÑÔÐØˆqr    Nr±   r²   ©r$   rh   ri   r³   r¬   r°   r8   r    r   rµ   rµ   3  sC   € € € € € ØÐð
ð 
ð 
ð 
ð@
ð 
ð 
ð 
ð 
ð 
r    rµ   c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú_DeleteStudyzDelete a specified study.r©   r   r   ro   c                ó6   — |                      dd d¬¦  «         d S )Nr·   z The name of the study to delete.r¸   ©rÄ   r«   s     r   r¬   z_DeleteStudy.add_argumentsf  s$   € Ø×Ò˜N°DÐ?aÐÑbÔbÐbÐbÐbr    r­   r   r<   c                ó˜   — t          |j        |j        ¦  «        }|                     |j        ¦  «        }|                     |¦  «         dS )Nr   )r+   rÆ   r!   Úget_study_id_from_namerÇ   Údelete_study)rr   r­   rÆ   Ústudy_ids       r   r°   z_DeleteStudy.take_actioni  sF   € Ý˜{Ô2°KÔ4MÑNÔNˆØ×1Ò1°+Ô2HÑIÔIˆØ×Ò˜XÑ&Ô&Ð&Øˆqr    Nr±   r²   rÎ   r8   r    r   rÐ   rÐ   c  sF   € € € € € Ø#Ð#ðcð cð cð cðð ð ð ð ð r    rÐ   c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú_StudySetUserAttributez Set a user attribute to a study.r©   r   r   ro   c                ó˜   — |                      ddd¬¦  «         |                      dddd¬¦  «         |                      ddd	¬¦  «         d S )
Nr·   Tz3The name of the study to set the user attribute to.)Úrequiredrº   z--keyz-kzKey of the user attribute.z--valuezValue to be set.rÒ   r«   s     r   r¬   z$_StudySetUserAttribute.add_argumentss  sj   € Ø×ÒØØØFð 	ñ 	
ô 	
ð 	
ð
 	×Ò˜G T°DÐ?[ÐÑ\Ô\Ð\Ø×Ò˜I°Ð;MÐÑNÔNÐNÐNÐNr    r­   r   r<   c                óä   — t          |j        |j        ¦  «        }t          j        ||j        ¬¦  «        }|                     |j        |j        ¦  «         | j	         
                    d¦  «         dS )N©rÆ   rÇ   zAttribute successfully written.r   )r+   rÆ   r!   r¥   Ú
load_studyrÇ   Úset_user_attrÚkeyr,   r¨   Úinfo)rr   r­   rÆ   Ústudys       r   r°   z"_StudySetUserAttribute.take_action|  sf   € Ý˜{Ô2°KÔ4MÑNÔNˆåÔ!¨'¸kÔ>TÐUÑUÔUˆà×Ò˜KœO¨[Ô->Ñ?Ô?Ð?àŒ×ÒÐ:Ñ;Ô;Ð;Øˆqr    Nr±   r²   rÎ   r8   r    r   rØ   rØ   p  sF   € € € € € Ø*Ð*ðOð Oð Oð Oðð ð ð ð ð r    rØ   c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú_StudyNamesz1Get all study names stored in a specified storager©   r   r   ro   c                óF   — |                      ddt          ddd¬¦  «         d S )Nú-fú--format©r,   rœ   r›   r�   r,   úOutput format.©r½   r¾   r¹   rº   rÃ   r«   s     r   r¬   z_StudyNames.add_argumentsŠ  s;   € Ø×ÒØØÝØ6ØØ!ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r    r­   r   r<   c                óî   — t          |j        |j        ¦  «        }t          j        |¦  «        }g }d}|D ]}|                     ||i¦  «         Œt          t          ||g|j        d¬¦  «        ¦  «         dS )N©ÚnamerN   F)rI   r   )	r+   rÆ   r!   r¥   Úget_all_study_namesrX   rÍ   r¡   Úformat)rr   r­   rÆ   Úall_study_namesrE   Ú
record_keyrÇ   s          r   r°   z_StudyNames.take_action”  s„   € Ý˜{Ô2°KÔ4MÑNÔNˆÝ Ô4°WÑ=Ô=ˆØˆØ!ˆ
Ø)ð 	5ð 	5ˆJØ�NŠN˜J¨
Ð3Ñ4Ô4Ð4Ð4Ý�n˜W z l°KÔ4FÐPUÐVÑVÔVÑWÔWÐWØˆqr    Nr±   r²   rÎ   r8   r    r   rã   rã   ‡  sB   € € € € € Ø;Ð;ð
ð 
ð 
ð 
ðð ð ð ð ð r    rã   c                  ó*   — e Zd ZdZg d¢Zdd„Zdd„ZdS )Ú_StudieszShow a list of studies.)rë   ©rÈ   rN   ©Ún_trialsrN   ©Údatetime_startrN   r©   r   r   ro   c                óx   — |                      ddt          ddd¬¦  «         |                      ddd	d
¬¦  «         d S )Nrå   ræ   rç   r›   rè   ré   ú	--flattenFr¿   z*Flatten nested columns such as directions.rÀ   rÃ   r«   s     r   r¬   z_Studies.add_arguments©  sf   € Ø×ÒØØÝØ6ØØ!ð 	ñ 	
ô 	
ð 	
ð 	×ÒØØØØ=ð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r    r­   r   r<   c                ó<  — t          |j        |j        ¦  «        }t          j        |d¬¦  «        }g }|D ]…}|j        �|j                             t          ¦  «        nd }i }|j        |d<   t          d„ |j
        D ¦   «         ¦  «        |d<   |j        |d<   ||d<   |j        |d<   |                     |¦  «         Œ†t          d	„ |D ¦   «         ¦  «        r| j                             d¦  «         t!          t#          || j        |j        |j        ¦  «        ¦  «         d
S )NF)Úinclude_best_trialrë   c              3  ó$   K  — | ]}|j         V — Œd S r/   )rì   )r3   Úds     r   r5   z'_Studies.take_action.<locals>.<genexpr>Æ  s$   è è € Ð-KÐ-K¸¨a¬fÐ-KÐ-KÐ-KÐ-KÐ-KÐ-Kr    ró   rô   rö   ©Ú
user_attrsrN   c              3  ó.   K  — | ]}|d          i k    V — ŒdS )rþ   Nr8   )r3   Úrs     r   r5   z'_Studies.take_action.<locals>.<genexpr>Ì  s-   è è € Ð<Ð<¨qˆqÐ#Ô$¨Ò*Ð<Ð<Ð<Ð<Ð<Ð<r    r   )r+   rÆ   r!   r¥   Úget_all_study_summariesr÷   r?   r@   rÇ   rB   rÉ   rõ   rÿ   rX   rY   Ú_study_list_headerrÍ   r¡   rî   rI   )rr   r­   rÆ   Ú	summariesrE   ÚsÚstartrS   s           r   r°   z_Studies.take_action¹  sM  € Ý˜{Ô2°KÔ4MÑNÔNˆÝÔ2°7ÈuÐUÑUÔUˆ	àˆØð 	#ð 	#ˆAð Ô#Ð/ð Ô ×)Ò)Õ*:Ñ;Ô;Ð;àð ð
 24ˆFØ#$¤<ˆF�<Ñ Ý(-Ð-KÐ-K¸a¼lÐ-KÑ-KÔ-KÑ(KÔ(KˆFÐ$Ñ%Ø'(¤zˆFÐ#Ñ$Ø-2ˆFÐ)Ñ*Ø)*¬ˆFÐ%Ñ&Ø�NŠN˜6Ñ"Ô"Ð"Ð"åÐ<Ð<°GÐ<Ñ<Ô<Ñ<Ô<ð 	?ØÔ#×*Ò*Ð+=Ñ>Ô>Ð>ÝÝØ˜Ô0°+Ô2DÀkÔFYñô ñ	
ô 	
ð 	
ð
 ˆqr    Nr±   r²   )r$   rh   ri   r³   r  r¬   r°   r8   r    r   rò   rò   Ÿ  sT   € € € € € Ø!Ð!ðð ð Ðð
ð 
ð 
ð 
ð ð ð ð ð ð r    rò   c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú_TrialszShow a list of trials.r©   r   r   ro   c                ó´   — |                      dt          dd¬¦  «         |                      ddt          ddd	¬
¦  «         |                      dddd¬¦  «         d S )Nr·   Tz,The name of the study which includes trials.©r½   rÚ   rº   rå   ræ   rç   r›   rè   ré   rù   Fr¿   ú5Flatten nested columns such as params and user_attrs.rÀ   rÃ   r«   s     r   r¬   z_Trials.add_argumentsÙ  ó‘   € Ø×ÒØÝØØ?ð	 	ñ 	
ô 	
ð 	
ð 	×ÒØØÝØ6ØØ!ð 	ñ 	
ô 	
ð 	
ð 	×ÒØØØØHð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r    r­   r   r<   c                óh  — t          dt          ¦  «         t          |j        |j        ¦  «        }t          j        ||j        ¬¦  «        }d|                     ¦   «         sdnddddd	d
df}t           
                    ||¦  «        \  }}t          t          |||j        |j        ¦  «        ¦  «         dS )NzP'trials' is an experimental CLI command. The interface can change in the future.rÜ   Únumberr,   r„   r÷   Údatetime_completeÚdurationÚparamsrÿ   Ústater   )r	   r   r+   rÆ   r!   r¥   rÝ   rÇ   Ú_is_multi_objectiveÚ
_dataframeÚ$_create_records_and_aggregate_columnrÍ   r¡   rî   rI   ©rr   r­   rÆ   rá   rc   rE   rG   s          r   r°   z_Trials.take_actionï  sÁ   € ÝØ^Ýñ	
ô 	
ð 	
õ
 ˜{Ô2°KÔ4MÑNÔNˆÝÔ!¨'¸kÔ>TÐUÑUÔUˆàØ ×4Ò4Ñ6Ô6ÐDˆGˆG¸HØØØØØØð	
ˆõ &×JÒJÈ5ÐRWÑXÔXÑˆ�Ý�n˜W g¨{Ô/AÀ;ÔCVÑWÔWÑXÔXÐXàˆqr    Nr±   r²   rÎ   r8   r    r   r  r  Ö  sB   € € € € € Ø Ð ð
ð 
ð 
ð 
ð,ð ð ð ð ð r    r  c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú
_BestTrialzShow the best trial.r©   r   r   ro   c                ó´   — |                      dt          dd¬¦  «         |                      ddt          ddd	¬
¦  «         |                      dddd¬¦  «         d S )Nr·   Tz,The name of the study to get the best trial.r
  rå   ræ   rç   r›   rè   ré   rù   Fr¿   r  rÀ   rÃ   r«   s     r   r¬   z_BestTrial.add_arguments  r  r    r­   r   r<   c                óˆ  — t          dt          ¦  «         t          |j        |j        ¦  «        }t          j        ||j        ¬¦  «        }d|                     ¦   «         sdnddddd	d
df}t           
                    ||¦  «        \  }}t          t          ||j        j                 ||j        |j        ¦  «        ¦  «         dS )NzT'best-trial' is an experimental CLI command. The interface can change in the future.rÜ   r  r,   r„   r÷   r  r  r  rÿ   r  r   )r	   r   r+   rÆ   r!   r¥   rÝ   rÇ   r  r  r  rÍ   r¡   Ú
best_trialr  rî   rI   r  s          r   r°   z_BestTrial.take_action!  sÚ   € ÝØbÝñ	
ô 	
ð 	
õ
 ˜{Ô2°KÔ4MÑNÔNˆÝÔ!¨'¸kÔ>TÐUÑUÔUˆàØ ×4Ò4Ñ6Ô6ÐDˆGˆG¸HØØØØØØð	
ˆõ &×JÒJÈ5ÐRWÑXÔXÑˆ�ÝÝØ˜Ô(Ô/Ô0°'¸;Ô;MÈ{ÔObñô ñ	
ô 	
ð 	
ð
 ˆqr    Nr±   r²   rÎ   r8   r    r   r  r    sB   € € € € € ØÐð
ð 
ð 
ð 
ð,ð ð ð ð ð r    r  c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú_BestTrialsz2Show a list of trials located at the Pareto front.r©   r   r   ro   c                ó´   — |                      dt          dd¬¦  «         |                      ddt          ddd	¬
¦  «         |                      dddd¬¦  «         d S )Nr·   TzJThe name of the study to get the best trials (trials at the Pareto front).r
  rå   ræ   rç   r›   rè   ré   rù   Fr¿   r  rÀ   rÃ   r«   s     r   r¬   z_BestTrials.add_arguments@  s‘   € Ø×ÒØÝØØ]ð	 	ñ 	
ô 	
ð 	
ð 	×ÒØØÝØ6ØØ!ð 	ñ 	
ô 	
ð 	
ð 	×ÒØØØØHð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r    r­   r   r<   c                óÌ  ‡— t          dt          ¦  «         t          |j        |j        ¦  «        }t          j        ||j        ¬¦  «        }d„ |j        D ¦   «         Šd| 	                    ¦   «         sdndddd	d
ddf}t                               ||¦  «        \  }}t          t          ˆfd„|¦  «        ¦  «        }t          t          |||j        |j        ¦  «        ¦  «         dS )NzU'best-trials' is an experimental CLI command. The interface can change in the future.rÜ   c                ó   — g | ]	}|j         ‘Œ
S r8   )r  )r3   Útrials     r   rŠ   z+_BestTrials.take_action.<locals>.<listcomp>_  s   € ÐCÐCÐC¨�u”|ÐCÐCÐCr    r  r,   r„   r÷   r  r  r  rÿ   r  c                ó   •— | d         ‰v S )N©r  rN   r8   )rS   Úbest_trialss    €r   ú<lambda>z)_BestTrials.take_action.<locals>.<lambda>l  s   ø€ °&¸Ô2HÈKÐ2W€ r    r   )r	   r   r+   rÆ   r!   r¥   rÝ   rÇ   r$  r  r  r  rA   ÚfilterrÍ   r¡   rî   rI   )	rr   r­   rÆ   rá   rc   rE   rG   Úbest_recordsr$  s	           @r   r°   z_BestTrials.take_actionV  sü   ø€ Ýðåñ	
ô 	
ð 	
õ ˜{Ô2°KÔ4MÑNÔNˆÝÔ!¨'¸kÔ>TÐUÑUÔUˆØCÐC°Ô1BÐCÑCÔCˆàØ ×4Ò4Ñ6Ô6ÐDˆGˆG¸HØØØØØØð	
ˆõ &×JÒJÈ5ÐRWÑXÔXÑˆ�Ý�FÐ#WÐ#WÐ#WÐ#WÐY`ÑaÔaÑbÔbˆÝ�n˜\¨7°KÔ4FÈÔH[Ñ\Ô\Ñ]Ô]Ð]Øˆqr    Nr±   r²   rÎ   r8   r    r   r  r  =  sB   € € € € € Ø<Ð<ð
ð 
ð 
ð 
ð,ð ð ð ð ð r    r  c                  ó   — e Zd ZdZdd„ZdS )	Ú_StorageUpgradez%Upgrade the schema of an RDB storage.r­   r   r   r<   c                ó2  — t          |j        ¦  «        }	 t          |dd¬¦  «        }n5# t          j        j        $ r | j                             d¦  «         Y dS w xY w|                     ¦   «         }| 	                    ¦   «         }| 
                    ¦   «         }||k    r| j                             d¦  «         n\||v rI| j                             d¦  «         |                     ¦   «          | j                             d¦  «         nt          d¦  «         d	S )
NT)Úskip_compatibility_checkÚskip_table_creationzInvalid RDBStorage URL.rM   zThis storage is up-to-date.z3Upgrading the storage schema to the latest version.z!Completed to upgrade the storage.zŽYour optuna version seems outdated against the storage version. Please try updating optuna to the latest version by `$ pip install -U optuna`.r   )r   rÆ   r   r(   r)   r*   r¨   ÚerrorÚget_current_versionÚget_head_versionÚget_all_versionsrà   Úupgrader	   )rr   r­   r   rÆ   Úcurrent_versionÚhead_versionÚknown_versionss          r   r°   z_StorageUpgrade.take_actiont  s9  € Ý(¨Ô)<Ñ=Ô=ˆð	Ý Ø°dÐPTðñ ô ˆGˆGøõ Œ~Ô+ð 	ð 	ð 	ØŒK×ÒÐ7Ñ8Ô8Ð8Ø�1�1ð	øøøð "×5Ò5Ñ7Ô7ˆØ×/Ò/Ñ1Ô1ˆØ ×1Ò1Ñ3Ô3ˆØ˜lÒ*Ð*ØŒK×ÒÐ:Ñ;Ô;Ð;Ð;Ø Ð.Ð.ØŒK×ÒÐRÑSÔSÐSØ�OŠOÑÔÐØŒK×ÒÐ@ÑAÔAÐAÐAåð-ñô ð ð
 ˆqs   –) ©.AÁANr²   )r$   rh   ri   r³   r°   r8   r    r   r)  r)  q  s.   € € € € € Ø/Ð/ðð ð ð ð ð r    r)  c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú_Askz*Create a new trial and suggest parameters.r©   r   r   ro   c                ó`  — |                      dt          d¬¦  «         |                      dt          d¬¦  «         |                      dt          d¬¦  «         |                      dt          d	¬¦  «         |                      d
dt          ddd¬¦  «         |                      dddd¬¦  «         d S )Nr·   úName of study.©r½   rº   z	--samplerz'Class name of sampler object to create.z--sampler-kwargsz8Sampler object initialization keyword arguments as JSON.z--search-spaceztSearch space as JSON. Keys are names and values are outputs from :func:`~optuna.distributions.distribution_to_json`.rå   ræ   rç   rœ   rè   ré   rù   Fr¿   z&Flatten nested columns such as params.rÀ   rÃ   r«   s     r   r¬   z_Ask.add_arguments’  sñ   € Ø×Ò˜NµÐ;KÐÑLÔLÐLØ×Ò˜K­cÐ8aÐÑbÔbÐbØ×ÒØÝØKð 	ñ 	
ô 	
ð 	
ð
 	×ÒØÝðFð	 	ñ 	
ô 	
ð 	
ð 	×ÒØØÝØ6ØØ!ð 	ñ 	
ô 	
ð 	
ð 	×ÒØØØØ9ð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r    r­   r   r<   c                óV  — t          dt          ¦  «         t          |j        |j        ¦  «        }||j        ddœ}|j        �P|j        �t          j	        |j        ¦  «        }ni }t          t          j        |j        ¦  «        } |di |¤Ž}||d<   n|j        �t          d¦  «        ‚|j        �6d„ t          j	        |j        ¦  «                             ¦   «         D ¦   «         }ni }	 t          j        |d         |d         |                     d¦  «        ¬	¦  «        }n# t$          $ r t%          d
¦  «        ‚w xY w|                     |¬¦  «        }	| j                             d|	j        › d|	j        › d�¦  «         d|	j        i}
dg}t1          |	j        ¦  «        dk    r"|j        si |
d<   |                     d¦  «         n=|	j                             ¦   «         D ]#\  }}||
d|f<   |                     d|f¦  «         Œ$t7          t9          |
||j        |j        ¦  «        ¦  «         dS )NzM'ask' is an experimental CLI command. The interface can change in the future.T)rÆ   rÇ   rÊ   Úsamplerzm`--sampler_kwargs` is set without `--sampler`. Please specify `--sampler` as well or omit `--sampler-kwargs`.c                óx   — i | ]7\  }}|t           j                             t          j        |¦  «        ¦  «        “Œ8S r8   )r¥   ÚdistributionsÚjson_to_distributionrœ   rŸ   )r3   rì   Údists      r   r:   z$_Ask.take_action.<locals>.<dictcomp>Ò  sI   € ð ð ð á�D˜$ð •fÔ*×?Ò?ÅÄ
È4Ñ@PÔ@PÑQÔQðð ð r    rÇ   rÆ   )rÇ   rÆ   r;  z€Implicit study creation within the 'ask' command was dropped in Optuna v4.0.0. Please use the 'create-study' command beforehand.)Úfixed_distributionszAsked trial z with parameters ú.r#  r   )r  rN   r  r8   )r	   r   r+   rÆ   r!   rÇ   r;  Úsampler_kwargsrœ   ÚloadsÚgetattrr¥   ÚsamplersÚ
ValueErrorÚsearch_spacerD   rÝ   r   ÚKeyErrorÚaskr¨   rà   r  r  r[   rI   rX   rÍ   r¡   rî   )rr   r­   rÆ   Úcreate_study_kwargsrB  Úsampler_clsr;  rG  rá   r!  rS   rG   Ú
param_nameÚparam_values                 r   r°   z_Ask.take_action±  s”  € ÝØ[Ýñ	
ô 	
ð 	
õ
 ˜{Ô2°KÔ4MÑNÔNˆð Ø%Ô0Ø"ð
ð 
Ðð ÔÐ*ØÔ)Ð5Ý!%¤¨KÔ,FÑ!GÔ!G��à!#�Ý!¥&¤/°;Ô3FÑGÔGˆKØ!�kÐ3Ð3 NÐ3Ð3ˆGØ-4Ð 	Ñ*Ð*àÔ)Ð5Ý ð8ñô ð ð
 Ô#Ð/ðð å"&¤*¨[Ô-EÑ"FÔ"F×"LÒ"LÑ"NÔ"Nðñ ô ˆLˆLð
 ˆLð	ÝÔ%Ø.¨|Ô<Ø+¨IÔ6Ø+×/Ò/°	Ñ:Ô:ðñ ô ˆEˆEøõ ð 	ð 	ð 	ÝðDñô ð ð	øøøð
 —	’	¨l�	Ñ;Ô;ˆàŒ×ÒÐV¨¬ÐVÐVÀuÄ|ÐVÐVÐVÑWÔWÐWà.<¸e¼lÐ-KˆØ!Ð"ˆåˆuŒ|ÑÔ Ò!Ð!¨+Ô*=Ð!Ø%'ˆF�>Ñ"Ø�NŠN˜>Ñ*Ô*Ð*Ð*à+0¬<×+=Ò+=Ñ+?Ô+?ð 7ð 7Ñ'�
˜KØ1<�˜ *Ð-Ñ.Ø—’ ¨*Ð5Ñ6Ô6Ð6Ð6å�n˜V W¨kÔ.@À+ÔBUÑVÔVÑWÔWÐWØˆqs   Ã(6D ÄD9Nr±   r²   rÎ   r8   r    r   r6  r6  �  sH   € € € € € Ø4Ð4ð
ð 
ð 
ð 
ð>Dð Dð Dð Dð Dð Dr    r6  c                  ó"   — e Zd ZdZdd„Zdd
„ZdS )Ú_Tellz5Finish a trial, which was created by the ask command.r©   r   r   ro   c                ó$  — |                      dt          d¬¦  «         |                      dt          d¬¦  «         |                      dt          dd¬	¦  «         |                      d
t          dd¬¦  «         |                      dddd¬¦  «         d S )Nr·   r8  r9  z--trial-numberzTrial number.z--valuesr‡   zObjective values.)r½   rÂ   rº   z--statezTrial state.)ÚcompleteÚprunedÚfail)r½   rº   r¾   z--skip-if-finishedFr¿   zSIf specified, tell is skipped without any error when the trial is already finished.rÀ   )rÄ   r   r<   r=   r«   s     r   r¬   z_Tell.add_argumentsû  s¸   € Ø×Ò˜NµÐ;KÐÑLÔLÐLØ×ÒÐ,µ3¸_ÐÑMÔMÐMØ×Ò˜J­U¸#ÐDWÐÑXÔXÐXØ×ÒØÝØØ2ð	 	ñ 	
ô 	
ð 	
ð 	×ÒØ ØØðð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r    r­   r   r<   c           	     ó–  — t          dt          ¦  «         t          |j        |j        ¦  «        }t          j        ||j        ¬¦  «        }|j        �%t          |j         
                    ¦   «                  }nd }|j        }|j        }|                     ||||j        ¬¦  «         | j                             d|› d|› d|› d�¦  «         dS )	NzN'tell' is an experimental CLI command. The interface can change in the future.rÜ   )r!  r„   r  Úskip_if_finishedzTold trial z with values z and state rA  r   )r	   r   r+   rÆ   r!   r¥   rÝ   rÇ   r  r   ÚupperÚtrial_numberr„   ÚtellrU  r¨   rà   )rr   r­   rÆ   rá   r  rW  r„   s          r   r°   z_Tell.take_action  sð   € ÝØ\Ýñ	
ô 	
ð 	
õ
 ˜{Ô2°KÔ4MÑNÔNˆåÔ!ØØ"Ô-ð
ñ 
ô 
ˆð
 ÔÐ(Ý'1°+Ô2C×2IÒ2IÑ2KÔ2KÔ'LˆEˆEàˆEà"Ô/ˆØÔ#ˆà�
Š
ØØØØ(Ô9ð	 	ñ 	
ô 	
ð 	
ð 	Œ×ÒÐ] |Ð]Ð]À&Ð]Ð]ÐUZÐ]Ð]Ð]Ñ^Ô^Ð^àˆqr    Nr±   r²   rÎ   r8   r    r   rO  rO  ø  sB   € € € € € Ø?Ð?ð
ð 
ð 
ð 
ð$ð ð ð ð ð r    rO  )zcreate-studyzdelete-studyzstudy set-user-attrzstudy-namesÚstudiesÚtrialsz
best-trialzbest-trialszstorage upgraderI  rX  zdict[str, type[_BaseCommand]]Ú	_COMMANDSc                óê   — t           j        t          j        t          j        g}t          j        t
          j        g}| ||z   v r| S t          j        d| › dt          |¦  «        dd…         › d�¦  «        ‚)NzInvalid choice: z  (choose from rM   éÿÿÿÿú))	r   r$   r   r   r   r   ÚargparseÚArgumentTypeErrorr   )r,   r¾   Údeprecated_choicess      r   Ú:_parse_storage_class_without_suggesting_deprecated_choicesrb  =  sƒ   € åÔÝÔ#ÝÔ$ð€Gõ 	Ô#ÝÔ$ðÐð �Ð,Ñ,Ð,Ð,ØˆÝ
Ô
$ØF˜5ÐFÐFµ°W±´¸aÀ¸dÔ1CÐFÐFÐFñô ð r    r©   r   c                ój  — |                       dd d¬¦  «         |                       ddd t          ¬¦  «         |                      ¦   «         }|                      ddd	d
dd¬¦  «         |                      dddd
dd¬¦  «         |                       ddd d¬¦  «         |                       dddd¬¦  «         | S )Nz	--storagezbDB URL. (e.g. sqlite:///example.db) Also can be specified via OPTUNA_STORAGE environment variable.r¸   z--storage-classz,Storage class hint (e.g. JournalFileBackend))rº   r¹   r½   z-vz	--verboseÚcountÚverbose_levelrM   z.Increase verbosity of output. Can be repeated.)rÁ   Údestr¹   rº   z-qz--quietÚstore_constr   z+Suppress output except warnings and errors.)rÁ   rf  Úconstrº   z
--log-fileÚstorez2Specify a file to log output. Disabled by default.)rÁ   r¹   rº   z--debugFr¿   zShow tracebacks on errors.rÀ   )rÄ   rb  Úadd_mutually_exclusive_group)r©   Úverbose_groups     r   Ú_add_common_argumentsrl  N  s&  € Ø
×ÒØØðMð	 ñ ô ð ð ×ÒØØ;ØÝGð	 ñ ô ð ð ×7Ò7Ñ9Ô9€MØ×ÒØØØØØØ=ð ñ ô ð ð ×ÒØØØØØØ:ð ñ ô ð ð ×ÒØØØØAð	 ñ ô ð ð ×ÒØØØØ)ð	 ñ ô ð ð €Mr    Úmain_parserÚparent_parserúdict[str, ArgumentParser]c                ó¨  ‡ — ‰                       ¦   «         }i }t                               ¦   «         D ]o\  }} |¦   «         }|                     ||gt	          j        |¦  «        ¬¦  «        }|                     |¦  «         |                     |j        ¬¦  «         |||<   Œpdˆ fd„}|                     dd	¬
¦  «                             |¬¦  «         |S )N)Úparentsrº   )ÚhandlerÚargsr   r   ro   c                ó0   •— ‰                      ¦   «          d S r/   )Ú
print_help)rs  rm  s    €r   Ú_print_helpz"_add_commands.<locals>._print_helpŒ  s   ø€ Ø×ÒÑ Ô Ð Ð Ð r    rº   zShow help message and exit.)rº   ©rs  r   r   ro   )	Úadd_subparsersr[  rD   Ú
add_parserÚinspectÚgetdocr¬   Úset_defaultsr°   )	rm  rn  Ú
subparsersÚcommand_name_to_subparserÚcommand_nameÚcommand_typeÚcommandÚ	subparserrv  s	   `        r   Ú_add_commandsrƒ  }  s  ø€ ð ×+Ò+Ñ-Ô-€JØ "Ðå&/§o¢oÑ&7Ô&7ð <ð <Ñ"ˆ�lØ�,‘.”.ˆØ×)Ò)Ø = /½¼À|Ñ8TÔ8Tð *ñ 
ô 
ˆ	ð 	×Ò˜iÑ(Ô(Ð(Ø×Ò wÔ':ÐÑ;Ô;Ð;Ø2;Ð! ,Ñ/Ð/ð!ð !ð !ð !ð !ð !ð ×Ò˜&Ð'DÐÑEÔE×RÒRØð Sñ ô ð ð %Ð$r    rN   Údescriptionú0tuple[ArgumentParser, dict[str, ArgumentParser]]c                óÖ   — t          d¬¦  «        }t          |¦  «        }t          | |g¬¦  «        }|                     dddt          j        › �¬¦  «         t          ||¦  «        }||fS )NF)Úadd_help)r„  rq  z	--versionÚversionzoptuna )rÁ   rˆ  )r   rl  rÄ   r¥   Ú__version__rƒ  )r„  rn  rm  r~  s       r   Ú_get_parserrŠ  •  sx   € õ #¨EÐ2Ñ2Ô2€MÝ)¨-Ñ8Ô8€Må ¨[À=À/ÐRÑRÔR€KØ×Ò˜[°ÐDbÍfÔN`ÐDbÐDbÐÑcÔcÐcÝ -¨k¸=Ñ IÔ IÐØÐ1Ð1Ð1r    Úargvc                óF  — t          | ¦  «        dk    r
| dd …         ndg} t          t          | ¦  «        ¦  «        D ]c}t          ||dz   ¦  «        D ]M}d                     | ||dz   …         ¦  «        }|t          v r"| d |…         | |dz   d …         z   }|g|z   c c S ŒNŒd| S )NrM   rº   rg   rz   )r[   r\   rƒ   r[  )r‹  ra   ÚjÚcommand_candidateÚoptionss        r   Ú_preprocess_argvr�  ¡  sÏ   € õ ˜4‘y”y 1’}�}ˆ4���Œ8ˆ8¨6¨(€Då•3�t‘9”9ÑÔð 5ð 5ˆÝ�q˜!˜a™%‘”ð 	5ð 	5ˆAØ #§¢¨¨a°!°a±%¨i¬Ñ 9Ô 9ÐØ ¥IÐ-Ð-Ø˜r ˜rœ( T¨!¨a©%¨'¨'¤]Ñ2�Ø)Ð*¨WÑ4Ð4Ð4Ð4Ð4Ð4ð .ð	5ð €Kr    rs  r   ro   c                ó(  — t          j        ¦   «         }|                     t           j        ¦  «         t          j        t
          j        ¦  «        }t           j        t           j        t           j        dœ 	                    | j
        t           j        ¦  «        }|                     |¦  «         |                     t          j                              ¦   «         ¦  «         |                     |¦  «         t          j                              |¦  «         d S )N)r   rM   rg   )r¦   Ú	getLoggerÚsetLevelÚDEBUGÚStreamHandlerÚsysÚstderrÚWARNINGÚINFOr   re  ÚsetFormatterr¥   Úcreate_default_formatterÚ
addHandlerÚset_verbosity)rs  Úroot_loggerÚstream_handlerÚlogging_levels       r   Ú_set_verbosityr¡  ±  sÖ   € ÝÔ#Ñ%Ô%€KØ×Ò�œÑ'Ô'Ð'ÝÔ*­3¬:Ñ6Ô6€Nõ Œ?ÝŒ<ÝŒ=ðð ÷ 
‚cˆ$Ô
�gœmÑ,Ô,ð	 ð ×Ò˜MÑ*Ô*Ð*Ø×Ò¥¤× GÒ GÑ IÔ IÑJÔJÐJØ×Ò˜>Ñ*Ô*Ð*å
„N× Ò  Ñ/Ô/Ð/Ð/Ð/r    c                ó<  — | j         €d S t          j        ¦   «         }|                     t          j        ¦  «         t          j        | j         ¬¦  «        }|                     t          j                             ¦   «         ¦  «         | 	                    |¦  «         d S )N)Úfilename)
Úlog_filer¦   r’  r“  r”  ÚFileHandlerrš  r¥   r›  rœ  )rs  rž  Úfile_handlers      r   Ú_set_log_filer§  Ã  s�   € Ø„}ÐØˆåÔ#Ñ%Ô%€KØ×Ò�œÑ'Ô'Ð'åÔ&Ø”ðñ ô €Lð ×Ò�fœn×EÒEÑGÔGÑHÔHÐHØ×Ò˜<Ñ(Ô(Ð(Ð(Ð(r    r<   c                 ó”  — t          ¦   «         \  } }t          j        }t          |¦  «        }|                      |¦  «        }t          |¦  «         t          |¦  «         t          j        d¦  «        }	 | 	                    |¦  «        S # t          $ r]}|j        r|                     |¦  «         n5|                     |¦  «         ||d                                       ¦   «          Y d }~dS d }~wt          $ rN d                     |dd …         ¦  «        }|                     d|› d�¦  «         |                      ¦   «          Y dS w xY w)Nr¥   r   rM   rz   ú'z/' is not an optuna command. see 'optuna --help')rŠ  r–  r‹  r�  Ú
parse_argsr¡  r§  r¦   r’  rr  r
   ÚdebugÚ	exceptionr-  ru  ÚAttributeErrorrƒ   )rm  r~  r‹  Úpreprocessed_argvrs  r¨   ÚeÚargv_strs           r   Úmainr±  Ñ  s]  € Ý-8©]¬]Ñ*€KÐ*åŒ8€DÝ(¨Ñ.Ô.ÐØ×!Ò!Ð"3Ñ4Ô4€Då�4ÑÔÐÝ�$ÑÔÐåÔ˜xÑ(Ô(€FðØ�|Š|˜DÑ!Ô!Ð!øÝð ð ð ØŒ:ð 	IØ×Ò˜QÑÔÐÐà�LŠL˜‰OŒOˆOð &Ð&7¸Ô&:Ô;×FÒFÑHÔHÐHØˆqˆqˆqˆqˆqøøøøÝð ð ð ð —8’8˜D   œHÑ%Ô%ˆØ�ŠÐR˜ÐRÐRÐRÑSÔSÐSØ×ÒÑ Ô Ð Øˆqˆqðøøøs    Á5B
 Â

EÂAC,Ã,AEÅE)r   r   r   r   )r   r   r!   r   r   r   )r,   r   r   r   )rE   rF   rG   rH   rI   rJ   r   rK   )rE   r   r^   r€   r   r   )
rE   r˜   rG   rH   r™   r   rI   rJ   r   r   )r,   r   r   r   )r©   r   r   r   )rm  r   rn  r   r   ro  )rN   )r„  r   r   r…  )r‹  r€   r   r€   rw  r~   )Gr³   Ú
__future__r   r_  r   r   r>   Úenumr   rz  rœ   r¦   r   r–  Útypingr   Úsqlalchemy.excr(   r�   r¥   Úoptuna._importsr   Úoptuna._warningsr	   Úoptuna.exceptionsr
   r   Úoptuna.storagesr   r   r   r   r   Úoptuna.storages.journalr   r   Úoptuna.trialr   r  r@   r   r+   r1   rd   rf   rn   r…   r—   r¡   r£   rµ   rÐ   rØ   rã   rò   r  r  r  r)  r6  rO  r[  Ú__annotations__rb  rl  rƒ  rŠ  r�  r¡  r§  r±  r8   r    r   ú<module>r½     sž  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø (Ð (Ð (Ð (Ð (Ð (Ø +Ð +Ð +Ð +Ð +Ð +Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø .Ð .Ð .Ð .Ð .Ð .Ø /Ð /Ð /Ð /Ð /Ð /Ø *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø #Ð #Ð #Ð #Ð #Ð #ð ˆ[Ð2Ñ3Ô3€
à&Ð ð9ð 9ð 9ð 9ðNð Nð Nð Nð2ð ð ð ð 7ð 7ð 7ð 7ðtð ð ð ð �ñ ô ð ð'ð 'ð 'ð 'ð 'ñ 'ô 'ð 'ð:
ð 
ð 
ð 
ð%ð %ð %ð %ðPZð Zð Zð Zð:"ð "ð "ð "ð "ñ "ô "ð "ðD-ð -ð -ð -ð -�<ñ -ô -ð -ð`
ð 
ð 
ð 
ð 
�<ñ 
ô 
ð 
ðð ð ð ð ˜\ñ ô ð ð.ð ð ð ð �,ñ ô ð ð04ð 4ð 4ð 4ð 4ˆ|ñ 4ô 4ð 4ðn/ð /ð /ð /ð /ˆlñ /ô /ð /ðd2ð 2ð 2ð 2ð 2�ñ 2ô 2ð 2ðj1ð 1ð 1ð 1ð 1�,ñ 1ô 1ð 1ðhð ð ð ð �lñ ô ð ð<fð fð fð fð fˆ<ñ fô fð fðR3ð 3ð 3ð 3ð 3ˆLñ 3ô 3ð 3ðn !Ø Ø1ØØØØØØ&ØØð,ð ,€	ð ð ð ñ ðð ð ð ð",ð ,ð ,ð ,ð^%ð %ð %ð %ð0	2ð 	2ð 	2ð 	2ð 	2ðð ð ð ð 0ð 0ð 0ð 0ð$)ð )ð )ð )ðð ð ð ð ð r    