§
    šŠtjO
  ã                   óR   — d dl Z d dlmZmZmZ d dlmZmZmZ  G d„ de¦  «        Z	dS )é    N)ÚAnyÚDictÚLiteral)Ú	BaseModelÚFieldÚmodel_validatorc                   óæ   — e Zd ZU dZdZeed<   dZeed<   	 dZ	e
d         ed<   	  ee¬	¦  «        Zeeef         ed
<   	 dZeed<   	  ed¬¦  «        ededefd„¦   «         ¦   «         Zdedefd„ZdS )ÚStackExchangeAPIWrapperzWrapper for Stack Exchange API.NÚclienté   Úmax_resultsÚall)r   ÚtitleÚbodyÚ
query_type)Údefault_factoryÚfetch_paramsz

Úresult_separatorÚbefore)ÚmodeÚvaluesÚreturnc                 ól   — 	 ddl m}  |d¦  «        |d<   n# t          $ r t          d¦  «        ‚w xY w|S )z1Validate that the required Python package exists.r   )ÚStackAPIÚstackoverflowr   z^The 'stackapi' Python package is not installed. Please install it with `pip install stackapi`.)Ústackapir   ÚImportError)Úclsr   r   s      úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/utilities/stackexchange.pyÚvalidate_environmentz,StackExchangeAPIWrapper.validate_environment   sj   € ð	Ø)Ð)Ð)Ð)Ð)Ð)à'˜x¨Ñ8Ô8ˆF�8ÑÐøÝð 	ð 	ð 	ÝðAñô ð ð	øøøð
 ˆs   ‚ —1Úqueryc                 ó8  ‡— | j         dk    rdn| j         } | j        j        	 di ||i¤| j        ¤Ž}t	          |d         ¦  «        dk     rd|› d�S d„ |d         D ¦   «         d	| j        …         }d
„ |d         D ¦   «         }g }|D ]{Šd‰d         › d‰d         › �}ˆfd„|D ¦   «         }d„ |D ¦   «         }	|r4|	r|	d         n|d         }
t          j        |
d         ¦  «        }|d|› �z  }|                     |¦  «         Œ|| j	         
                    |¦  «        S )z6Run query through StackExchange API and parse results.r   Úqúsearch/excerptsÚitemsé   zNo relevant results found for 'z' on Stack Overflow.c                 ó*   — g | ]}|d          dk    ¯|‘ŒS )Ú	item_typeÚquestion© ©Ú.0Úitems     r   ú
<listcomp>z/StackExchangeAPIWrapper.run.<locals>.<listcomp>2   s.   € ð 
ð 
ð 
Ø°°[Ô0AÀZÒ0OÐ0OˆDÐ0OÐ0OÐ0Oó    Nc                 ó*   — g | ]}|d          dk    ¯|‘ŒS )r(   Úanswerr*   r+   s     r   r.   z/StackExchangeAPIWrapper.run.<locals>.<listcomp>5   s'   € ÐUÐUÐU˜D°t¸KÔ7HÈHÒ7TÐ7T�4Ð7TÐ7TÐ7Tr/   z
Question: r   ú
Úexcerptc                 ó8   •— g | ]}|d          ‰d          k    ¯|‘ŒS )Úquestion_idr*   )r,   r1   r)   s     €r   r.   z/StackExchangeAPIWrapper.run.<locals>.<listcomp>9   s8   ø€ ð  ð  ð  àØ˜-Ô(¨H°]Ô,CÒCÐCð àCÐCÐCr/   c                 ó"   — g | ]}|d          ¯
|‘ŒS )Úis_acceptedr*   )r,   r1   s     r   r.   z/StackExchangeAPIWrapper.run.<locals>.<listcomp>>   s2   € ð  ð  ð  Ø!¸ÀÔ9Nð Øð ð  ð  r/   r   z	
Answer: )r$   )r   r   Úfetchr   Úlenr   ÚhtmlÚunescapeÚappendr   Újoin)Úselfr!   Ú	query_keyÚoutputÚ	questionsÚanswersÚresultsÚres_textÚrelevant_answersÚaccepted_answersÚ
top_answerr3   r)   s               @r   ÚrunzStackExchangeAPIWrapper.run)   sÁ  ø€ ð  œ?¨eÒ3Ð3�C�C¸¼ˆ	Ø"�”Ô"Øð
ð 
Ø"+¨UÐ!3ð
Ø7;Ô7Hð
ð 
ˆõ ˆv�gŒÑÔ !Ò#Ð#ØP°UÐPÐPÐPÐPð
ð 
Ø# Gœ_ð
ñ 
ô 
à
ˆDÔÐ
ôˆ	ð VÐU F¨7¤OÐUÑUÔUˆØˆØ!ð 	%ð 	%ˆHØN H¨WÔ$5ÐNÐN¸À)Ô9LÐNÐNˆHð ð  ð  ð  à%ð ñ  ô  Ðð
 ð  Ø%5ð ñ  ô  Ðð  ð 3à+;ÐTÐ$ QÔ'Ð'ÐAQÐRSÔATð õ œ-¨
°9Ô(=Ñ>Ô>�ØÐ2¨Ð2Ð2Ñ2�Ø�NŠN˜8Ñ$Ô$Ð$Ð$àÔ$×)Ò)¨'Ñ2Ô2Ð2r/   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__annotations__r   Úintr   r   r   Údictr   r   Ústrr   r   Úclassmethodr    rH   r*   r/   r   r
   r
      sþ   € € € € € € Ø)Ð)à€FˆCÐÐÑà€K�ÐÐÑØ5à27€J�Ð.Ô/Ð7Ð7Ñ7ðð $) 5¸Ð#>Ñ#>Ô#>€L�$�s˜C�x”.Ð>Ð>Ñ>Ø6à"Ð�cÐ"Ð"Ñ"Ø2à€_˜(Ð#Ñ#Ô#Øð¨$ð °3ð ð ð ñ „[ñ $Ô#ðð 3˜ð  3 ð  3ð  3ð  3ð  3ð  3ð  3r/   r
   )
r:   Útypingr   r   r   Úpydanticr   r   r   r
   r*   r/   r   ú<module>rT      sˆ   ðØ €€€Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðB3ð B3ð B3ð B3ð B3˜iñ B3ô B3ð B3ð B3ð B3r/   