o
    h-!                     @   sh  d dl mZmZ ddlmZ i dddddd	d
dddddddddddddddddddddd d!d"d#d$d%i d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGi dHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdii djdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddÓddœddǓddɓdd˓dd͓ddϓi ddѓddӓddՓddדddٓddۓddݓddߓddddddddddddddddddi ddddddddddddddd ddddddddd	d
dddddddddi ddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5i d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWi dXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdyi dzd{d|d}d~dddddddddddddddddddddddddddddZG dd deZdS (     )AutoModelForSeq2SeqLMAutoTokenizer   )PipelineToolzAcehnese Arabicace_ArabzAcehnese Latinace_LatnzMesopotamian Arabicacm_ArabzTa'izzi-Adeni Arabicacq_ArabzTunisian Arabicaeb_Arab	Afrikaansafr_LatnzSouth Levantine Arabicajp_ArabAkanaka_LatnAmharicamh_EthizNorth Levantine Arabicapc_ArabzModern Standard Arabicarb_Arabz Modern Standard Arabic Romanizedarb_LatnzNajdi Arabicars_ArabzMoroccan Arabicary_ArabzEgyptian Arabicarz_ArabAssameseasm_BengAsturianast_LatnAwadhiawa_DevazCentral Aymaraayr_LatnzSouth Azerbaijaniazb_ArabzNorth Azerbaijaniazj_LatnBashkirbak_CyrlBambarabam_LatnBalineseban_Latn
Belarusianbel_CyrlBembabem_LatnBengaliben_BengBhojpuribho_DevazBanjar Arabicbjn_ArabzBanjar Latinbjn_LatnzStandard Tibetanbod_TibtBosnianbos_LatnBuginesebug_Latn	Bulgarianbul_CyrlCatalancat_LatnCebuanoceb_LatnCzechces_LatnChokwecjk_LatnzCentral Kurdishckb_ArabzCrimean Tatarcrh_LatnWelshcym_LatnDanishdan_LatnGermandeu_LatnzSouthwestern Dinkadik_LatnDyuladyu_LatnDzongkhadzo_TibtGreekell_GrekEnglisheng_Latn	Esperantoepo_LatnEstonianest_LatnBasqueeus_LatnEweewe_LatnFaroesefao_LatnFijianfij_LatnFinnishfin_LatnFonfon_LatnFrenchfra_LatnFriulianfur_LatnzNigerian Fulfuldefuv_LatnzScottish Gaelicgla_LatnIrishgle_LatnGalicianglg_LatnGuaranigrn_LatnGujaratiguj_GujrzHaitian Creolehat_LatnHausahau_LatnHebrewheb_HebrHindihin_DevaChhattisgarhihne_DevaCroatianhrv_Latn	Hungarianhun_LatnArmenianhye_ArmnIgboibo_LatnIlocanoilo_Latn
Indonesianind_Latn	Icelandicisl_LatnItalianita_LatnJavanesejav_LatnJapanesejpn_JpanKabylekab_LatnJingphokac_LatnKambakam_LatnKannadakan_KndazKashmiri Arabickas_ArabzKashmiri Devanagarikas_DevaGeorgiankat_GeorzCentral Kanuri Arabicknc_ArabzCentral Kanuri Latinknc_LatnKazakhkaz_Cyrlu   Kabiyèkbp_LatnKabuverdianukea_LatnKhmerkhm_KhmrKikuyukik_LatnKinyarwandakin_LatnKyrgyzkir_CyrlKimbundukmb_LatnzNorthern Kurdishkmr_LatnKikongokon_LatnKoreankor_HangLaolao_LaooLigurianlij_Latn
Limburgishlim_LatnLingalalin_Latn
Lithuanianlit_LatnLombardlmo_Latn	Latgalianltg_LatnLuxembourgishltz_Latnz
Luba-Kasailua_LatnGandalug_LatnLuoluo_LatnMizolus_LatnzStandard Latvianlvs_LatnMagahimag_DevaMaithilimai_Deva	Malayalammal_MlymMarathimar_DevazMinangkabau Arabic min_ArabzMinangkabau Latinmin_Latn
Macedonianmkd_CyrlzPlateau Malagasyplt_LatnMaltesemlt_LatnzMeitei Bengalimni_BengzHalh Mongoliankhk_CyrlMossimos_LatnMaorimri_LatnBurmesemya_MymrDutchnld_LatnzNorwegian Nynorsknno_Latnu   Norwegian Bokmålnob_LatnNepalinpi_DevazNorthern Sothonso_LatnNuernus_LatnNyanjanya_LatnOccitanoci_LatnzWest Central Oromogaz_LatnOdiaory_Orya
Pangasinanpag_LatnzEastern Panjabipan_Guru
Papiamentopap_LatnzWestern Persianpes_ArabPolishpol_Latn
Portuguesepor_LatnDariprs_ArabzSouthern Pashtopbt_ArabzAyacucho Quechuaquy_LatnRomanianron_LatnRundirun_LatnRussianrus_CyrlSangosag_LatnSanskritsan_DevaSantalisat_OlckSicilianscn_LatnShanshn_MymrSinhalasin_SinhSlovakslk_Latn	Slovenianslv_LatnSamoansmo_LatnShonasna_LatnSindhisnd_ArabSomalisom_LatnzSouthern Sothosot_LatnSpanishspa_LatnzTosk Albanianals_Latn	Sardiniansrd_LatnSerbiansrp_CyrlSwatissw_Latn	Sundanesesun_LatnSwedishswe_LatnSwahiliswh_LatnSilesianszl_LatnTamiltam_TamlTatartat_CyrlTelugutel_TeluTajiktgk_CyrlTagalogtgl_LatnThaitha_ThaiTigrinyatir_EthizTamasheq Latintaq_LatnzTamasheq Tifinaghtaq_Tfngz	Tok Pisintpi_LatnTswanatsn_LatnTsongatso_LatnTurkmentuk_LatnTumbukatum_LatnTurkishtur_LatnTwitwi_LatnzCentral Atlas Tamazighttzm_TfngUyghuruig_Arab	Ukrainianukr_CyrlUmbunduumb_LatnUrduurd_ArabzNorthern Uzbekuzn_LatnVenetianvec_Latn
Vietnamesevie_LatnWaraywar_LatnWolofwol_LatnXhosaxho_LatnzEastern Yiddishydd_HebrYorubayor_LatnzYue Chineseyue_HantzChinese Simplifiedzho_HanszChinese Traditionalzho_HantzStandard Malayzsm_LatnZuluzul_Latnc                   @   sN   e Zd ZdZdZdZdZeZe	Z
eZg dZdgZdd Zd	d
 Zdd ZdS )TranslationToolz
    Example:

    ```py
    from transformers.tools import TranslationTool

    translator = TranslationTool()
    translator("This is a super nice API!", src_lang="English", tgt_lang="French")
    ```
    z facebook/nllb-200-distilled-600Ma  This is a tool that translates text from a language to another. It takes three inputs: `text`, which should be the text to translate, `src_lang`, which should be the language of the text to translate and `tgt_lang`, which should be the language for the desired ouput language. Both `src_lang` and `tgt_lang` are written in plain English, such as 'Romanian', or 'Albanian'. It returns the text translated in `tgt_lang`.
translator)textrg  rg  rg  c                 C   sX   || j vrt| d|| j vrt| d| j | }| j | }| jj|d||dS )Nz is not a supported language.pt)return_tensorssrc_langtgt_lang)lang_to_code
ValueErrorpre_processor_build_translation_inputs)selfrg  rj  rk   rq  T/var/www/html/ai/venv/lib/python3.10/site-packages/transformers/tools/translation.pyencode   s   



zTranslationTool.encodec                 C   s   | j jdi |S )Nrq  )modelgenerate)rp  inputsrq  rq  rr  forward  s   zTranslationTool.forwardc                 C   s   | j j|d  ddS )N    T)skip_special_tokens)post_processordecodetolist)rp  outputsrq  rq  rr  r{    s   zTranslationTool.decodeN)__name__
__module____qualname____doc__default_checkpointdescriptionnamer   pre_processor_classr   model_classLANGUAGE_CODESrl  rv  r}  rs  rw  r{  rq  rq  rq  rr  re     s    re  N)models.autor   r   baser   r  re  rq  rq  rq  rr  <module>   sn  	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                 	  
                                               !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J  K  L  M  Q