ó
    Î’Œj  ã                   óÆ  • S SK r S SKJr  / SQr\/ SQ-   r/ SPSPSPSPS	PS
PSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPS PS!PS"P\ R
                  " S#\ R                  R                  5       S$9P\ R
                  " S%\ R                  R                  5       S$9PS&PS'PS(PS)PS*PS+PS,PS-PS.PS/PS0PS1PS2Pr/ S3PS4PS5PS6PS7PS8PS9PS:PS;PS<PS=PS>PS?PS@PSAPSBPSCPSDPSEPSFPSGPSHPSIPSJPSKPSLPSMPSNPSOPSPPSQPSRPSSPSTP\ R
                  " SU\ R                  R                  5       S$9PSVPSWPr	/ SXQr
/ SYQr\ R                  R                  SZ\5      S[ 5       r\ R                  R                  SZ\	5      S\ 5       r\ R                  R                  SZ\5      S] 5       r\ R                  R                  SZ\5      S^ 5       r\ R                  R"                  \ R                  R                  S_\
5      \ R                  R                  SZ\5      S` 5       5       5       r\ R                  R"                  \ R                  R                  Sa\5      \ R                  R                  SZ\5      Sb 5       5       5       r\ R                  R"                  \ R                  R                  S_\
5      \ R                  R                  Sa\5      \ R                  R                  SZ\5      Sc 5       5       5       5       r\ R                  R"                  \ R                  R                  Sd\
5      \ R                  R                  Se\
5      \ R                  R                  SZ\5      Sf 5       5       5       5       r\ R                  R"                  \ R                  R                  Sg\5      \ R                  R                  Sh\5      \ R                  R                  SZ\5      Si 5       5       5       5       rg)jé    N)ÚBASE_EXCEPTIONS)zÇhttp://www.nytimes.com/2016/04/20/us/politics/new-york-primary-preview.html?hp&action=click&pgtype=Homepage&clickSource=story-heading&module=a-lede-package-region&region=top-news&WT.nav=top-news&_r=0zwww.red-stars.comzmailto:foo.bar@baz.com)zmailto:foo-bar@baz-co.comz$mailto:foo-bar@baz-co.com?subject=hizwww.google.com?q=googleú&http://foo.com/blah_(wikipedia)#cite-1zhttp://foo.com/blah_blahzhttp://BlahBlah.com/Blah_Blahzhttp://foo.com/blah_blah/z%http://www.example.com/wpstyle/?p=364z1https://www.example.com/foo/?bar=baz&inga=42&quuxz'http://userid:password@example.com:8080z(http://userid:password@example.com:8080/zhttp://userid@example.comzhttp://userid@example.com/zhttp://userid@example.com:8080zhttp://userid@example.com:8080/z"http://userid:password@example.comz#http://userid:password@example.com/zhttp://142.42.1.1/zhttp://142.42.1.1:8080/r   z+http://foo.com/blah_(wikipedia)_blah#cite-1u&   http://foo.com/unicode_(âœª)_in_parensz'http://foo.com/(something)?after=parensz/http://code.google.com/events/#&product=browserzhttp://j.mpzftp://foo.bar/bazz,http://foo.bar/?q=Test%20URL-encoded%20stuffz2http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.comzhttp://1337.netzhttp://a.b-c.dezhttp://223.255.255.254zhttp://a.b--c.de/z+ssh://login@server.com:12345/repository.gitz&svn+ssh://user@ssh.yourdomain.com/pathz8chrome://extensions/?id=mhjfbmdgcfjbbpaeojofohoefgiehjai)Úmarksz3chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjaiz$http://foo.com/blah_blah_(wikipedia)z,http://foo.com/blah_blah_(wikipedia)_(again)zhttp://www.foo.co.ukzhttp://www.foo.co.uk/zhttp://www.foo.co.uk/blah/blahu   http://âŒ˜.wsu   http://âŒ˜.ws/u   http://â˜º.damowmow.com/u   http://âœªdf.ws/123u   http://âž¡.ws/ä¨¹u   http://Ù…Ø«Ø§Ù„.Ø¥Ø®ØªØ¨Ø§Ø±u   http://ä¾‹å­�.æµ‹è¯•u/   http://à¤‰à¤¦à¤¾à¤¹à¤°à¤£.à¤ªà¤°à¥€à¤•à¥�à¤·à¤¾zhttp://zhttp://.z	http://..z
http://../zhttp://?z	http://??z
http://??/zhttp://#z	http://##z
http://##/z)http://foo.bar?q=Spaces should be encodedz//z//az///az///z	http:///azrdar://1234zh://testzhttp:// shouldfail.comz:// should failzhttp://foo.bar/foo(bar)baz quuxzhttp://-error-.invalid/zhttp://a.b-.cozhttp://0.0.0.0zhttp://10.1.1.0zhttp://10.1.1.255zhttp://224.1.1.1zhttp://123.123.123zhttp://3628126748zhttp://.www.foo.bar/zhttp://.www.foo.bar./zhttp://10.1.1.1zNASDAQ:GOOGzhttp://-a.b.cozfoo.comzhttp://1.1.1.1.1zhttp://www.foo.bar./)Ú(Ú"Ú>)r   Ú:r   Úurlc                 ó,   • U R                  U5      c   eg ©N©Ú	url_match©Úen_tokenizerr
   s     Ú­C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\spacy/tests/tokenizer/test_urls.pyÚtest_should_matchr   y   s   € à×!Ñ! #Ó&Ñ2Ð2Ñ2ó    c                 ó,   • U R                  U5      b   eg r   r   r   s     r   Útest_should_not_matchr   ~   s   € à×!Ñ! #Ó&Ñ.Ð.Ñ.r   c                 ó`   • U " U5      n[        U5      S:X  d   eUS   R                  U:X  d   eg )Né   r   ©ÚlenÚtext©Ú	tokenizerr
   Útokenss      r   Ú!test_tokenizer_handles_simple_urlr   ƒ   s3   € á�s‹^€FÜˆv‹;˜!ÓÐÐØ�!‰9�>‰>˜SÓ Ð Ñ r   c                 óÀ   • U " SU-   S-   5      n[        U5      S:X  d   eUS   R                  S:X  d   eUS   R                  U:X  d   eUS   R                  S:X  d   eg )Nr   Ú)é   r   r   é   r   r   s      r   Ú*test_tokenizer_handles_simple_surround_urlr#   Š   sh   € á�s˜S‘y 3‘Ó'€FÜˆv‹;˜!ÓÐÐØ�!‰9�>‰>˜SÓ Ð Ð Ø�!‰9�>‰>˜SÓ Ð Ð Ø�!‰9�>‰>˜SÓ Ð Ñ r   Úprefixc                 óŽ   • U " X-   5      n[        U5      S:X  d   eUS   R                  U:X  d   eUS   R                  U:X  d   eg ©Nr"   r   r   r   )r   r$   r
   r   s       r   Ú#test_tokenizer_handles_prefixed_urlr'   “   sN   € ñ �v‘|Ó$€FÜˆv‹;˜!ÓÐÐØ�!‰9�>‰>˜VÓ#Ð#Ð#Ø�!‰9�>‰>˜SÓ Ð Ñ r   Úsuffixc                 óŽ   • U " X-   5      n[        U5      S:X  d   eUS   R                  U:X  d   eUS   R                  U:X  d   eg r&   r   )r   r
   r(   r   s       r   Ú#test_tokenizer_handles_suffixed_urlr*   �   sN   € ñ �s‘|Ó$€FÜˆv‹;˜!ÓÐÐØ�!‰9�>‰>˜SÓ Ð Ð Ø�!‰9�>‰>˜VÓ#Ð#Ñ#r   c                 ó¾   • U " X-   U-   5      n[        U5      S:X  d   eUS   R                  U:X  d   eUS   R                  U:X  d   eUS   R                  U:X  d   eg ©Nr!   r   r   r"   r   )r   r$   r(   r
   r   s        r   Ú#test_tokenizer_handles_surround_urlr-   §   si   € ñ
 �v‘| fÑ,Ó-€FÜˆv‹;˜!ÓÐÐØ�!‰9�>‰>˜VÓ#Ð#Ð#Ø�!‰9�>‰>˜SÓ Ð Ð Ø�!‰9�>‰>˜VÓ#Ð#Ñ#r   Úprefix1Úprefix2c                 ó¾   • U " X-   U-   5      n[        U5      S:X  d   eUS   R                  U:X  d   eUS   R                  U:X  d   eUS   R                  U:X  d   eg r,   r   )r   r.   r/   r
   r   s        r   Ú%test_tokenizer_handles_two_prefix_urlr1   ³   sj   € ñ
 �wÑ(¨3Ñ.Ó/€FÜˆv‹;˜!ÓÐÐØ�!‰9�>‰>˜WÓ$Ð$Ð$Ø�!‰9�>‰>˜WÓ$Ð$Ð$Ø�!‰9�>‰>˜SÓ Ð Ñ r   Úsuffix1Úsuffix2c                 óR  • U " X1-   U-   5      nX-   [         ;   a>  [        U5      S:X  d   eUS   R                  U:X  d   eUS   R                  X-   :X  d   eg [        U5      S:X  d   eUS   R                  U:X  d   eUS   R                  U:X  d   eUS   R                  U:X  d   eg )Nr"   r   r   r!   )r   r   r   )r   r2   r3   r
   r   s        r   Ú%test_tokenizer_handles_two_suffix_urlr5   ¿   sµ   € ñ
 �s‘} wÑ.Ó/€FØÑœOÓ+Ü�6‹{˜aÓÐÐØ�a‰y�~‰~ Ó$Ð$Ð$Ø�a‰y�~‰~ Ñ!2Ó2Ð2Ñ2ä�6‹{˜aÓÐÐØ�a‰y�~‰~ Ó$Ð$Ð$Ø�a‰y�~‰~ Ó(Ð(Ð(Ø�a‰y�~‰~ Ó(Ð(Ñ(r   )ÚpytestÚspacy.lang.tokenizer_exceptionsr   Ú
URLS_BASICÚ	URLS_FULLÚparamÚmarkÚxfailÚURLS_SHOULD_MATCHÚURLS_SHOULD_NOT_MATCHÚPREFIXESÚSUFFIXESÚparametrizer   r   r   r#   Úslowr'   r*   r-   r1   r5   © r   r   Ú<module>rD      sW  ðÛ å ;ò€
ð ò ñ €	ð3Øð3à#ð3ð  ð3ð ,ð	3ð
 8ð3ð .ð3ð /ð3ð  ð3ð !ð3ð %ð3ð &ð3ð )ð3ð *ð3ð ð3ð ð3ð  -ð!3ð" 2ð#3ð$ -ð%3ð& .ð'3ð( 6ð)3ð* ð+3ð, ð-3ð. 3ð/3ð0 9ð13ð2 ð33ð4 ð53ð6 ð73ð8 ð93ð: 2ð;3ð< -ð=3ð> ‡L‚LØBØ�k‰k×ÑÓ!ñð?3ðF ‡L‚LØ=ÀVÇ[Á[×EVÑEVÓEXñðG3ðL +ðM3ðN 3ðO3ðP ðQ3ðR ðS3ðT %ðU3ðV ðW3ðX ðY3ðZ ð[3ð\ ð]3ð^ ð_3ð` #ða3ðb ðc3ðd 6ðe3Ð ðj&Øð&àð&ð ð&ð ð	&ð
 ð&ð ð&ð ð&ð ð&ð ð&ð ð&ð 0ð&ð 	ð&ð 
ð&ð ð&ð 
ð&ð  ð!&ð" ð#&ð$ ð%&ð& ð'&ð( ð)&ð* &ð+&ð, ð-&ð. ð/&ð0 ð1&ð2 ð3&ð4 ð5&ð6 ð7&ð8 ð9&ð: ð;&ð< ð=&ð> ð?&ð@ ðA&ðB ðC&ðD ðE&ðF ‡L‚L� &§+¡+×"3Ñ"3Ó"5Ñ6ðG&ðH ðI&ðJ ðK&Ð òT €ò €ð ‡�×Ñ˜Ð 1Ó2ñ3ó 3ð3ð ‡�×Ñ˜Ð 5Ó6ñ/ó 7ð/ð ‡�×Ñ˜ 
Ó+ñ!ó ,ð!ð ‡�×Ñ˜ 
Ó+ñ!ó ,ð!ð ‡�×ÑØ‡�×Ñ˜ 8Ó,Ø‡�×Ñ˜ 	Ó*ñ!ó +ó -ó ð!ð ‡�×ÑØ‡�×Ñ˜ 8Ó,Ø‡�×Ñ˜ 	Ó*ñ$ó +ó -ó ð$ð ‡�×ÑØ‡�×Ñ˜ 8Ó,Ø‡�×Ñ˜ 8Ó,Ø‡�×Ñ˜ 	Ó*ñ$ó +ó -ó -ó ð$ð ‡�×ÑØ‡�×Ñ˜ HÓ-Ø‡�×Ñ˜ HÓ-Ø‡�×Ñ˜ 	Ó*ñ!ó +ó .ó .ó ð!ð ‡�×ÑØ‡�×Ñ˜ HÓ-Ø‡�×Ñ˜ HÓ-Ø‡�×Ñ˜ 	Ó*ñ
)ó +ó .ó .ó ñ
)r   