§
    šŠtj  ã                  óÂ   — d dl m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 erd dlmZ dd„Zdd„Z eddd¬¦  «         G d„ de¦  «        ¦   «         ZdS )é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚOptional)Ú
deprecated)ÚCallbackManagerForToolRun)ÚBaseTool)Úget_client_info©ÚtexttospeechÚreturnr   c                 óZ   — 	 ddl m}  n"# t          $ r}t          d¦  «        |‚d }~ww xY w| S )Nr   r   z`Cannot import google.cloud.texttospeech, please install `pip install google-cloud-texttospeech`.)Úgoogle.cloudr   ÚImportError)r   Úes     úq/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/tools/google_cloud/texttospeech.pyÚ!_import_google_cloud_texttospeechr      s_   € ðØ-Ð-Ð-Ð-Ð-Ð-Ð-øÝð ð ð Ýð7ñ
ô 
ð ð	øøøøðøøøð
 Ðs   ‚	 ‰
(“#£(Úencodingútexttospeech.AudioEncodingúOptional[str]c           
     óÄ   — t          ¦   «         }|j        j        d|j        j        d|j        j        d|j        j        d|j        j        di}|                     | ¦  «        S )Nz.wavz.mp3z.ogg)r   ÚAudioEncodingÚLINEAR16ÚMP3ÚOGG_OPUSÚMULAWÚALAWÚget)r   r   ÚENCODING_FILE_EXTENSION_MAPs      r   Ú_encoding_file_extension_mapr       sd   € Ý4Ñ6Ô6€Lð 	Ô"Ô+¨VØÔ"Ô&¨ØÔ"Ô+¨VØÔ"Ô(¨&ØÔ"Ô'¨ð#Ðð '×*Ò*¨8Ñ4Ô4Ð4ó    z0.0.33z1.0z+langchain_google_community.TextToSpeechTool)ÚsinceÚremovalÚalternative_importc                  ó^   ‡ — e Zd ZU dZdZded<   dZded<   ded<   dˆ fd„Z	 	 	 	 ddd„Zˆ xZ	S )ÚGoogleCloudTextToSpeechToolz³Tool that queries the Google Cloud Text to Speech API.

    In order to set this up, follow instructions at:
    https://cloud.google.com/text-to-speech/docs/before-you-begin
    Úgoogle_cloud_texttospeechÚstrÚnamezÚA wrapper around Google Cloud Text-to-Speech. Useful for when you need to synthesize audio from text. It supports multiple languages, including English, German, Polish, Spanish, Italian, French, Portuguese, and Hindi. Údescriptionr   Ú_clientÚkwargsr   ÚNonec                óž   •— t          ¦   «         } t          ¦   «         j        di |¤Ž  |j        t	          d¬¦  «        ¬¦  «        | _        dS )zInitializes private fields.ztext-to-speech)Úmodule)Úclient_infoN© )r   ÚsuperÚ__init__ÚTextToSpeechClientr
   r+   )Úselfr,   r   Ú	__class__s      €r   r3   z$GoogleCloudTextToSpeechTool.__init__>   sY   ø€ å8Ñ:Ô:ˆà�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"à6�|Ô6Ý'Ð/?Ð@Ñ@Ô@ð
ñ 
ô 
ˆŒˆˆr!   úen-USNÚ
input_textÚlanguage_codeÚssml_genderú&Optional[texttospeech.SsmlVoiceGender]Úaudio_encodingú$Optional[texttospeech.AudioEncoding]Úrun_managerú#Optional[CallbackManagerForToolRun]c                óª  — t          ¦   «         }|p|j        j        }|p|j        j        }| j                              |j        |¬¦  «         |j        ||¬¦  «         |j	        |¬¦  «        ¬¦  «        }t          |¦  «        }t          j        d|d¬¦  «        5 }	|	                     |j        ¦  «         ddd¦  «         n# 1 swxY w Y   |	j        S )	zUse the tool.)Útext)r9   r:   )r<   )ÚinputÚvoiceÚaudio_configÚbxF)ÚmodeÚsuffixÚdeleteN)r   ÚSsmlVoiceGenderÚNEUTRALr   r   r+   Úsynthesize_speechÚSynthesisInputÚVoiceSelectionParamsÚAudioConfigr    ÚtempfileÚNamedTemporaryFileÚwriteÚaudio_contentr)   )
r5   r8   r9   r:   r<   r>   r   ÚresponserG   Úfs
             r   Ú_runz GoogleCloudTextToSpeechTool._runH   s%  € õ 9Ñ:Ô:ˆØ!ÐI \Ô%AÔ%IˆØ'ÐI¨<Ô+EÔ+Iˆà”<×1Ò1Ø-�,Ô-°:Ð>Ñ>Ô>Ø3�,Ô3Ø+¸ðñ ô ð 2˜Ô1ÀÐPÑPÔPð 2ñ 
ô 
ˆõ .¨nÑ=Ô=ˆåÔ(¨d¸6È%ÐPÑPÔPð 	,ÐTUØ�GŠG�HÔ*Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,àŒvˆs   ÂCÃCÃ
C)r,   r   r   r-   )r7   NNN)r8   r(   r9   r(   r:   r;   r<   r=   r>   r?   r   r(   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r)   Ú__annotations__r*   r3   rU   Ú__classcell__)r6   s   @r   r&   r&   (   s¬   ø€ € € € € € ðð ð ,€DÐ+Ð+Ð+Ñ+ð	<ð ð ð ð ñ ð €L€L�Lð
ð 
ð 
ð 
ð 
ð 
ð %Ø>BØ?CØ;?ðð ð ð ð ð ð ð ð r!   r&   )r   r   )r   r   r   r   )Ú
__future__r   rO   Útypingr   r   r   Úlangchain_core._api.deprecationr   Úlangchain_core.callbacksr   Úlangchain_core.toolsr	   Ú&langchain_community.utilities.vertexair
   r   r   r   r    r&   r1   r!   r   ú<module>rb      s%  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø >Ð >Ð >Ð >Ð >Ð >Ø )Ð )Ð )Ð )Ð )Ð )à BÐ BÐ BÐ BÐ BÐ Bàð *Ø)Ð)Ð)Ð)Ð)Ð)ðð ð ð ð
5ð 
5ð 
5ð 
5ð €Ø
ØØDðñ ô ð
4ð 4ð 4ð 4ð 4 (ñ 4ô 4ñô ð
4ð 4ð 4r!   