ó
    Î’ŒjÒ  ã            	       ó²  • S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  / \R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9PS	P\R                  " S
\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9PSPSP\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9PSP\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9PSP\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S\R                  R                  5       S9P\R                  " S \R                  R                  5       S9P\R                  " S!\R                  R                  5       S9PS"P\R                  " S#\R                  R                  5       S9P\R                  " S$\R                  R                  5       S9P\R                  " S%\R                  R                  5       S9P\R                  " S&\R                  R                  5       S9P\R                  " S'\R                  R                  5       S9P\R                  " S(\R                  R                  5       S9P\R                  " S)\R                  R                  5       S9P\R                  " S*\R                  R                  5       S9P\R                  " S+\R                  R                  5       S9P\R                  " S,\R                  R                  5       S9P\R                  " S-\R                  R                  5       S9P\R                  " S.\R                  R                  5       S9P\R                  " S/\R                  R                  5       S9P\R                  " S0\R                  R                  5       S9P\R                  " S1\R                  R                  5       S9Pr\R                  R                  S2\5      S3 5       rS4 rS5 r\R$                  R&                  S=S6\R$                  R(                  S7\S8\4S9 jj5       r\R                  R0                  \R                  R                  S2\5      \R2                  " \" 5       S:9S2\S;\S8S4S< j5       5       5       rg)>é    N)Ú	Tokenizer)Úget_lang_classÚfr)ÚmarksÚafÚarÚbgÚbnÚboÚcaÚcsÚdaÚdeÚelÚenÚesÚetÚfaÚfiÚgaÚheÚhiÚhrÚhuÚidÚitÚknÚlbÚltÚlvÚnbÚnlÚplÚptÚroÚsiÚskÚslÚsqÚsrÚsvÚtaÚteÚtlÚtrÚttÚurÚkmrÚlangc                 ób  • [        U 5      " 5       R                  n[        R                  " SU  S35      nUR                   Ha  nU" U5       Vs/ s H!  oDR
                  (       a  M  UR                  PM#     nnUR                  U5       Vs/ s H  oDS   PM	     nnXV:X  a  Ma   e   g s  snf s  snf )Nzspacy.lang.z	.examplesé   )r   Ú	tokenizerÚpytestÚimportorskipÚ	sentencesÚis_spaceÚtextÚexplain)r3   r6   ÚexamplesÚsentenceÚtÚtokensÚdebug_tokenss          Ú°C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\spacy/tests/tokenizer/test_explain.pyÚtest_tokenizer_explainrC   A   s˜   € ä˜tÔ$Ó&×0Ñ0€IÜ×"Ò" [°°°iÐ#@ÓA€HØ×&Ô&ˆÙ"+¨HÔ"5ÓHÒ"5˜Q¿Z½Z“&�!—&”&Ñ"5ˆÐHØ&/×&7Ñ&7¸Ô&AÓBÒ&A ˜!œÑ&AˆÐBØÕ%Ð%Ð%ò 'ùÚHùÚBs   ÁB'Á&B'ÂB,c                 óT  • [         R                  " S5      n[         R                  " S5      nSSS0/0n[        U UUR                  UR                  S9nU" S5       Vs/ s H  oUR
                  PM     nnUR                  S5       Vs/ s H  oUS   PM	     nnXg:X  d   eg s  snf s  snf )Nz[\.]$z[/]za.ÚORTH)ÚrulesÚsuffix_searchÚinfix_finditerza/a.r5   )ÚreÚcompiler   ÚsearchÚfinditerr;   r<   )Úen_vocabÚ	suffix_reÚinfix_rerF   r6   r?   r@   Úexplain_tokenss           rB   Ú&test_tokenizer_explain_special_matcherrQ   K   s§   € Ü—
’
˜8Ó$€IÜ�zŠz˜&Ó!€HØ�V˜T�NÐ#Ð$€EÜØØØ×&Ñ&Ø×(Ñ(ñ	€Iñ (¨Ô/Ó0Ò/˜�fŒfÑ/€FÐ0Ø$-×$5Ñ$5°fÔ$=Ó>Ò$=˜q˜”dÑ$=€NÐ>ØÓ#Ð#Ñ#ùò 1ùÚ>s   ÁB ÂB%c                 óÔ   • SSS0/0n[        U US9nSnU" U5       Vs/ s H  oDR                  PM     nnUR                  U5       Vs/ s H  oDS   PM	     nnXV:X  d   eg s  snf s  snf )Nz:]rE   )rF   z: ]r5   )r   r;   r<   )rM   rF   r6   r;   r?   r@   rP   s          rB   Ú1test_tokenizer_explain_special_matcher_whitespacerS   Z   s{   € Ø�V˜T�NÐ#Ð$€EÜØØñ€Ið €DÙ'¨œoÓ.šo˜�fŒf™o€FÐ.Ø$-×$5Ñ$5°dÔ$;Ó<Ò$;˜q˜”dÑ$;€NÐ<ØÓ#Ð#Ñ#ùò /ùÚ<s   žA ÁA%ÚdrawÚmax_n_wordsÚreturnc           	      ó  • SR                  / [        R                   Vs/ s H  n[        R                  " U5      PM     snQSP5      n[        U " [        R                  R                  SUS95      5       Vs/ s HK  nU " [        R                  R                  SS95      U " [        R                  R                  U5      5      /PMM     nnSR                  U VVs/ s H  of  H  owPM     M     snn5      $ s  snf s  snf s  snnf )a[  
Composite strategy for fuzzily generating sentence with varying interpunctation.

draw (hypothesis.strategies.DrawFn): Protocol for drawing function allowing to fuzzily pick from hypothesis'
                                     strategies.
max_n_words (int): Max. number of words in generated sentence.
RETURNS (str): Fuzzily generated sentence.
Ú|z\sé   )Ú	min_valueÚ	max_valuer5   )Úmin_sizeÚ )ÚjoinÚstringÚpunctuationrI   ÚescapeÚrangeÚ
hypothesisÚ
strategiesÚintegersr;   Ú
from_regex)rT   rU   ÚpÚpunctuation_and_space_regexÚ_r>   Ú
token_pairÚtokens           rB   Úsentence_strategyrl   f   sø   € ð #&§(¡(Ø<¤×!3Ò!3Ó
4Ò!3˜AŒ2�9Š9�QŽ<Ñ!3Ñ
4Ð<°eÐ<ó#Ðô Ù”×&Ñ&×/Ñ/¸!À{Ð/ÐSÓTô
óò

ˆAñ ”×&Ñ&×+Ñ+°QÐ+Ð7Ó8Ù”×&Ñ&×1Ñ1Ð2MÓNÓOó	
ñ
ð ð ð �8‰8©XÔNªX˜zÃ:¸%’UÁ:‘U©XÒNÓOÐOùò 5ùòùó Os   Ÿ C8
Á8AC=ÃD
)r>   r>   c                 óT  • [         R                  " U 5      R                  n[        R                  " SSU5      R                  5       nU" U5       Vs/ s H  o3R                  PM     nnUR                  U5       Vs/ s H  o3S   PM	     nnXE:X  d   U SU SU 35       egs  snf s  snf )z¸
Tests whether output of tokenizer.explain() matches tokenizer output. Input generated by hypothesis.
lang (str): Language to test.
text (str): Fuzzily generated sentence to tokenize.
z\s+r]   r5   z, N)ÚspacyÚblankr6   rI   ÚsubÚstripr;   r<   )r3   r>   r6   r?   r@   rA   s         rB   Útest_tokenizer_explain_fuzzyrr   �   sŸ   € ô !Ÿ;š; tÓ,×6Ñ6€Iô �vŠv�f˜c 8Ó,×2Ñ2Ó4€HÙ'¨Ô1Ó2Ò1˜�fŒfÑ1€FÐ2Ø"+×"3Ñ"3°HÔ"=Ó>Ò"=˜Q�a”DÑ"=€LÐ>ØÓ!ÐJ f X¨R°¨~¸RÀ¸zÐ#JÓJÑ!ùò 3ùÚ>s   ÁB Á;B%)é   )rI   r_   rc   Úhypothesis.strategiesr7   rn   Úspacy.tokenizerr   Ú
spacy.utilr   ÚparamÚmarkÚslowÚ	LANGUAGESÚparametrizerC   rQ   rS   rd   Ú	compositeÚDrawFnÚintÚstrrl   ÚxfailÚgivenrr   © ó    rB   Ú<module>r„      s©  ðÛ 	Û ã Û Û ã Ý %Ý %ð
/Ø
‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/à
‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð	/ð
 	ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð 	ð/ð 	ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð/ð  ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð!/ð" 	ð#/ð$ ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð%/ð& ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð'/ð( ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð)/ð* ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð+/ð, 	ð-/ð. ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð//ð0 ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð1/ð2 ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð3/ð4 ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð5/ð6 ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð7/ð8 ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð9/ð: ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð;/ð< ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð=/ð> 	ð?/ð@ ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðA/ðB ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðC/ðD ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðE/ðF ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðG/ðH ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðI/ðJ ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðK/ðL ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðM/ðN ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðO/ðP ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðQ/ðR ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðS/ðT ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðU/ðV ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðW/ðX ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ðY/ðZ ‡L‚L�˜VŸ[™[×-Ñ-Ó/Ñ0ð[/ð\ ‡L‚L�˜fŸk™k×.Ñ.Ó0Ñ1ð]/€	ðd ‡�×Ñ˜ Ó+ñ&ó ,ð&ò$ò	$ð ×Ñ× Ñ ñP˜J×1Ñ1×8Ñ8ð PÀsð PÐSVô Pó !ðPð4 ‡�×ÑØ‡�×Ñ˜ Ó+Ø×ÒÑ,Ó.Ñ/ðK sð K°cð K¸dó Kó 0ó ,ó ñKrƒ   