
    +j                        d dl Z d dlZd dl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 dd	lmZ dd
l
mZ ddl
mZ ddlmZmZ  ej        d          Z	 d<deeeef         ef         deeeef                  deeef         fdZ	 d<deeeef         ef         deeeef                  deeef         fdZ	 d<deeeef         ef         deeeef                  deeef         fdZ	 d<deeeef         ef         deeeef                  deeef         fdZ	 d<deeeef         ef         deeeef                  deeef         fdZ 	 d<deeeef         ef         deeeef                  deeef         fdZ!	 d<deeeef         ef         deeeef                  deeef         fdZ"	 d<dedeeeef         ef         deeeef                  deeef         fdZ#	 d<dedeeeef         ef         deeeef                  deeef         fdZ$	 d<dedeeeef         ef         deeeef                  deeef         fdZ%	 d<dedeeeef         ef         deeeef                  deeef         fdZ&	 d<deeeef         ef         deeeef                  deeef         fdZ'	 d<deeeef         ef         deeeef                  deeef         fdZ(	 d<deeeef         ef         deeeef                  deeef         fdZ)	 d<deeeef         ef         deeeef                  deeef         fd Z*	 d<deeeef         ef         deeeef                  deeef         fd!Z+	 d<deeeef         ef         deeeef                  deeef         fd"Z,	 d<dedeeeef         ef         deeeef                  deeef         fd#Z-	 d<dedeeeef         ef         deeeef                  deeef         fd$Z.	 d<deeeef         ef         deeeef                  deeef         fd%Z/	 d<deeeef         ef         deeeef                  deeef         fd&Z0	 d<deeeef         ef         deeeef                  deeef         fd'Z1	 d<deeeef         ef         deeeef                  deeef         fd(Z2	 d<deeeef         ef         deeeef                  deeef         fd)Z3	 d<deeeef         ef         deeeef                  deeef         fd*Z4	 d<deeeef         ef         deeeef                  deeef         fd+Z5	 d<deeeef         ef         deeeef                  deeef         fd,Z6	 d<deeeef         ef         deeeef                  deeef         fd-Z7	 d<deeeef         ef         deeeef                  deeef         fd.Z8	 d<deeeef         ef         deeeef                  deeef         fd/Z9	 d<deeeef         ef         deeeef                  deeef         fd0Z:	 d<deeeef         ef         deeeef                  deeef         fd1Z;	 d<deeeef         ef         deeeef                  deeef         fd2Z<	 d<deeeef         ef         deeeef                  deeef         fd3Z=	 d<deeeef         ef         deeeef                  deeef         fd4Z>	 d<deeeef         ef         deeeef                  deeef         fd5Z?	 d<dedeeeef         ef         deeeef                  deeef         fd6Z@	 d<dedeeeef         ef         deeeef                  deeef         fd7ZA G d8 d9e	jB                  ZC G d: d;e	jB                  ZDdS )=    N)AnyOptionalUnion)	urlencode   )_api_module)_common)_transformers)types)BaseApiClient)get_value_by_path)set_value_by_path)
AsyncPagerPagerzgoogle_genai.cachesfrom_objectparent_objectreturnc                    i }t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          t          d          t          | dg          t          d          t          | d	g          t          d
          t          | dg          t          d          t          | dg          t          d          |S )Napi_keyapiKeyapi_key_configzvapi_key_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.	auth_typezqauth_type parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.google_service_account_configzgoogle_service_account_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.http_basic_auth_configz~http_basic_auth_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.oauth_configztoauth_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.oidc_configzsoidc_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.getvsetv
ValueErrorr   r   	to_objects      W/home/wildlama/visual-decline/.venv/lib/python3.11/site-packages/google/genai/caches.py_AuthConfig_to_mldevr$   #   sL    !)	+	{##/XJ[9+ > >???	+()**6
	<  
 
+}%%1
	<  
 
+7899E
	M  
 
+0122>
	M  
 
+'((4
	<  
 
+''3
	<  
 
    c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          !t          |dgt          | dg                     |S )Ndatadisplay_nametdisplay_name parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.	mime_typemimeTyper   r!   s      r#   _Blob_to_mldevr,   R   s     !)	+x  ,VHd;99:::	+'((4
	<  
 
+}%%1ZL${[M"B"BCCC	r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          |S )Noutcomeoutputidjid parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r!   s      r#   _CodeExecutionResult_to_vertexr2   f   s     !)	+	{##/YKkI;!?!?@@@	+z"".XJ[8* = =>>>	+v*
	2  
 
r%   c           	          i t          | dg          -t          dgfdt          | dg          D                        t          | dg          !t          dgt          | dg                     S )Npartsc                 0    g | ]}t          |          S  )_Part_to_mldev.0itemr"   s     r#   
<listcomp>z%_Content_to_mldev.<locals>.<listcomp>   3     	
 	
 	
 4++	
 	
 	
r%   roler   r   r!   s     @r#   _Content_to_mldevr?   z        !)	+y!!-			
 	
 	
 	
[7)44	
 	
 	
   
+x  ,VHd;99:::	r%   c           	          i t          | dg          -t          dgfdt          | dg          D                        t          | dg          !t          dgt          | dg                     S )Nr4   c                 0    g | ]}t          |          S r6   )_Part_to_vertexr8   s     r#   r;   z&_Content_to_vertex.<locals>.<listcomp>   3     	
 	
 	
 D),,	
 	
 	
r%   r=   r>   r!   s     @r#   _Content_to_vertexrE      r@   r%   c                    i t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          ?t          |dgfdt          j        t          | dg                    D                        t          | dg          At          |d	gt	          t          j        t          | dg                                         t          | d
g          -t          |d
gfdt          | d
g          D                        t          | dg          /t          |dgt          t          | dg                               t          | dg          t          d          S )Nttlexpire_time
expireTimer(   displayNamecontentsc                 0    g | ]}t          |          S r6   )r?   r8   s     r#   r;   z7_CreateCachedContentConfig_to_mldev.<locals>.<listcomp>   s3     	
 	
 	
 dI..	
 	
 	
r%   system_instructionsystemInstructiontoolsc                 0    g | ]}t          |          S r6   )_Tool_to_mldevr8   s     r#   r;   z7_CreateCachedContentConfig_to_mldev.<locals>.<listcomp>   r<   r%   tool_config
toolConfigkms_key_nameztkms_key_name parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.)r   r   t
t_contentsr?   	t_content_ToolConfig_to_mldevr    r!   s     @r#   #_CreateCachedContentConfig_to_mldevrY      s@    !)	+w+kE7!;!;<<<	+''3[=/(J(JKKK	+'((4kN;K)L)LMMM	+
|$$0		
 	
 	
 	
T+
|%D%DEE	
 	
 	
   
+,-..:	K[+?*@AABBI	
 	
   
+y!!-			
 	
 	
 	
[7)44	
 	
 	
   
+''3	T+??KK   
+'((4
	<  
 
r%   c                    i t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          ?t          |dgfdt          j        t          | dg                    D                        t          | dg          At          |d	gt	          t          j        t          | dg                                         t          | d
g          -t          |d
gfdt          | d
g          D                        t          | dg          /t          |dgt          t          | dg                               t          | dg          "t          |ddgt          | dg                     S )NrG   rH   rI   r(   rJ   rK   c                 0    g | ]}t          |          S r6   )rE   r8   s     r#   r;   z8_CreateCachedContentConfig_to_vertex.<locals>.<listcomp>   s3     	
 	
 	
 tY//	
 	
 	
r%   rM   rN   rO   c                 0    g | ]}t          |          S r6   )_Tool_to_vertexr8   s     r#   r;   z8_CreateCachedContentConfig_to_vertex.<locals>.<listcomp>  rD   r%   rR   rS   rT   encryption_spec
kmsKeyName)r   r   rU   rV   rE   rW   _ToolConfig_to_vertexr!   s     @r#   $_CreateCachedContentConfig_to_vertexra      sV    !)	+w+kE7!;!;<<<	+''3[=/(J(JKKK	+'((4kN;K)L)LMMM	+
|$$0		
 	
 	
 	
T+
|%D%DEE	
 	
 	
   
+,-..:	K[+?*@AABBI	
 	
   
+y!!-			
 	
 	
 	
[7)44	
 	
 	
   
+''3	d;@@)LL   
+'((4	L)[>*++   
r%   
api_clientc                     i }t          |dg          4t          |dgt          j        | t          |dg                               t          |dg          t	          t          |dg          |           |S Nmodelconfig)r   r   rU   t_caches_modelrY   rb   r   r   r"   s       r#   '_CreateCachedContentParameters_to_mldevri     s    
 !)	+y!!-			T+y%A%ABB   
+z"".'[8*%%y   
r%   c                     i }t          |dg          4t          |dgt          j        | t          |dg                               t          |dg          t	          t          |dg          |           |S rd   )r   r   rU   rg   ra   rh   s       r#   (_CreateCachedContentParameters_to_vertexrk   2  s    
 !)	+y!!-			T+y%A%ABB   
+z"".([8*%%y   
r%   c                     i }t          |dg          5t          |ddgt          j        | t          |dg                               |S Nname_urlr   r   rU   t_cached_content_namerh   s       r#   '_DeleteCachedContentParameters_to_mldevrr   G  \    
 !)	+x  ,		
Dvh,G,GHH   
r%   c                     i }t          |dg          5t          |ddgt          j        | t          |dg                               |S rm   rp   rh   s       r#   (_DeleteCachedContentParameters_to_vertexru   W  rs   r%   c                 n    i }t          | dg          !t          |dgt          | dg                     |S NsdkHttpResponsesdk_http_responser>   r!   s      r#   '_DeleteCachedContentResponse_from_mldevrz   g  P     !)	+)*++7'(${=N<O*P*P   
r%   c                 n    i }t          | dg          !t          |dgt          | dg                     |S rw   r>   r!   s      r#   (_DeleteCachedContentResponse_from_vertexr}   t  r{   r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          |S )Ncodelanguager0   r1   r   r!   s      r#   _ExecutableCode_to_vertexr     s     !)	+x  ,VHd;99:::	+
|$$0ZL${ZL"A"ABBB	+v*
	2  
 
r%   c                    i }t          | dg          t          d          t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     |S )Nr(   r)   file_urifileUrir*   r+   )r   r    r   r!   s      r#   _FileData_to_mldevr     s     !)	+'((4
	<  
 
+
|$$0YKkJ<!@!@AAA	+}%%1ZL${[M"B"BCCC	r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          t          d          |S )Nr0   argsrn   partial_argsztpartial_args parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.will_continuezuwill_continue parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   r!   s      r#   _FunctionCall_to_mldevr     s     !)	+v*TFDtf55666	+x  ,VHd;99:::	+x  ,VHd;99:::	+'((4
	<  
 
+())5
	<  
 
r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          |S )Nallowed_function_namesallowedFunctionNamesmodestream_function_call_argumentszstream_function_call_arguments parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   r!   s      r#   _FunctionCallingConfig_to_mldevr     s     !)	+0122>	 [3455   
+x  ,VHd;99:::	+89::F
	M  
 
r%   c                     i }t          |dg          5t          |ddgt          j        | t          |dg                               |S rm   rp   rh   s       r#   $_GetCachedContentParameters_to_mldevr     rs   r%   c                     i }t          |dg          5t          |ddgt          j        | t          |dg                               |S rm   rp   rh   s       r#   %_GetCachedContentParameters_to_vertexr     rs   r%   c           
          i }t          | dg          /t          |dgt          t          | dg          |                     t          | dg          !t          |dgt          | dg                     |S )Nauth_config
authConfigenable_widgetenableWidget)r   r   r$   r!   s      r#   _GoogleMaps_to_mldevr     s     !)	+''3	T+??KK   
+())5^$d;8I&J&JKKK	r%   c                 R   i }t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          t          d          t          | dg          !t          |dgt          | dg                     |S )	Nsearch_typessearchTypesblocking_confidencez{blocking_confidence parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.exclude_domainszwexclude_domains parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.time_range_filtertimeRangeFilterr   r!   s      r#   _GoogleSearch_to_mldevr     s     !)	+'((4]OT+7G%H%HIII	+-.//;
	B  
 
+)*++7
	<  
 
++,--9%&[;N:O(P(P   
r%   c                     i }t          | dg          "t          |ddgt          | dg                     t          | dg          "t          |ddgt          | dg                     |S N	page_size_querypageSize
page_token	pageTokenr>   r!   s      r#   "_ListCachedContentsConfig_to_mldevr   ,       !)	+}%%1*-tK+/O/O   
+~&&2	;[<.))   
r%   c                     i }t          | dg          "t          |ddgt          | dg                     t          | dg          "t          |ddgt          | dg                     |S r   r>   r!   s      r#   #_ListCachedContentsConfig_to_vertexr   A  r   r%   c                 j    i }t          | dg          t          t          | dg          |           |S Nrf   )r   r   r!   s      r#   &_ListCachedContentsParameters_to_mldevr   V  s=     !)	+z"".&tK('D'DiPPP	r%   c                 j    i }t          | dg          t          t          | dg          |           |S r   )r   r   r!   s      r#   '_ListCachedContentsParameters_to_vertexr   a  sF     !)	+z"".'[8*%%y   
r%   c           	      J   i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          +t          |dgd t          | dg          D                        |S )Nrx   ry   nextPageTokennext_page_tokencachedContentscached_contentsc                     g | ]}|S r6   r6   r9   r:   s     r#   r;   z:_ListCachedContentsResponse_from_mldev.<locals>.<listcomp>      @@@$@@@r%   r>   r!   s      r#   &_ListCachedContentsResponse_from_mldevr   n       !)	+)*++7'(${=N<O*P*P   
+())5&'kO;L)M)MNNN	+()**6	@@${-=,>??@@@   
r%   c           	      J   i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          +t          |dgd t          | dg          D                        |S )Nrx   ry   r   r   r   r   c                     g | ]}|S r6   r6   r   s     r#   r;   z;_ListCachedContentsResponse_from_vertex.<locals>.<listcomp>  r   r%   r>   r!   s      r#   '_ListCachedContentsResponse_from_vertexr     r   r%   c                     i }t          | dg          t          d          t          | dg          t          d          |S )Nrn   zlname parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.streamable_http_transportzstreamable_http_transport parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.)r   r    r!   s      r#   _McpServer_to_vertexr     sh     !)	+x  ,
	2  
 
+3455A
	M  
 
r%   c           
         i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          /t          |dgt          t          | dg          |                     t          | d	g          /t          |d
gt          t          | d	g          |                     t          | dg          !t          |dgt          | dg                     t          | dg          /t          |dgt	          t          | dg          |                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     |S )Nmedia_resolutionmediaResolutioncode_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_callfunctionCallfunction_responsefunctionResponseinline_data
inlineDatatextthoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadata	tool_calltoolCalltool_responsetoolResponsepart_metadatapartMetadata)r   r   r   r   r,   r!   s      r#   r7   r7     s]    !)	+*+,,8%&[;M:N(O(O   
+/011=	[2344   
+)*++7%&[;L:M(N(NOOO	+}%%1	4k];;YGG   
+())5	tK/1BCCYOO   
++,--9	[./00   
+''3	tK-999EE   
+x  ,VHd;99:::	+	{##/YKkI;!?!?@@@	++,--9	[./00   
+()**6_%tK:J9K'L'LMMM	+}%%1ZL${[M"B"BCCC	+())5^$d;8I&J&JKKK	+())5^$d;8I&J&JKKK	r%   c           
      N   i }t          | dg          !t          |dgt          | dg                     t          | dg          /t          |dgt          t          | dg          |                     t          | dg          /t          |dgt          t          | dg          |                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t	          d          t          | dg          t	          d          t          | dg          t	          d          |S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   zqtool_call parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   zutool_response parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   zupart_metadata parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.)r   r   r2   r   r    r!   s      r#   rC   rC     s-    !)	+*+,,8%&[;M:N(O(O   
+/011=	&6788)	
 	
   
+)*++7	!0122I	
 	
   
+}%%1ZL${[M"B"BCCC	+())5^$d;8I&J&JKKK	++,--9	[./00   
+''3\ND}o$F$FGGG	+x  ,VHd;99:::	+	{##/YKkI;!?!?@@@	++,--9	[./00   
+()**6_%tK:J9K'L'LMMM	+}%%1
	9  
 
+())5
	?  
 
+())5
	?  
 
r%   c           
      R   i }t          | dg          !t          |dgt          | dg                     t          | dg          /t          |dgt          t          | dg          |                     t          | dg          !t          |dgt          | dg                     |S )Nretrieval_configretrievalConfigfunction_calling_configfunctionCallingConfig$include_server_side_tool_invocations includeServerSideToolInvocations)r   r   r   r!   s      r#   rX   rX   M  s     !)	+*+,,8%&[;M:N(O(O   
+1233?	 !'89::I	
 	
   
+>?@@L	+,[ABCC   
r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          |S )Nr   r   r   r   r   zinclude_server_side_tool_invocations parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r!   s      r#   r`   r`   j  s     !)	+*+,,8%&[;M:N(O(O   
+1233?	 ![4566   
+>?@@L
	   
r%   c           
         i }t          | dg          t          d          t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          /t          |dgt          t          | dg          |                     t          | d	g          /t          |d
gt	          t          | d	g          |                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          +t          |dgd t          | dg          D                        t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          !t          |dgt          | dg                     t          | dg          +t          |dgd t          | dg          D                        |S )N	retrievalzqretrieval parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.computer_usecomputerUsefile_search
fileSearchgoogle_searchgoogleSearchgoogle_maps
googleMapscode_executioncodeExecutionenterprise_web_searchz}enterprise_web_search parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.function_declarationsfunctionDeclarationsc                     g | ]}|S r6   r6   r   s     r#   r;   z"_Tool_to_mldev.<locals>.<listcomp>      GGG$GGGr%   google_search_retrievalgoogleSearchRetrievalparallel_ai_searchzzparallel_ai_search parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.url_context
urlContextmcp_servers
mcpServersc                     g | ]}|S r6   r6   r   s     r#   r;   z"_Tool_to_mldev.<locals>.<listcomp>  s    ===$===r%   )r   r    r   r   r   r!   s      r#   rQ   rQ     s    !)	+}%%1
	<  
 
+'((4]OT+7G%H%HIII	+''3\ND}o$F$FGGG	+())5	tK/1BCCYOO   
+''3	T+??KK   
+()**6_%tK:J9K'L'LMMM	+/011=
	B  
 
+/011=	 GG${-D,EFFGGG   
+1233?	 ![4566   
+,-..:
	B  
 
+''3\ND}o$F$FGGG	+''3	==${]O<<===   
r%   c           	         i t          | dg          !t          dgt          | dg                     t          | dg          !t          dgt          | dg                     t          | dg          t          d          t          | dg          !t          dgt          | dg                     t          | dg          !t          d	gt          | dg                     t          | d
g          !t          dgt          | d
g                     t          | dg          !t          dgt          | dg                     t          | dg          +t          dgd t          | dg          D                        t          | dg          !t          dgt          | dg                     t          | dg          !t          dgt          | dg                     t          | dg          !t          dgt          | dg                     t          | dg          -t          dgfdt          | dg          D                        S )Nr   r   r   r   zsfile_search parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r   r   r   r   r   r   enterpriseWebSearchr   r   c                     g | ]}|S r6   r6   r   s     r#   r;   z#_Tool_to_vertex.<locals>.<listcomp>  r   r%   r   r   r   parallelAiSearchr   r   r   r   c                 0    g | ]}t          |          S r6   )r   r8   s     r#   r;   z#_Tool_to_vertex.<locals>.<listcomp>  s3     	
 	
 	
 !y11	
 	
 	
r%   r   r!   s     @r#   r]   r]     s    !)	+}%%1[M4k]#C#CDDD	+'((4]OT+7G%H%HIII	+''3
	9  
 
+())5^$d;8I&J&JKKK	+''3\ND}o$F$FGGG	+()**6_%tK:J9K'L'LMMM	+/011=	[2344   
+/011=	 GG${-D,EFFGGG   
+1233?	 ![4566   
+,-..:	[/011   
+''3\ND}o$F$FGGG	+''3		
 	
 	
 	
[=/::	
 	
 	
   
r%   c                     i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     |S NrG   rH   rI   r>   r!   s      r#   #_UpdateCachedContentConfig_to_mldevr    s     !)	+w+kE7!;!;<<<	+''3[=/(J(JKKK	r%   c                     i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     |S r  r>   r!   s      r#   $_UpdateCachedContentConfig_to_vertexr
  #  r  r%   c                     i }t          |dg          5t          |ddgt          j        | t          |dg                               t          |dg          t	          t          |dg          |           |S Nrn   ro   rf   )r   r   rU   rq   r  rh   s       r#   '_UpdateCachedContentParameters_to_mldevr  2  s    
 !)	+x  ,		
Dvh,G,GHH   
+z"".'[8*%%y   
r%   c                     i }t          |dg          5t          |ddgt          j        | t          |dg                               t          |dg          t	          t          |dg          |           |S r  )r   r   rU   rq   r
  rh   s       r#   (_UpdateCachedContentParameters_to_vertexr  G  s    
 !)	+x  ,		
Dvh,G,GHH   
+z"".([8*%%y   
r%   c                   n   e Zd Zdddedeej                 dej        fdZdddedeej	                 dej        fdZ
dddedeej                 dej        fd	Zdddedeej                 dej        fd
Zdddeej                 dej        fdZdddeej                 deej                 fdZdS )CachesNrf   re   rf   r   c                   t          j        ||          }| j        j        rEt	          | j        |          }|                    d          }|rd                    |          }nGd}nDt          | j        |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||          }	|	j        si nt#          j        |	j                  }
t           j                            |
t+          |dd          rDdt+          |j
        d	d          t+          |j
        d
d          t+          |j
        dd          dini           }| j                            |           |S )a  Creates a cached contents resource.

    Usage:

    .. code-block:: python

      contents = ... // Initialize the content to cache.
      response = client.caches.create(
          model= ... // The publisher model id
          contents=contents,
          config={
              'display_name': 'test cache',
              'system_instruction': 'What is the sum of the two pdfs?',
              'ttl': '86400s',
          },
      )
    re   rf   ro   r   r   ?rf   Npostresponse_schemaresponse_json_schemainclude_all_fieldsr  r  r  responsekwargs)r   _CreateCachedContentParameters_api_clientvertexairk   get
format_mapri   r   poprf   http_optionsr	   convert_to_dictencode_unserializable_typesrequestbodyjsonloadsCachedContent_from_responsegetattr_verify_responseselfre   rf   parameter_modelrequest_dictrequest_url_dictpathquery_paramsr$  r  response_dictreturn_values               r#   createzCaches.create^  s`   0 :  O    =

O l &))&11	  **+;<<<

O l &))&11	  **+;<<##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''lL H 'mJBBHM1J1JM&55 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 6  L& 	%%l333r%   rn   c                   t          j        ||          }| j        j        rEt	          | j        |          }|                    d          }|rd                    |          }nGd}nDt          | j        |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||          }	|	j        si nt#          j        |	j                  }
t           j                            |
t+          |dd          rDdt+          |j
        d	d          t+          |j
        d
d          t+          |j
        dd          dini           }| j                            |           |S )zGets cached content configurations.

    .. code-block:: python

      client.caches.get(name= ... ) // The server-generated resource name.
    rn   rf   ro   {name}r   r  rf   Nr!  r  r  r  r  r  )r   _GetCachedContentParametersr  r   r   r!  r"  r   r   r#  rf   r$  r	   r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r0  rn   rf   r1  r2  r3  r4  r5  r$  r  r6  r7  s               r#   r!  z
Caches.get  sY    7  O   :

O l &))&11	 ""#3449

O l &))&11	 ""#344##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''t\<PPH&mJBBHM1J1JM&55 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 6  L& 	%%l333r%   c                   t          j        ||          }| j        j        rEt	          | j        |          }|                    d          }|rd                    |          }nGd}nDt          | j        |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||          }	|	j        si nt#          j        |	j                  }
| j        j        rt'          |
          }
| j        j        st)          |
          }
t           j                            |
t/          |dd          rDdt/          |j
        d	d          t/          |j
        d
d          t/          |j
        dd          dini           }t          j        |	j                  |_        | j                            |           |S )zDeletes cached content.

    Usage:

    .. code-block:: python

      client.caches.delete(name= ... ) // The server-generated resource name.
    r:  ro   r;  r   r  rf   Ndeleter  r  r  r  r  headers)r   _DeleteCachedContentParametersr  r   ru   r!  r"  rr   r   r#  rf   r$  r	   r%  r&  r'  r(  r)  r*  r}   rz   DeleteCachedContentResponser,  r-  HttpResponserA  ry   r.  r=  s               r#   r?  zCaches.delete  s    :  O   =

O l &))&11	 ""#344<

O l &))&11	 ""#344##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''$l H 'mJBBHM1J1JM  N>}MMm$ M=mLLm4CC ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! D  L$ &+%7 & & &L" 	%%l333r%   c                   t          j        ||          }| j        j        rEt	          | j        |          }|                    d          }|rd                    |          }nGd}nDt          | j        |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||          }	|	j        si nt#          j        |	j                  }
t           j                            |
t+          |dd          rDdt+          |j
        d	d          t+          |j
        d
d          t+          |j
        dd          dini           }| j                            |           |S )zUpdates cached content configurations.

    .. code-block:: python

      response = client.caches.update(
          name= ... // The server-generated resource name.
          config={
              'ttl': '7600s',
          },
      )
    r:  ro   r;  r   r  rf   Npatchr  r  r  r  r  )r   _UpdateCachedContentParametersr  r   r  r!  r"  r  r   r#  rf   r$  r	   r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r=  s               r#   updatezCaches.updateg  s`   $ :  O   =

O l &))&11	 ""#344<

O l &))&11	 ""#344##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''|\ H 'mJBBHM1J1JM&55 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 6  L& 	%%l333r%   c                   t          j        |          }| j        j        r?t	          |          }|                    d          }|rd                    |          }nAd}n>t          |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd            d }|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||          }|j        si nt#          j        |j                  }	| j        j        rt'          |	          }	| j        j        st)          |	          }	t           j                            |	t/          |dd           rDdt/          |j
        dd           t/          |j
        d	d           t/          |j
        d
d           dini           }
t          j        |j                  |
_        | j                            |
           |
S Nr  ro   r   r   r  rf   r!  r  r  r  r  r  r@  )r   _ListCachedContentsParametersr  r   r   r!  r"  r   r   r#  rf   r$  r	   r%  r&  r'  r(  r)  r*  r   r   ListCachedContentsResponser,  r-  rD  rA  ry   r.  r0  rf   r1  r2  r3  r4  r5  r$  r  r6  r7  s              r#   _listzCaches._list  s    9  O    <_MMl%))&11	  **+;<<;OLLl%))&11	  **+;<<##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''t\<PPH&mJBBHM1J1JM  M=mLLm$ L<]KKm3BB ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! C  L$ &+%7 & & &L" 	%%l333r%   c                \    | j         }t          d||                      |          |          S )a  Lists cached contents.

    Args:
      config (ListCachedContentsConfig): Optional configuration for the list
        request.

    Returns:
      A Pager object that contains one page of cached contents. When iterating
      over
      the pager, it automatically fetches the next page if there are more.

    Usage:

    .. code-block:: python
      for cached_content in client.caches.list():
        print(cached_content.name)
    r   r  )rN  r   r0  rf   list_requests      r#   listzCaches.list  s7    * :L

&
!!	  r%   )__name__
__module____qualname__strr   r   CreateCachedContentConfigOrDictr+  r8  GetCachedContentConfigOrDictr!  DeleteCachedContentConfigOrDictrC  r?  UpdateCachedContentConfigOrDictrH  ListCachedContentsConfigOrDictrL  rN  r   rR  r6   r%   r#   r  r  \  s        AE	[ [ [ [ u<=	[
 [ [ [ [B >B	N N N N u9:	N
 N N N Nh AE	Z Z Z Z u<=	Z
 (Z Z Z Z@ AE	U U U U u<=	U
 U U U Up IMG G G DEG'G G G GT IM   DEU !     r%   r  c                   n   e Zd Zdddedeej                 dej        fdZdddedeej	                 dej        fdZ
dddedeej                 dej        fd	Zdddedeej                 dej        fd
Zdddeej                 dej        fdZdddeej                 deej                 fdZdS )AsyncCachesNr  re   rf   r   c                  K   t          j        ||          }| j        j        rEt	          | j        |          }|                    d          }|rd                    |          }nGd}nDt          | j        |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||           d{V }	|	j        si nt#          j        |	j                  }
t           j                            |
t+          |dd          rDdt+          |j
        d	d          t+          |j
        d
d          t+          |j
        dd          dini           }| j                            |           |S )a  Creates a cached contents resource.

    Usage:

    .. code-block:: python

      contents = ... // Initialize the content to cache.
      response = await client.aio.caches.create(
          model= ... // The publisher model id
          contents=contents,
          config={
              'display_name': 'test cache',
              'system_instruction': 'What is the sum of the two pdfs?',
              'ttl': '86400s',
          },
      )
    r  ro   r   r   r  rf   Nr  r  r  r  r  r  )r   r  r  r   rk   r!  r"  ri   r   r#  rf   r$  r	   r%  r&  async_requestr(  r)  r*  r+  r,  r-  r.  r/  s               r#   r8  zAsyncCaches.create'  s     0 :  O    =

O l &))&11	  **+;<<<

O l &))&11	  **+;<<##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33lL       H 'mJBBHM1J1JM&55 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 6  L& 	%%l333r%   rn   c                  K   t          j        ||          }| j        j        rEt	          | j        |          }|                    d          }|rd                    |          }nGd}nDt          | j        |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||           d{V }	|	j        si nt#          j        |	j                  }
t           j                            |
t+          |dd          rDdt+          |j
        d	d          t+          |j
        d
d          t+          |j
        dd          dini           }| j                            |           |S )zGets cached content configurations.

    .. code-block:: python

      await client.aio.caches.get(name= ... ) // The server-generated resource
      name.
    r:  ro   r;  r   r  rf   Nr!  r  r  r  r  r  )r   r<  r  r   r   r!  r"  r   r   r#  rf   r$  r	   r%  r&  r_  r(  r)  r*  r+  r,  r-  r.  r=  s               r#   r!  zAsyncCaches.get  s      7  O   :

O l &))&11	 ""#3449

O l &))&11	 ""#344##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33t\<       H 'mJBBHM1J1JM&55 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 6  L& 	%%l333r%   c                  K   t          j        ||          }| j        j        rEt	          | j        |          }|                    d          }|rd                    |          }nGd}nDt          | j        |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||           d{V }	|	j        si nt#          j        |	j                  }
| j        j        rt'          |
          }
| j        j        st)          |
          }
t           j                            |
t/          |dd          rDdt/          |j
        d	d          t/          |j
        d
d          t/          |j
        dd          dini           }t          j        |	j                  |_        | j                            |           |S )zDeletes cached content.

    Usage:

    .. code-block:: python

      await client.aio.caches.delete(name= ... ) // The server-generated
      resource name.
    r:  ro   r;  r   r  rf   Nr?  r  r  r  r  r  r@  )r   rB  r  r   ru   r!  r"  rr   r   r#  rf   r$  r	   r%  r&  r_  r(  r)  r*  r}   rz   rC  r,  r-  rD  rA  ry   r.  r=  s               r#   r?  zAsyncCaches.delete  s       :  O   =

O l &))&11	 ""#344<

O l &))&11	 ""#344##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33$l       H 'mJBBHM1J1JM  N>}MMm$ M=mLLm4CC ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! D  L$ &+%7 & & &L" 	%%l333r%   c                  K   t          j        ||          }| j        j        rEt	          | j        |          }|                    d          }|rd                    |          }nGd}nDt          | j        |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||           d{V }	|	j        si nt#          j        |	j                  }
t           j                            |
t+          |dd          rDdt+          |j
        d	d          t+          |j
        d
d          t+          |j
        dd          dini           }| j                            |           |S )zUpdates cached content configurations.

    .. code-block:: python

      response = await client.aio.caches.update(
          name= ... // The server-generated resource name.
          config={
              'ttl': '7600s',
          },
      )
    r:  ro   r;  r   r  rf   NrF  r  r  r  r  r  )r   rG  r  r   r  r!  r"  r  r   r#  rf   r$  r	   r%  r&  r_  r(  r)  r*  r+  r,  r-  r.  r=  s               r#   rH  zAsyncCaches.update4  s     $ :  O   =

O l &))&11	 ""#344<

O l &))&11	 ""#344##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33|\       H 'mJBBHM1J1JM&55 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 6  L& 	%%l333r%   c                  K   t          j        |          }| j        j        r?t	          |          }|                    d          }|rd                    |          }nAd}n>t          |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd            d }|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||           d {V }|j        si nt#          j        |j                  }	| j        j        rt'          |	          }	| j        j        st)          |	          }	t           j                            |	t/          |dd           rDdt/          |j
        dd           t/          |j
        d	d           t/          |j
        d
d           dini           }
t          j        |j                  |
_        | j                            |
           |
S rJ  )r   rK  r  r   r   r!  r"  r   r   r#  rf   r$  r	   r%  r&  r_  r(  r)  r*  r   r   rL  r,  r-  rD  rA  ry   r.  rM  s              r#   rN  zAsyncCaches._list  s      9  O    <_MMl%))&11	  **+;<<;OLLl%))&11	  **+;<<##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33t\<       H 'mJBBHM1J1JM  M=mLLm$ L<]KKm3BB ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! C  L$ &+%7 & & &L" 	%%l333r%   c                l   K   | j         }t          d||                      |           d{V |          S )a  Lists cached contents asynchronously.

    Args:
      config (ListCachedContentsConfig): Optional configuration for the list
        request.

    Returns:
      A Pager object that contains one page of cached contents. When iterating
      over
      the pager, it automatically fetches the next page if there are more.

    Usage:

    .. code-block:: python
      async for cached_content in await client.aio.caches.list():
        print(cached_content.name)
    r   r  N)rN  r   rP  s      r#   rR  zAsyncCaches.list  sM      * :Ljjj''''''''	  r%   )rS  rT  rU  rV  r   r   rW  r+  r8  rX  r!  rY  rC  r?  rZ  rH  r[  rL  rN  r   rR  r6   r%   r#   r]  r]  %  s        AE	[ [ [ [ u<=	[
 [ [ [ [B >B	Q Q Q Q u9:	Q
 Q Q Q Qn AE	[ [ [ [ u<=	[
 ([ [ [ [B AE	U U U U u<=	U
 U U U Up IMI I I DEI'I I I IX IM   DE%%&     r%   r]  )N)Er)  loggingtypingr   r   r   urllib.parser    r   r	   r
   rU   r   r  r   r   r   r   r   pagersr   r   	getLoggerloggerdictrV  objectr$   r,   r2   r?   rE   rY   ra   ri   rk   rr   ru   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   rC   rX   r`   rQ   r]   r  r
  r  r  
BaseModuler  r]  r6   r%   r#   <module>ro     s  $   ' ' ' ' ' ' ' ' ' ' " " " " " "                               & & & & & & . . . . . . . . . . . . % % % % % % % %		0	1	1
 /3, ,tCH~v-.,DcN+, 
#s(^, , , ,b /3 tCH~v-.DcN+ 
#s(^   , /3 tCH~v-.DcN+ 
#s(^   , /3 tCH~v-.DcN+ 
#s(^   . /3 tCH~v-.DcN+ 
#s(^   . /39 9tCH~v-.9DcN+9 
#s(^9 9 9 9| /3: :tCH~v-.:DcN+: 
#s(^: : : :@ /3 tCH~v-. DcN+ 
#s(^	   0 /3 tCH~v-. DcN+ 
#s(^	   0 /3 tCH~v-. DcN+ 
#s(^	   & /3 tCH~v-. DcN+ 
#s(^	   $ /3
 
tCH~v-.
DcN+
 
#s(^
 
 
 
 /3
 
tCH~v-.
DcN+
 
#s(^
 
 
 
 /3 tCH~v-.DcN+ 
#s(^   , /3 tCH~v-.DcN+ 
#s(^   , /3 tCH~v-.DcN+ 
#s(^   > /3 tCH~v-.DcN+ 
#s(^   6 /3 tCH~v-. DcN+ 
#s(^	   & /3 tCH~v-. DcN+ 
#s(^	   $ /3 tCH~v-.DcN+ 
#s(^   ( /3 tCH~v-.DcN+ 
#s(^   < /3 tCH~v-.DcN+ 
#s(^   . /3 tCH~v-.DcN+ 
#s(^   . /3 tCH~v-.DcN+ 
#s(^    /3
 
tCH~v-.
DcN+
 
#s(^
 
 
 
 /3 tCH~v-.DcN+ 
#s(^   2 /3 tCH~v-.DcN+ 
#s(^   2 /3 tCH~v-.DcN+ 
#s(^   , /3I ItCH~v-.IDcN+I 
#s(^I I I I\ /3N NtCH~v-.NDcN+N 
#s(^N N N Nf /3 tCH~v-.DcN+ 
#s(^   > /3 tCH~v-.DcN+ 
#s(^   : /3F FtCH~v-.FDcN+F 
#s(^F F F FV /3C CtCH~v-.CDcN+C 
#s(^C C C CP /3 tCH~v-.DcN+ 
#s(^   " /3 tCH~v-.DcN+ 
#s(^   $ /3 tCH~v-. DcN+ 
#s(^	   0 /3 tCH~v-. DcN+ 
#s(^	   *F F F F F[# F F FRL L L L L+( L L L L Lr%   