
    MiR                     ^   S SK r S SKJr  S SKJr  S SKJrJrJrJ	r	J
r
JrJrJrJrJrJr  S SKJrJrJrJrJrJrJrJrJrJrJr  S SKJrJrJ r   S SK!J"r"  SS	K#J$r$  SS
K%J&r&  SSK'J(r(  SSK)J*r*  \(       a  SSK+J,r,  SSK-J.r.  SSK/J0r0  \" S5      r1\\\
\1   /\
\\1      4   \"4   r2\\S\3/\
S   4   \"4   r4\\S/\\\	\3\4   /S4   \4   4   \"4   r5S\\   S\	\3\4   S\\3   4S jr6\" SSS9r7\" SSS9r8\9" 5       SSS.S\S\
\3   S\3S\:S\;\   4
S  jjr<SS!S"S#.S\S$\	\3\4   S%\\3   S\3S\
\3   S\	\3\4   4S& jjr=S\>S\\3   4S' jr? " S( S)\5      r@ " S* S+\5      rA " S, S-\3\5      rB\" S.S/9rC\\B\C4   rD\\@\4   rE\\A\\4   rF\\@\A\3\G\H\>\:4   rI\&S0   rJ " S1 S2\5      rK " S3 S4\5      rL " S5 S6\5      rM " S7 S8\5      rN " S9 S:\5      rO " S; S<\5      rP " S= S>\5      rQ " S? S@\5      rR " SA SB\5      rS\O\N\Q\RSC.rT " SD SE\5      rU " SF SG\5      rV " SH SI\5      rW " SJ SK\5      rXg)L    N)defaultdict)Enum)TYPE_CHECKINGAnyCallableDictIterableListOptionalTupleTypeTypeVarUnion)	BaseModel
ConfigDictField
StrictBoolStrictFloat	StrictInt	StrictStrValidationErrorconstrcreate_modelfield_validator)ConfigValidationErrorModel	Optimizer)Promise   )NAMES)Literal)Lookups)is_cython_func)Language)Example)VocabItemTr$   r%   schemaobjreturnc                     U " S0 UD6  / $ ! [          a  nUR                  5       n[        [        5      nU Hf  nSR	                  UR                  S/ 5       Vs/ s H  n[        U5      PM     Os  snf sn5      nXG   R                  UR                  S5      5        Mh     UR                  5        VV	s/ s H  u  pSU SSR	                  U	5       3PM     Os  sn	nf sn	ns SnA$ SnAff = f)	zValidate data against a given pydantic schema.

obj (Dict[str, Any]): JSON-serializable data to validate.
schema (pydantic.BaseModel): The schema to validate against.
RETURNS (List[str]): A list of error messages, if available.
z -> locmsg[z] z, N )	r   errorsr   listjoingetstrappenditems)
r(   r)   er0   dataerrorperr_locr,   r-   s
             g/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/spacy/schemas.pyvalidater=   6   s    	J	 J4 Ekk599UB3G"H3Ga3q63G"HIGM  5!12  =AJJLIL!C5499S>*+LIIJs4   	 
C,AC'A/.AC'4#C
C'!C,'C,forbidTextraarbitrary_types_allowedArgModel)excludenamestrictfuncrC   rD   rE   c                h   0 n [         R                  " U 5      nSnUR
                  R                  5        H  nUR                  U;   a  M  UR                  UR                  :X  a  SnM3  UR                  UR                  :w  a  UR                  O[        n[        U 5      (       a  SOSn	UR                  UR                  :w  a  UR                  OU	n
X4XGR                  '   M     U=(       a    U(       + nU(       a  [        O[        US'   [        U40 UD6$ ! [         a    [        U[        S9s $ f = f)ad  Generate a pydantic model for function arguments.

func (Callable): The function to generate the schema for.
exclude (Iterable[str]): Parameter names to ignore.
name (str): Name of created model class.
strict (bool): Don't allow extra arguments if no variable keyword arguments
    are allowed on the function.
RETURNS (type[BaseModel]): A pydantic model.
)
__config__FTN.rH   )inspect	signature
ValueErrorr   ArgSchemaConfigExtra
parametersvaluesrD   kindVAR_KEYWORD
annotationemptyr   r#   defaultArgSchemaConfig)rF   rC   rD   rE   sig_argssighas_variableparamrQ   default_emptyrS   	is_stricts               r<   get_arg_modelr[   Q   s     HC%
 L&&(:: ::***  L).)9)9U[[)HU%%c
 !/t 4 4##(==EKK#?%--] *4! )" +|+I09_?SH\)))1  C D-ABBCs   D D10D1 )get_examplesnlp)sectionrD   rC   settingsr_   c                    [        XSS9n UR                  U5      R                  5       $ ! [         a2  nU(       d  SOSU 3nSU S3n[	        XR                  5       XS9SeSnAff = f)	as  Validate initialization settings against the expected arguments in
the method signature. Will parse values if possible (e.g. int to string)
and return the updated settings dict. Will raise a ConfigValidationError
if types don't match or required values are missing.

func (Callable): The initialize method of a given component etc.
settings (Dict[str, Any]): The settings from the respective [initialize] block.
section (str): Initialize section, for error message.
name (str): Name of the block in the section.
exclude (Iterable[str]): Parameter names to exclude from schema.
RETURNS (Dict[str, Any]): The validated settings.
InitArgModel)rC   rD   
initializezinitialize.z-Error validating initialization settings in [])titler0   configparentN)r[   model_validate
model_dumpr   r   r0   )	rF   r`   r_   rD   rC   r(   r7   blockre   s	            r<   validate_init_settingsrk      sx    ( 4~FF$$X.99;; $+;wi1H?waH#
8
	s   + 
A'-A""A'c                    S n[        U [        5      (       a^  / nU  HT  n[        U[        5      (       a+  UR                  5        VVs0 s H  u  pEU" U5      U_M     nnnUR	                  U5        MV     Un [        [        SU 05      $ s  snnf )Nc                 h    [        U [        5      (       a  U [        [        5      :  a	  [        U    $ U $ N)
isinstanceintlenr    )ks    r<   <lambda>(validate_token_pattern.<locals>.<lambda>   s&    Jq#$6$61s5z>aPqP    pattern)ro   r1   dictr6   r5   r=   TokenPatternSchema)r)   get_key	convertedrv   rr   vs         r<   validate_token_patternr|      s    PG#t	G'4((5<]]_E_TQ71:q=_EW%  &C(899 Fs   B	c                      \ rS rSr% \" SSS9r\\\S 4      \	S'   \" SSS9r
\\\      \	S'   \" SSS9r\\\      \	S	'   \" SS
S9r\\\      \	S'   \" SSS9r\\\      \	S'   \" SSS9r\\\      \	S'   \" SSS9r\\\S 4      \	S'   \" SSS9r\\\S 4      \	S'   \" SSS9r\\\S 4      \	S'   \" SSS9r\\\S 4      \	S'   \" SSS9r\\\S 4      \	S'   \" SSS9r\\\S 4      \	S'   \" SSS9r\\\S 4      \	S'   \" SSS9r\\\S 4      \	S'   \" SS S9r\\\S 4      \	S!'   \" SS"S9r\\\S 4      \	S#'   \" S$S%S&9r\" S'S(S)9\S* 5       5       rS+rg),TokenPatternString   NregexaliasREGEXinINnot_inNOT_IN	is_subset	IS_SUBSETis_supersetIS_SUPERSET
intersects
INTERSECTSfuzzyFUZZYfuzzy1FUZZY1fuzzy2FUZZY2fuzzy3FUZZY3fuzzy4FUZZY4fuzzy5FUZZY5fuzzy6FUZZY6fuzzy7FUZZY7fuzzy8FUZZY8fuzzy9FUZZY9r>   Tr@   populate_by_name*beforemodec                 "    Uc  [        S5      eU$ NzNone / null is not allowedrK   clsr{   s     r<   raise_for_none!TokenPatternString.raise_for_none        99::ru   r/   ) __name__
__module____qualname____firstlineno__r   r   r   r   r   __annotations__r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   model_configr   classmethodr   __static_attributes__r/   ru   r<   r~   r~      sv   >CDPW>XE8E)%99:;X$)$d$;Bi!;(-d((CFHT)_%C+0[+IIxY(I-24}-MK$y/*M,1$l,KJi)K>CDPW>XE8E)%99:;X?DH@FHU9&::;<  @EH@FHU9&::;<  @EH@FHU9&::;<  @EH@FHU9&::;<  @EH@FHU9&::;<  @EH@FHU9&::;<  @EH@FHU9&::;<  @EH@FHU9&::;<  @EH@FHU9&::;<  HtDLSx(  )ru   r~   c                   
   \ rS rSr% \" SSS9r\\   \S'   \" SSS9r	\\
\      \S'   \" SSS9r\\
\      \S	'   \" SS
S9r\\
\      \S'   \" SSS9r\\
\      \S'   \" SSS9r\\
\      \S'   \" SSS9r\\\\4      \S'   \" SSS9r\\\\4      \S'   \" SSS9r\\\\4      \S'   \" SSS9r\\\\4      \S'   \" SSS9r\\\\4      \S'   \" SSS9r\\\\4      \S'   \" SSS9r\" SS S!9\S" 5       5       rS#rg)$TokenPatternNumber   Nr   r   r   r   r   r   r   r   r   r   r   r   r   z==EQz!=NEQz>=GEQz<=LEQ>GT<LTr>   Tr   r   r   r   c                 "    Uc  [        S5      eU$ r   r   r   s     r<   r   !TokenPatternNumber.raise_for_none   r   ru   r/   )r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r/   ru   r<   r   r      s   !&t7!;E8I;$)$d$;Bi!;(-d((CFHT)_%C+0[+IIxY(I-24}-MK$y/*M,1$l,KJi)K27D2IBy+-./I38T3JC%	;./	0J38T3JC%	;./	0J38T3JC%	;./	0J27C2HBy+-./H27C2HBy+-./HHtDLSx(  )ru   r   c                   ~    \ rS rSr% \" S5      r\\S'   \" S5      r\\S'   \" S5      r\\S'   \" S5      r	\\S	'   S
r
g)TokenPatternOperatorSimple   +plusr   star?question!exclamationr/   N)r   r   r   r   r   r   r   r   r   r   r   r/   ru   r<   r   r      s:    nD)$nD)$#C.Hi(&s^K+ru   r   z#^(\{\d+\}|\{\d+,\d*\}|\{\d*,\d+\})$)rv   )r\   IOBr   r         c                   D   \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S	'   Sr\\   \S
'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr \\   \S'   Sr!\\   \S'   Sr"\\   \S'   Sr#\\   \S'   Sr$\\   \S'   Sr%\\   \S'   Sr&\\   \S'   Sr'\\   \S '   Sr(\\   \S!'   Sr)\\   \S"'   Sr*\\   \S#'   Sr+\\   \S$'   Sr,\\   \S%'   Sr-\\.   \S&'   \/" SS'S(9r0\\1\2\34      \S)'   \4" S*S+S, S-9r5\6" S.S/S09\7S1 5       5       r8S2r9g)3TokenPatterni  Northtextlowerpostagmorphdeplemmashapeent_typeent_iobent_id	ent_kb_idnormlengthspacyis_alphais_asciiis_digitis_loweris_upperis_titleis_punctis_space
is_bracketis_quoteis_left_punctis_right_punctis_currencyis_stopis_sent_start
sent_startlike_numlike_url
like_emailop_r   
underscorer>   Tc                 "    U R                  5       $ rn   )upper)values    r<   rs   TokenPattern.<lambda>1  s
    ekkmru   )r@   r   alias_generatorr   r   r   c                 "    Uc  [        S5      eU$ r   r   r   s     r<   r   TokenPattern.raise_for_none4  r   ru   r/   ):r   r   r   r   r   r   StringValuer   r   r   r   r   r   r   r   r   r   r   IobValuer   r   r   r   NumberValuer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   TokenPatternOperatorr   r   r   r   UnderscoreValuer   r   r   r   r   r   r/   ru   r<   r   r     su   "&D(;
&"&D(;
&#'E8K '!%C+	%!%C+	%#'E8K '!%C+	%#'E8K '#'E8K '&*Hh{#*"&GXh&$(FH[!('+Ix$+"&D(;
&$(FH[!("&E8J&%)Hhz")%)Hhz")%)Hhz")%)Hhz")%)Hhz")%)Hhz")%)Hhz")%)Hhz")'+J$+%)Hhz")*.M8J'.+/NHZ(/(,K*%,$(GXj!(*.M8J'.'+J$+%)Hhz")%)Hhz")'+J$+)-B%&-=B4s=SJi89:S3L Sx(  )ru   r   c                   @    \ rS rSr% \" SSS9r\\   \S'   \	" SS9r
Srg	)
rx   i<  .r   )
min_lengthrv   r>   r@   r/   N)r   r   r   r   r   rv   r
   r   r   r   r   r   r/   ru   r<   rx   rx   <  s"    "'":GT,:H-Lru   rx   c                      \ rS rSr% \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r	\\S	'   \" S
SS9r
\\S'   \" SSS9r\\S'   \" / SS9r\\   \S'   \" / SS9r\\   \S'   \" S
SS9r\\S'   \" S
SS9r\\S'   \" S
SS9r\\S'   \" S
SS9r\\S'   \" S
SS9r\\S'   \" SSS9r\\\\   \\\\4      4      \S '   \" 0 S!S9r\\\4   \S"'   \" 0 S#S9r\\\\   4   \S$'   \" 0 S%S9r\\\4   \S&'   \" S
S'S9r\\S('   S)rg)*ModelMetaSchemaiE  .z#Two-letter language code, e.g. 'en're   langz
Model namerD   zModel versionversionr\   z#Compatible spaCy version identifierspacy_versionr   z9Name of parent spaCy package, e.g. spacy or spacy-nightlyparent_packagezIAdditional Python package dependencies, used for the Python package setuprequirementszNames of pipeline componentspipelinezModel descriptiondescriptionzModel licenselicensezModel author nameauthorzModel author emailemailzModel author URLurlNzTraining data sourcessourceszIncluded word vectorsvectorsz)Component labels, keyed by component namelabelszAccuracy and speed numbersperformancezCommit of spaCy version usedspacy_git_versionr/   )r   r   r   r   r   r  r   r   rD   r  r  r  r  r
   r  r  r  r  r  r  r  r   r   r   r4   r  r   r  r  r  r   r/   ru   r<   r  r  E  s}   C'LMD)MC|4D)4s/:GY:$R/TUM9U %g5p qNIq$)"4  %AL$y/  A %b0N OHd9oO"2-@AKAr9GY9b(;<FI<R';<E9<2%78C8FKDXoFpGXeDOT$sCx.-AABCp#B.EFGT#s(^F#(3^#_FDd3i _"'2N"OKc3hO#(3Q#RyRru   r  c                   6   \ rS rSr% \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r	\
\S	'   \" SS
S9r\\S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\   \S'   \" SSS9r\\   \S'   \" SSS9r\\S'   \" SSS9r\\\\\\4      4   \S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SS S9r\\   \S!'   \" SS"S9r \\   \S#'   \" SS$S9r!\\"S%/S%4      \S&'   \" SS'S9r#\\"S%\\\$4   /S(4      \S)'   \%" S*S+S,9r&S-r'g().ConfigSchemaTrainingic  .z"Path in the config to the dev datar  
dev_corpus'Path in the config to the training datatrain_corpusBatcher for the training databatcherDropout ratedropoutzBHow many steps to continue without improvement in evaluation scorepatience%Maximum number of epochs to train for
max_epochsz+Maximum number of update steps to train for	max_stepsz-How often to evaluate during training (steps)eval_frequencyzRandom seedseedz$Memory allocator when running on GPUgpu_allocatorz,Whether to divide the batch up into substepsaccumulate_gradientz<Scores to report and their weights for selecting final modelscore_weightsThe optimizer to use	optimizerz%The logger to track training progressloggerz=Pipeline components that shouldn't be updated during trainingfrozen_componentsz?Pipeline components that should set annotations during trainingannotating_componentszPOptional callback to modify nlp object after training, before it's saved to diskr$   before_to_diskzDOptional callback that is invoked at the start of each training stepNbefore_updater>   Tr?   r/   )(r   r   r   r   r   r   r   r   r"  r$  Batcherr&  r   r'  r   r)  r*  r+  r,  r   r-  r.  r/  r   r   r1  r   r2  Loggerr3  r
   r4   r4  r5  r   r6  r   r   r   r   r/   ru   r<   r  r  c  s   !#-QRJ	R#C/XYL)YS(GHGWH N;G[;+opHip!#-TUJ	U ,YZIyZ %c1` aNIa %c ?D(9
?).s:`)aM8I&a%*36d%eeNSTW  `^  O_M4	8E+y2H,I#JJK  _ ,BCIyC3&MNFFN#(4s#ttCyt',S8y'z49zCH  Ug  DhNHXzlJ&>?@  hLQRU  ^d  MeM8Hj$sCx.%A4%GHI  e HdKLru   r  c                   P   \ rS rSr% \" SSS9r\\S'   \" SSS9r\	\   \S'   \" SSS9r
\	\   \S	'   \" SS
S9r\\S'   \" SSS9r\\\S   /\S   4      \S'   \" SSS9r\\S/S4      \S'   \" SSS9r\\S/S4      \S'   \" SSS9r\\   \S'   \" SSS9r\\S'   \" SSS9rSrg)ConfigSchemaNlpi|  .zThe base language to user  r  z%The pipeline component names in orderr  z)Pipeline components to disable by defaultdisabledzThe tokenizer to use	tokenizerz@Optional callback to modify Language class before initializationr$   before_creationz\Optional callback to modify nlp object after creation and before the pipeline is constructedafter_creationzHOptional callback to modify nlp object after the pipeline is constructedafter_pipeline_creationzDefault batch size
batch_sizezVectors implementationr  r>   Tr?   r/   N)r   r   r   r   r   r  r   r   r  r
   r;  r<  r   r=  r   r   r>  r?  r@  rp   r  r   r   r   r/   ru   r<   r:  r:  |  s    C'ABD)B %c1X YHd9oY %c1\ ]Hd9o]+ABIxBPUVY  bd  QeOXhZ(8'94
;K'KLM  eCH  Us  DtNHXzlJ&>?@  tLQRU  ^h  MiXh
|Z/G&HI  i %c1E FJFc)ABGXB HdKLru   r:  c                        \ rS rSr\" SS9rSrg)ConfigSchemaPretrainEmptyi  r>   r
  r/   N)r   r   r   r   r   r   r   r/   ru   r<   rB  rB    s    H-Lru   rB  c                   .   \ rS rSr% \" SSS9r\\S'   \" SSS9r\	\S'   \" SSS9r
\\   \S	'   \" SS
S9r\\   \S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\S\/\4   \S'   \" SSS9rSrg)ConfigSchemaPretraini  .r(  r  r)  r%  r&  zASaving additional temporary model after n batches within an epochn_save_everyz Saving model after every n epochn_save_epochr0  r1  r!  corpusr#  r$  z'Component to find the layer to pretrain	componentz(Layer to pretrain. Whole model if empty.layerz2A function that creates the pretraining objective.r&   	objectiver>   Tr?   r/   N)r   r   r   r   r   r)  r   r   r&  r   rE  r   rF  r1  r   rG  r   r$  r7  rH  r4   rI  rJ  r   r   r   r   r   r/   ru   r<   rD  rD    s    !#-TUJ	U N;G[;(-c9|(}L(9%}(-c9[(\L(9%\ ,BCIyCc)RSFISS(GHGWH3&OPIsPs"LME3M38Dx3yIx%(%/0y HdKLru   rD  c                   >   \ rS rSr% \" SSS9r\\   \S'   \" SSS9r	\\
   \S'   \" SSS9r\\   \S	'   \" SS
S9r\\   \S'   \" SSS9r\\\4   \S'   \" SSS9r\\\\\4   4   \S'   \" SSS9r\\S/S4      \S'   \" SSS9r\\S/S4      \S'   \" SSS9rSrg)ConfigSchemaIniti  .z&Path to JSON-formatted vocabulary filer  
vocab_dataz-Vocabulary lookups, e.g. lexeme normalizationlookupszPath to vectorsr  z"Path to pretrained tok2vec weightsinit_tok2vecz0Arguments to be passed into Tokenizer.initializer<  zYArguments for TrainablePipe.initialize methods of pipeline components, keyed by component
componentsz<Optional callback to modify nlp object before initializationr$   before_initz;Optional callback to modify nlp object after initialization
after_initr>   Tr?   r/   N)r   r   r   r   r   rM  r   r   r   rN  r"   r  rO  r<  r   r   rP  rQ  r   rR  r   r   r   r/   ru   r<   rL  rL    s   &+C7_&`J#`!&s2a!bGXgb#(4E#FGXi F(-c9](^L(9%^&+C7i&jItIsN#j8=c  Je  9fJYY^ 445  f@Ec  RP  AQK(J<#;<=  Q?DS  QN  @OJ:,
":;<  O HdKLru   rL  c                       \ rS rSr% \\S'   \\S'   0 r\\	\
4   \S'   \\\\\4   4   \S'   \\\4   \S'   \\S'   \" SS	S
9rSrg)ConfigSchemai  trainingr^   pretrainingrP  corporarc   allowTr?   r/   N)r   r   r   r   r  r   r:  rV  r   rD  rB  r   r4   r   ReaderrL  r   r   r   r/   ru   r<   rT  rT    s]    ""	JLK+-FFGLS$sCx.())#v+  GTJLru   rT  )r^   rU  rV  rc   c                   *    \ rS rSr% \\S'   \\S'   Srg)RecommendationTrfItemi  rD   size_factorr/   N)r   r   r   r   r4   r   rp   r   r/   ru   r<   r[  r[    s    
Iru   r[  c                   *    \ rS rSr% \\S'   \\S'   Srg)RecommendationTrfi  
efficiencyaccuracyr/   N)r   r   r   r   r[  r   r   r/   ru   r<   r^  r^    s    %%##ru   r^  c                   L    \ rS rSr% Sr\\   \S'   Sr\\	   \S'   Sr
\\S'   Srg)RecommendationSchemai  Nword_vectorstransformerThas_lettersr/   )r   r   r   r   rc  r   r4   r   rd  r^  re  boolr   r/   ru   r<   rb  rb    s*    "&L(3-&/3K+,3Kru   rb  c            	          \ rS rSr% Sr\" SSS9r\\\	\
4      \S'   \" SSS9r\\\\	\\\	4   4         \S'   \" SS	S9r\\\\	\4         \S
'   \" SSS9r\	\S'   \" SSS9r\\\	\\\	\\	\4   4      4      \S'   \" SSS9r\\\	\\	\4   4      \S'   \" SSSS9r\\\	\4      \S'   \" SSS9r\\\	\\\	\4      4      \S'   \" SSS9r\\\	\\\	\4      4      \S'   Srg)DocJSONSchemai  z:
JSON/dict format for JSON representation of Doc objects.
Nz+Categories with corresponding probabilitiesr  catszInformation on entitiesentsz+Indices of sentences' start and end indicessents.zDocument textr   z2Span information - end/start indices, label, KB IDspansz*Token information - ID, start, annotationstokensz4Any custom data stored in the document's _ attributer   )re   r   underscore_docz1Any custom data stored in the token's _ attributeunderscore_tokenz0Any custom data stored in the span's _ attributeunderscore_spanr/   )r   r   r   r   __doc__r   ri  r   r   r   r   r   rj  r
   r   r   rk  r   rl  rm  rn  r   ro  rp  r   r/   ru   r<   rh  rh    s    49A4D(4	;./
0  JO-JD(4Yi.B(CCDE
F  9>A9E8Di2345  C7D)7 	dNO 
8YT)U9i3G-H"HIJJK P BG?BFDiy)';!<<=>  6;D6NHT)S.12 
 OTGOhtItDC4H/I$IJK  NSFNOXd9d4	33G.H#HIJ ru   rh  )YrI   collectionsr   enumr   typingr   r   r   r   r	   r
   r   r   r   r   r   pydanticr   r   r   r   r   r   r   r   r   r   r   	thinc.apir   r   r   thinc.configr   attrsr    compatr!   rN  r"   utilr#   languager$   rU  r%   vocabr&   r'   r7  r4   rY  r8  r=   rT   rL   tuplerf  typer[   rk   r1   r|   r~   r   r   TokenPatternOperatorMinMaxr  r  r  rp   floatr  r  r   rx   r  r  r:  rB  rD  rL  rT  CONFIG_SCHEMASr[  r^  rb  rh  r/   ru   r<   <module>r     sK    #        > =       "! 	
(5/*HT%[,AABGK
L	xS)8I+>>?H	I	xeHd38n5Et5K,Lh,V&WWXZaa	bJT)_ J4S> Jd3i J, 8TJ!$O  #W+*
+* c]+* 	+*
 +* 
)_+*d "4
38n c]	
  c] 
#s(^D
: 
:c 
:+ +\ 0,d , $,RS  79SST &	12&	;>?*CeT4G 0129 2j. .Si S<L9 L2Li L .	 .L9 L"Ly LK9 K $'"	I 
$	 $
9 I ru   