
    lj]              	          d 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mZ ddlmZmZ ddlZddlmZ ddlmZmZmZmZ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#m$Z$ ddl%m&Z& dgZ' G d de          Z( ej)        dde#           ej*        d ej        e          d           ej*        ddd          eee!ed d                                                                                    Z+dS )!zManim's default subcommand, render.

Manim's render subcommand is accessed in the command-line interface via
``manim``, but can be more explicitly accessed with ``manim render``. Here you
can specify options, and arguments for the render command.

    )annotationsN)	Namespace)Path)Anycast)__version__)configconsoleerror_consolelogger
tempconfig)ease_of_access_options)global_options)output_options)render_options)EPILOGRendererType)scene_classes_from_filerenderc                  6    e Zd ZddZddZddZddZddZdS )	ClickArgsargsdict[str, Any]returnNonec                >    |D ]}t          | |||                    d S N)setattr)selfr   names      T/home/agentuser/manim-venv/lib/python3.11/site-packages/manim/cli/render/commands.py__init__zClickArgs.__init__)   s4     	, 	,DD$T
++++	, 	,    list[tuple[str, Any]]c                N    t          | j                                                  S r   )list__dict__itemsr   s    r!   _get_kwargszClickArgs._get_kwargs-   s    DM''))***r#   otherobjectboolc                z    t          |t                    st          S t          |           t          |          k    S r   )
isinstancer   NotImplementedvars)r   r+   s     r!   __eq__zClickArgs.__eq__0   s1    %++ 	"!!DzzT%[[((r#   keystrc                    || j         v S r   )r'   )r   r3   s     r!   __contains__zClickArgs.__contains__5   s    dm##r#   c                *    t          | j                  S r   )r4   r'   r)   s    r!   __repr__zClickArgs.__repr__8   s    4=!!!r#   N)r   r   r   r   )r   r$   )r+   r,   r   r-   )r3   r4   r   r-   )r   r4   )__name__
__module____qualname__r"   r*   r2   r6   r8    r#   r!   r   r   (   sx        , , , ,+ + + +) ) ) )
$ $ $ $" " " " " "r#   r   T)context_settingsno_args_is_helpepilogfile)	path_type)typerequiredscene_namesF)rC   nargskwargsr   r   ClickArgs | dict[str, Any]c                 r   | d         rt          j        d           d| d<   | d         rt          j        d           d| d<   | d         rt          j        d	           t          |           }| d
         r|S t          j        |           t          t          j                  }t          j        t          j	        k    rddl
m} 	  |            }d}|rt          |          D ]a}t          i           5   ||          }|                                }ddd           n# 1 swxY w Y   |st          d         rd|_        _d} t          d         rd}|n# t           $ r* t#          j                     t'          j        d           Y nw xY wt          |          D ]}	 t          i           5   |            }|                                 ddd           n# 1 swxY w Y   I# t           $ r* t#          j                     t'          j        d           Y |w xY wt          j        rd}	d}
	 t,          j                            t,          j                            |	          d          5 }t5          t6          j        j        |          }t=          j        |                                           }ddd           n# 1 swxY w Y   |d         d         }|tB          k    r4tE          j#        dtB           d| d           tE          j#        d           n# t,          j$        j%        $ r t          j&        d|
           Y ntt,          j$        j'        $ r t          j&        d|
           Y nJt<          j(        $ r t          j&        d|	|
           Y n$t           $ r t          j&        d|
           Y nw xY w| S ) zRender SCENE(S) from the input FILE.

    FILE is the file path of the script or a config file.

    SCENES is an optional list of scenes in the file.
    save_as_gifz=--save_as_gif is deprecated, please use --format=gif instead!gifformat	save_pngsz;--save_pngs is deprecated, please use --format=png instead!pngshow_in_file_browserz[The short form of show_in_file_browser is deprecated and will be moved to support --format.jupyterr   )OpenGLRendererTN	write_allF   z https://pypi.org/pypi/manim/jsonz4Cannot check if latest release of manim is installed
   )timeoutinfoversionz"You are using manim version [red]vz[/red], but version [green]vz[/green] is available.zGYou should consider upgrading via [yellow]pip install -U manim[/yellow]zHTTP Error: %szURL Error: %sz%Error while decoding JSON from %r: %szSomething went wrong: %s))r   warningr   r	   digest_argsr   
input_filerendererr   OPENGLmanim.renderer.opengl_rendererrQ   r   r   r   	num_plays	Exceptionr   print_exceptionsysexitnotify_outdated_versionurllibrequesturlopenRequestr   httpclientHTTPResponsejsonloadsreadr   r
   printerror	HTTPErrordebugURLErrorJSONDecodeError)rG   
click_argsr@   rQ   r[   keep_running
SceneClassscenererunmanim_info_urlwarn_promptresponse	json_datastables                 r!   r   r   <   s   $ m !VWWW xk !TUUU x$% 
i	
 	
 	
 6""Ji 
z"""!""D,---AAAAAA	%~''HL )"9$"?"? 	 	J#B / / *
8 4 4 %/ / / / / / / / / / / / / / /  { 3 -.* ',+& )#(L  )  	 	 	)+++HQKKKKK	 2$77 	 	J^^ # #&JLLELLNNN# # # # # # # # # # # # # # #    -/// % ;L	''&&~66 (   8  8(CC Jx}}77	8 8 8 8 8 8 8 8 8 8 8 8 8 8 8" v&y1F$$ A  A  Abh  A  A  A   ]  ! |% 	8 	8 	8L);77777|$ 	7 	7 	7L+66666# 	 	 	L7      	B 	B 	BL3[AAAAA	B Ms   .E 4 D E  D$	$E 'D$	(.E 1F
F G&/GG&G	G&!G	"G&&1HH/>L -AJ?3L ?KL KL )N4(N4-$N4N43N4)rG   r   r   rH   ),__doc__
__future__r   http.clientrh   rk   ra   urllib.errorrd   urllib.requestargparser   pathlibr   typingr   r   cloupmanimr   manim._configr	   r
   r   r   r   'manim.cli.render.ease_of_access_optionsr   manim.cli.render.global_optionsr   manim.cli.render.output_optionsr   manim.cli.render.render_optionsr   manim.constantsr   r   manim.utils.module_opsr   __all__r   commandargumentr   r<   r#   r!   <module>r      sb    # " " " " "      



                                                 K J J J J J : : : : : : : : : : : : : : : : : : 0 0 0 0 0 0 0 0 : : : : : :*" " " " "	 " " "(   
 ZUZ$777$GGGR888Z Z Z     98 HG Z Z Zr#   