
    |Mg                        U d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	 d dl
Z
d dlZd dlmZ  ej                    Zi Zded<   daded<   ej        dd            ZddZddZddZdS )    )annotationsN)AnyCallableSequence)Encodingzdict[str, Encoding]	ENCODINGSz.dict[str, Callable[[], dict[str, Any]]] | NoneENCODING_CONSTRUCTORSreturnSequence[str]c                     g } t          j        t          j        t          j        dz             }|D ]\  }}}|                     |           | S )N.)pkgutiliter_modulestiktoken_ext__path____name__append)modsplugin_mods_mod_names       C/var/www/api/venv/lib/python3.11/site-packages/tiktoken/registry.py_available_plugin_modulesr      sV     D&|'<l>SVY>YZZK%  8QHK    Nonec            	        t           5  t          	 d d d            d S i a	 t                      D ]} t          j        |           }	 |j        }n&# t
          $ r}t          d|  d          |d }~ww xY w|                                D ]-\  }}|t          v rt          d| d|            |t          |<   .n# t          $ r d a w xY w	 d d d            d S # 1 swxY w Y   d S )Nztiktoken plugin z& does not define ENCODING_CONSTRUCTORSzDuplicate encoding name z in tiktoken plugin )	_lockr	   r   	importlibimport_moduleAttributeError
ValueErroritems	Exception)r   modconstructorseenc_nameconstructors         r   _find_constructorsr)   !   s   	   ,        !#	577 B B-h77#&#<LL%   $[8[[[  .:-?-?-A-A B B)Hk#888(_x__U]__   7B)(33BB  	 	 	$(!	B                 sR   	CC$B8AB8
A1A,,A11AB87C8CCCCencoding_namestrr   c           
     "   t          | t                    st          dt          |                      | t          v rt          |          S t
          5  | t          v rt          |          cd d d            S t          t                       t          J | t          vr/t          d|  dt                       dt          j
         d          t          |          }t          di  |            }|t          | <   |cd d d            S # 1 swxY w Y   d S )Nz'Expected a string in get_encoding, got zUnknown encoding z.
Plugins found: z
tiktoken version: z (are you on latest?) )
isinstancer+   r!   typer   r   r	   r)   r   tiktoken__version__r   )r*   r(   encs      r   get_encodingr3   ?   s   mS)) ZX4CVCVXXYYY	!!''	  I%%]+        !(   (444 555QM Q Q";"="=Q Q%-%9Q Q Q   ,M:''''#&	- %                 s   D5BDDD	list[str]c                     t           5  t          t                       t          J t          t                    cd d d            S # 1 swxY w Y   d S )N)r   r	   r)   listr-   r   r   list_encoding_namesr7   [   s    	 + + (   (444)**	+ + + + + + + + + + + + + + + + + +s   2AAA)r
   r   )r
   r   )r*   r+   r
   r   )r
   r4   )
__future__r   	functoolsr   r   	threadingtypingr   r   r   r   r0   tiktoken.corer   RLockr   r   __annotations__r	   	lru_cacher   r)   r3   r7   r-   r   r   <module>r@      s(   " " " " " " "              * * * * * * * * * *      " " " " " "	!#	 # # # #HL  L L L L 
 
 
 
   <   8+ + + + + +r   