+
    e                        ^ RI HtHtHtHt ^ RIHt ]P                  t]P                  t	]P                  t
]P                  t]P                  tRP                  ]]]	.4      tRP                  ]]	.4      tRtR],           R,           ],           R,           ],           R,           tRtR],           R,           tR	tR
tRtR],           R,           ],           R,           R,           tR],           R,           R,           ],           R,           R,           R,           ],           R,           ],           R,           ],           R,           R,           tR],           R,           ],           R,           R,           tR],           R,           R,           ],           R,           R,           tR],           R,           tR],           R,           tR tR tR tR# )    )CcCfPZ)Any|u   [><｜]z(?:(?!)z	(?:(?:(?!z|[@/\[\]()]).)+@)?zK(?::(?:6(?:[0-4]\d{3}|5(?:[0-4]\d{2}|5(?:[0-2]\d|3[0-5])))|[1-5]?\d{1,4}))?z3[\-:&=\+\$,\.a-zA-Z0-9_][\-:&=\+\$,\"\.a-zA-Z0-9_]*zxn--[a-z0-9\-]{1,59}(?:z{1,63}z(?:-|z){0,61}z	(?:(?:(?:z)\.)*z)\.)+(?:%TLDS%))z.localhost|www\.|\.\d{1,3}\.|(?:\.(?:%TLDS%)(?:z|>|$))c                     R \         ,           R,           \        ,           R,           R,           V P                  R4      '       d   RMR,           R,           \        ,           R,           pV# )	z(?=$|r   r	   z(?!---z-(?!--)|z-|z_|:\d|\.-|\.(?!$|)))TEXT_SEPARATORSSRC_ZPCCget)optssrc_host_terminators   & 1/usr/lib/python3/dist-packages/linkify_it/ucre.py_re_host_terminatorr   d   sv    
	
	 	 		
 	 %:d	4 !	! 	 		      c                    R\         ,           R,           \        ,           R,           R,           \         ,           R,           R,           \         ,           R,           R,           \         ,           R,           R	,           \         ,           R
,           R,           \         ,           R,           R,           \        ,           R,           R,           R,           \         ,           R,           V P                  R4      '       d   RMR,           R,           \         ,           R,           R,           \         ,           R,           R,           \         ,           R,           R,           \         ,           R,           R,           R,           R,           pV# ) r
   r   z|[()[\]{}.,"'?!\-;]).|z\[(?:(?!z
|\]).)*\]|z\((?:(?!z|[)]).)*\)|z\{(?:(?!z|[}]).)*\}|z\"(?:(?!z|["]).)+\"|z\'(?:(?!z|[']).)+\'|z\'(?=z|[-])|z\.{2,}[a-zA-Z0-9%/&]|z\.(?!z|[.]|$)|r   z\-(?!--(?:[^-]|$))(?:-*)|z\-+|z,(?!z|$)|z;(?!z\!+(?!z|[!]|$)|z\?(?!z|[?]|$)z)+z|\/z)?z(?:[/?#](?:(?!)SRC_ZCCr   SRC_PSEUDO_LETTERr   )r   src_paths   & r   _re_src_pathr   t   s   	 		
 	 	 &	& 	 		 
	 	 	 	 	 	  !	" #	$ %	& '	( )	* +	, -	. /	0 1	2 3	4 #5	#F G#	H I$	J K%	L ,088E??'M&	IN O'	P Q(	R S)	T U*	V W+	X Y,	Z [-	\ ].	^ _/	` a0	b c1	d e2	f g3	h i4	j k5	 r Or   c                   \         \        V 4      ,           p\        \        V 4      ,           p\         \        ,           \        V 4      ,           p\        \        ,           \        V 4      ,           p\        \        ,           \        V 4      ,           pR\
        ,           R,           \        ,           R,           R,           \        ,           R,           V,           R,           p/ R\        bR\        bR\        bR	\        bR
\        bR\        bR\        bR\        bR\        bR\         bR\        bR\        V 4      bR\#        V 4      bR\        bR\$        bR\&        bR\(        bR\         R\        R\        RVRVRVRVRVR\*        R VR!R"\        ,           R#,           R$,           V,           \#        V 4      ,           R,           R%R"\        ,           R#,           R$,           V,           \#        V 4      ,           R,           /CpV# )&zTBuild regex

Args:
    opts (dict): options

Return:
    dict: dict of regex string
z(^|z|"|\(|r	   (@src_Anysrc_Ccsrc_Cfsrc_Zsrc_Psrc_ZPCcsrc_ZCcsrc_pseudo_lettersrc_ip4src_authsrc_portr   r   src_email_namesrc_xnsrc_domain_root
src_domainsrc_hosttpl_host_fuzzytpl_host_no_ip_fuzzysrc_host_stricttpl_host_fuzzy_strictsrc_host_port_stricttpl_host_port_fuzzy_strict tpl_host_port_no_ip_fuzzy_stricttpl_host_fuzzy_testtpl_email_fuzzytpl_link_fuzzyu!   (^|(?![.:/\-_@])(?:[$+<=>^`|｜]|r   u   ((?![$+<=>^`|｜])tpl_link_no_ip_fuzzy)SRC_HOSTr   TPL_HOST_FUZZYSRC_PORTTPL_HOST_NO_IP_FUZZYr   r   SRC_EMAIL_NAMESRC_ANYSRC_CCSRC_CFSRC_ZSRC_Pr   r   SRC_IP4SRC_AUTHr   SRC_XNSRC_DOMAIN_ROOT
SRC_DOMAINTPL_HOST_FUZZY_TEST)r   SRC_HOST_STRICTTPL_HOST_FUZZY_STRICTSRC_HOST_PORT_STRICTTPL_HOST_PORT_FUZZY_STRICT TPL_HOST_PORT_NO_IP_FUZZY_STRICTTPL_EMAIL_FUZZYregexs   &       r   build_rerP      sy    !4T!::O*-@-FF#h.1DT1JJ!/(!:=PQU=V!V 	x'*=d*CC %
 	
	
	 	 		
 	 	 	  	  		 373&3 	&3 		3
 	3 	H3 	73 	.3 	73 	H3 	H3 	2483 	L&3 	.3 	&3  	?!3" 	j#3$ 	H. 4?!6 4$&@*,F2? 	3 && )	)
 4 !  	3 && /	/
 4 ! W3Ej Lr   NzU(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)z(?:(?:(?:(?:) uc_micro.categoriesr   r   r   r   uc_micro.propertiesr   REGEXr>   r?   r@   rB   rA   joinr   r   r   r   rC   rD   r;   r=   rE   rF   rG   r9   r:   r<   rH   r   r   rP    r   r   <module>rV      s   , , #
))				 88UE6*+ ((E6?
# 
 .4x?#EORUU &   #99 V 	 P	  &.3&)::XEK 
	
  	
 

 

   	 
   

 

 &    
	
 


 	 
GOcK'*47JJSP  #Z/2EE  :HDxO 
 :zWr   