-;i:zddlmZddlZddlZddlZddlZddlZddlZddlm Z m Z ddl m Z ddl Z ddlmZddlmcmZddlmcmZddlmZddlmZddlmZdd lmZ dd lm!Z!dd lm"Z"ddl#Z$ddl%Z$ dd l&m'Z'e'j(Z(n #e)$rd Z(YnwxYwdZ*dZ+ej,dZ-Gddej.Z.Gddej/Z/ej0GddZ1ddddddddd)Z5d?d+Z6d@d-Z7dAd/Z8dBd1Z9dCd3Z:dDd5Z;dEd7ZdS)H) annotationsN)Anycast)Sequence)IOBase) credentials) exceptions)auth)client_options)gapic_v1) operations_v1)versionz0.0.0zgenai-pyz9https://generativelanguage.googleapis.com/$discovery/restc#Ktjj}dtjvrdtj_ dV|tj_dS#|tj_wxYw)NCOLAB_RELEASE_TAGcdS)N)NN)argskwargss NC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\google/generativeai/client.pyz-patch_colab_gce_credentials..9s\)r _default_get_gce_credentialsosenviron)get_gces rpatch_colab_gce_credentialsr5s^m0Gbj((-Q-Q *5 -4 ***W *4444s A Ac>eZdZfdZdddZddddddddZxZS)FileServiceClientcxd|_tj|_t j|i|dSN)_discovery_api threadinglocal_localsuper__init__)selfrr __class__s rr'zFileServiceClient.__init__Bs<"o'' $)&)))))rrmetadata dict | Sequence[tuple[str, str]]c|jj}|tdtjt jdtd|t|}| \}}|j | d}tj |||j_dS)NzaInvalid operation: Uploading to the File API requires an API key. Please provide a valid API key.c ||fSr!r)respcontents rrz8FileServiceClient._setup_discovery_api..Ps D'?rz?version=v1beta&key=)httppostprocuriheaderszutf-8) developerKey)_client_optionsapi_key ValueErrorgoogleapiclientr0 HttpRequesthttplib2HttpGENAI_API_DISCOVERY_URLdictexecuteclosedecode discoverybuild_from_documentr% discovery_api)r(r*r6requestresponser/ discovery_docs r_setup_discovery_apiz&FileServiceClient._setup_discovery_apiGs&. ?s "&22::*IIIINN 3   $OO--' w// $3$=$Q$Q %R% %  !!!rNT) mime_typename display_name resumabler*path)str | pathlib.Path | os.PathLike | IOBaserH str | NonerIrJrKboolSequence[tuple[str, str]]return protos.Filec |j||i}|||d<|||d<t|tr#tj|||}n"tj|||}|jj d|i|} |D]\} } | | j | <| } |d| ddiS)NrI displayName)fdmimetyperK)filenamerVrKfile)body media_body)r"rG isinstancerr8r0MediaIoBaseUploadMediaFileUploadr%rCmediauploadr3r>get_file) r(rLrHrIrJrKr*rXr^rDkeyvalueresults r create_filezFileServiceClient.create_file\s$   &  % %h / / /  DL  #".D  dF # # #(::)y;EE$(88 Y9E++1133::[`:aa" ) )JC#(GOC ""}}ffVnV&<=>>>r)r)r*r+)rLrMrHrNrIrNrJrNrKrOr*rPrQrR)__name__ __module__ __qualname__r'rGrd __classcell__)r)s@rrrAs*****      2!%#'.0!?!?!?!?!?!?!?!?!?!?rrceZdZdZdS)FileServiceAsyncClientc$Ktd)NzPThe `create_file` method is currently not supported for the asynchronous client.)NotImplementedError)r(rrs rrdz"FileServiceAsyncClient.create_files! ^   rN)rerfrgrdrrrrjrjs#     rrjceZdZUejeZded<dZded<ejeZ ded<ddddddd ddZ dZ dZ ddZ dS)_ClientManager)default_factoryzdict[str, Any] client_configrrPdefault_metadataclientsNr6r transportr client_inforqr6rNr(ga_credentials.Credentials | dict | Nonertr 8client_options_lib.ClientOptions | dict[str, Any] | Noneru&gapic_v1.client_info.ClientInfo | NonerQNonect|trtj|}|tj}t tj|}t |dd}|r|tdn3|stj d}|stj d}||_ tdt}|r#|j r|xj d|z c_ n(||_ n tj|}||||d } d | D} | |_||_i|_dS) aInitializes default client configurations using specified parameters or environment variables. If no API key has been provided (either directly, or on `client_options`) and the `GEMINI_API_KEY` environment variable is set, it will be used as the API key. If not, if the `GOOGLE_API_KEY` environement variable is set, it will be used as the API key. Note: Not all arguments are detailed below. Refer to the `*ServiceClient` classes in `google.ai.generativelanguage` for details on the other arguments. Args: transport: A string, one of: [`rest`, `grpc`, `grpc_asyncio`]. api_key: The API-Key to use when creating the default clients (each service uses a separate client). This is a shortcut for `client_options={"api_key": api_key}`. If omitted, and the `GEMINI_API_KEY` or the `GOOGLE_API_KEY` environment variable are set, they will be used in this order of priority. default_metadata: Default (key, value) metadata pairs to send with every request. when using `transport="rest"` these are sent as HTTP headers. Nr6z`Invalid configuration: Please set either `api_key` or `client_options['api_key']`, but not both.GEMINI_API_KEYGOOGLE_API_KEY/ ) user_agent)rrtr ruci|] \}}||| Sr!r).0rarbs r z,_ClientManager.configure..s#aaa UuO`eO`O`O`r)r[r=client_options_lib from_dict ClientOptionsrgetattrr7rgetenvr6 USER_AGENT __version__rr ru ClientInfoitemsrprqrr) r(r6rrtr rurqhad_api_key_valuerrps r configurez_ClientManager.configuresD nd + + J/9.IIN  !/=??N0>OO#NItDD  -" v#  6)$455 6)$455%,N ""22[22  Q% 4&&*:j*:*::&&&)3 &&".99Z9PPK'",&   bam6I6I6K6Kaaa * 0 rc|dkrt}n|dkrt}n|drF|dd}t t |dz}n*t t |dz}jst t5|d ij}dddn #1swxYwYn #tj $r}d|_ |d}~wwxYwj s|Sd }fd }tj|D]>\}}|||st ||}||}t!|||?|S) NrX file_async_async_rServiceAsyncClient ServiceClient)a No API_KEY or ADC found. Please either: - Set the `GOOGLE_API_KEY` environment variable. - Manually pass the key with `genai.configure(api_key=my_api_key)`. - Or set up Application Default Credentials, see https://ai.google.dev/gemini-api/docs/oauth for more information.c|drdSt|sdSdtj|jvrdSdS)NrFr*T) startswithcallableinspect signature parameterskeys)rIfs rkeepz(_ClientManager.make_client..keeps]s## uA;; u!21!5!5!@!E!E!G!GGGu4rcddfd }|S)Nr)r*cdt|tjz}|i|d|iS)Nr*)listrq)r*rrrr(s rcallzN_ClientManager.make_client..add_default_metadata_wrapper..call s>>>D1F,G,GGq$<&<<8<<<.add_default_metadata_wrapper s6%' = = = = = = = =Krr)rrjendswithsplitrglmtitlerprr ga_exceptionsDefaultCredentialsErrorrrqr getmemberssetattr) r(rIclsclienterrrbrs ` r make_clientz_ClientManager.make_clients 6>>#CC \ ! !(CC ]]8 $ $ ?::c??1%D#tzz||.BBCCCC#tzz||o=>>C!  KKK ,.. 3 322t122 3 3 3 3 3 3 3 3 3 3 3 3 3 3 34   AF G $ M        #-c22 % %KD%4e$$ %%A,,Q//A FD! $ $ $ $ s<9C-C! C-!C%%C-(C%)C--D < DD c|}|dkr|S|j|}|||}||j|<|SN operations)lowerget_default_operations_clientrrgetr)r(rIrs rget_default_clientz!_ClientManager.get_default_clientsjzz|| <  5577 7!!$'' >%%d++F!'DL  roperations_v1.OperationsClientc|jdd}|+|d}|jj}||jd<|S)NrModel)rrrr _transportoperations_client)r(r model_clients rrz,_ClientManager.get_default_operations_client%sM!!,55 >227;;L!,>F)/DL & r)r6rNrrvrtrNr rwrurxrqrPrQryrQr)rerfrg dataclassesfieldr=rp__annotations__rqrrrrrrrrrrnrns$5K$5d$K$K$KMKKKK244444/k/EEEGEEEE #@D!%SW>B68QQQQQQf888t   rrnrrsr6rNrrvrtr .client_options_lib.ClientOptions | dict | NonerurxrqrPcBt||||||S)aCaptures default client configuration. If no API key has been provided (either directly, or on `client_options`) and the `GOOGLE_API_KEY` environment variable is set, it will be used as the API key. Note: Not all arguments are detailed below. Refer to the `*ServiceClient` classes in `google.ai.generativelanguage` for details on the other arguments. Args: transport: A string, one of: [`rest`, `grpc`, `grpc_asyncio`]. api_key: The API-Key to use when creating the default clients (each service uses a separate client). This is a shortcut for `client_options={"api_key": api_key}`. If omitted, and the `GOOGLE_API_KEY` environment variable is set, it will be used. default_metadata: Default (key, value) metadata pairs to send with every request. when using `transport="rest"` these are sent as HTTP headers. rs)_client_managerrrss rrr.s3>  $ $%) %  rrQglm.CacheServiceClientc6tdS)Ncacherrrrrget_default_cache_clientr[  - -g 6 66rglm.FilesServiceClientc6tdS)NrXrrrrget_default_file_clientr_s  - -f 5 55rglm.FilesServiceAsyncClientc6tdS)Nrrrrrget_default_file_async_clientrc  - -l ; ;;rglm.GenerativeServiceClientc6tdS)N generativerrrrget_default_generative_clientrgrr glm.GenerativeServiceAsyncClientc6tdS)Ngenerative_asyncrrrr#get_default_generative_async_clientrk  - -.@ A AArrc6tdSrrrrrrrorrglm.ModelServiceAsyncClientc6tdS)Nmodelrrrrget_default_model_clientrsrrglm.RetrieverClientc6tdS)N retrieverrrrrget_default_retriever_clientrws  - -k : ::rglm.RetrieverAsyncClientc6tdS)Nretriever_asyncrrrr"get_default_retriever_async_clientr{s  - -.? @ @@rglm.PermissionServiceClientc6tdS)N permissionrrrrget_default_permission_clientrrr glm.PermissionServiceAsyncClientc6tdS)Npermission_asyncrrrr#get_default_permission_async_clientrrr) r6rNrrvrtrNr rrurxrqrP)rQr)rQr)rQr)rQr)rQrr)rQr)rQr)rQr)rQr)rQr)? __future__rr contextlibrrpathlibr#typingrrcollections.abcrr:iorgoogle.ai.generativelanguageaigenerativelanguagergoogle.generativeai.protos generativeaiprotos google.authrga_credentialsr rgoogler google.api_corer rr r googleapiclient.httpr8googleapiclient.discoverygoogle.generativeairr ImportErrorrr<contextmanagerrrrj dataclassrnrrrrrrrrrrrrrrrrrs"""""" $$$$$$*********+++++++++555555333333@@@@@@$$$$$$)))))) ++++++%KKKKK V 555<?<?<?<?<?-<?<?<?~     S7    ccccccccP<@ !EI:>24&&&&&&R!.""77776666<<<<<<<<BBBB<<<<7777;;;;AAAA<<<<BBBBBBs6 BB B