
    Via5                        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rS SKrS SKrS SK	r	 S SK
Jr   S SKJr   S SKJr  SrS SKJr  S r S SKJr  S	rS
rSrSrSrSr0 r0 r0 r  " S S\!5      r"\"" 5       r#\"" 5       r$S r%S r&S r'S r(S r)S r*S r+S r,\'" \5      SJS j5       r-\'" \5      S 5       r.\'" \5      SKS j5       r/\'" \5      S 5       r0\'" \5      S 5       r1\Rd                  S    S:X  a  \'" \5      SLS j5       r3\'" \5      S  5       r4O\'" \5      SLS! j5       r3\'" \5      S" 5       r4\'" \5      S# 5       r5\'" \5      S$ 5       r6\'" \5      SJS% j5       r7\'" \5      S& 5       r8\'" \5      S' 5       r9\'" \5      SMS( j5       r:\'" \5      S) 5       r;\'" \5      S* 5       r<\'" \5      S+ 5       r=\'" \5      S, 5       r>\'" \5      S- 5       r?S. r@ " S/ S0\A5      rB " S1 S2\B5      rC\Rd                  SS S3:X  a  S4 rDOS5 rD\%" \5       " S6 S7\C5      5       rE\%" \5       " S8 S9\C5      5       rF\%" \5       " S: S;\A5      5       rG\%" \5       " S< S=\A5      5       rH\%" \5       " S> S?\B5      5       rI\%" \5       " S@ SA\B5      5       rJ\%" \5       " SB SC\A5      5       rK\%" \5       " SD SE\A5      5       rL\b`  \'" \5      " \R                  5      rM\'" \5      " \R                  5      rN\'" \5      " \R                  5      rO\%" \5      " \R                  5      rP\b-  \&" \5       " SF SG\5      5       rQ\&" \5       " SH SI\5      5       rRgg! \ a    Sr GNf = f! \ a
    S SKJr   GN)f = f! \ a    Sr GN1f = f! \ a    Sr GN.f = f)N    N)Counter)urlparse)TableFunction)%Y-%m-%d %H:%M:%Sz%Y-%m-%d %H:%M:%S.%f%Y-%m-%d%H:%M:%Sz%H:%M:%S.%fz%H:%M)format_date_timec                 "    [        U [        5      $ N)r	   SQLITE_DATETIME_FORMATS)
date_values    g/home/james-whalen/.local/share/pipx/venvs/semgrep/lib/python3.13/site-packages/playhouse/sqlite_udf.pyformat_date_time_sqliter   $   s    J(?@@    )_sqlite_udfcontrol_flowdatefilehelpersmathstringc                   L   ^  \ rS rSrU 4S jrU 4S jrU 4S jrU 4S jrSrU =r	$ )synchronized_dict:   c                 b   > [         [        U ]
  " U0 UD6  [        R                  " 5       U l        g r   )superr   __init__	threadingLock_lock)selfargskwargs	__class__s      r   r   synchronized_dict.__init__;   s&    /@@^^%
r   c                 x   > U R                      [        [        U ]  U5      sS S S 5        $ ! , (       d  f       g = fr   )r    r   r   __getitem__r!   keyr$   s     r   r'   synchronized_dict.__getitem__?   $    ZZ*D=cB ZZ   +
9c                 x   > U R                      [        [        U ]  X5      sS S S 5        $ ! , (       d  f       g = fr   )r    r   r   __setitem__)r!   r)   valuer$   s      r   r.   synchronized_dict.__setitem__C   s$    ZZ*D=cI ZZr,   c                 x   > U R                      [        [        U ]  U5      sS S S 5        $ ! , (       d  f       g = fr   )r    r   r   __delitem__r(   s     r   r2   synchronized_dict.__delitem__G   r+   r,   )r    )
__name__
__module____qualname____firstlineno__r   r'   r.   r2   __static_attributes____classcell__)r$   s   @r   r   r   :   s     &CJC Cr   r   c                     ^  U 4S jnU$ )Nc                 v   > T H1  n[         R                  U/ 5        [         U   R                  U 5        M3     U $ r   )AGGREGATE_COLLECTION
setdefaultappendklassgroupgroupss     r   	decoratoraggregate.<locals>.decoratorQ   s7    E ++E26 '..u5  r    rB   rC   s   ` r   	aggregaterG   P       
 r   c                     ^  U 4S jnU$ )Nc                 v   > T H1  n[         R                  U/ 5        [         U   R                  U 5        M3     U $ r   )TABLE_FUNCTION_COLLECTIONr=   r>   r?   s     r   rC   !table_function.<locals>.decoratorY   s7    E%00;%e,33E:  r   rE   rF   s   ` r   table_functionrM   X   rH   r   c                     ^  U 4S jnU$ )Nc                 v   > T H1  n[         R                  U/ 5        [         U   R                  U 5        M3     U $ r   )UDF_COLLECTIONr=   r>   )fnrA   rB   s     r   rC   udf.<locals>.decoratora   s7    E%%eR05!((,  	r   rE   rF   s   ` r   udfrS   `   s    
 r   c                     [        5       nU Hb  n[        R                  US5      nU HC  n[        USUR                  5      nXb;  d  M!  UR                  U5        U R                  XV5        ME     Md     g )NrE   name)setr<   getgetattrr4   addregister_aggregate)dbrB   seenrA   klassesr@   rU   s          r   register_aggregate_groupsr^   i   s`    5D&**5"5E5&%..9D%%e2	  r   c                     [        5       nU H`  n[        R                  US5      nU HA  nUR                  U;  d  M  UR	                  UR                  5        U R                  U5        MC     Mb     g NrE   )rV   rK   rW   rU   rY   register_table_function)r[   rB   r\   rA   r]   r@   s         r   register_table_function_groupsrb   s   sY    5D+//r:Ezz%$**51  r   c                     [        5       nU HW  n[        R                  US5      nU H8  nUR                  nXb;  d  M  UR	                  U5        U R                  XV5        M:     MY     g r`   )rV   rP   rW   r4   rY   register_function)r[   rB   r\   rA   	functionsfunctionrU   s          r   register_udf_groupsrg   |   sY    5D"&&ub1	!H$$D$$X4	 " r   c                 L    [        U /UQ76   [        U /UQ76   [        U /UQ76   g r   )r^   rb   rg   )r[   rB   s     r   register_groupsri      s)    b*6*"2//$V$r   c                 d    [        U /[        Q76   [        U /[        Q76   [	        U /[
        Q76   g r   )r^   r<   rb   rK   rg   rP   )r[   s    r   register_allrk      s+    b8#78"2B(AB,^,r   c                     U (       a  U$ U$ r   rE   )condtruthyfalseys      r   if_then_elserp      s    Mr   c                     U R                  SS5      n U R                  S5      nUS:w  a  U S U $ U R                  S5      nUS:  a  U S U $ U $ )NT +-   )replacefind)date_strtz_idx1tz_idx2s      r   strip_tzr}      s]    S)HmmC G"}!!mmC G|!!Or   c                     Sn/ nU HM  u  pE[        X5      u  p`U(       d  M  US:g  =(       a    S=(       d    SnUR                  U< SU< U< 35        MO     U(       d  gUR                  U5      $ )N))i3year)i ' month)i:	 week)Q day)i  hour)<   minute)   secondr   s rs   z	0 seconds)divmodr>   join)nsecondsgluepartsaccumoffsetrU   valsuffixs           r   human_deltar      sj    E Ex03AX%#+FLLc489	 
 99Ur   c                 l     [         R                  R                  U 5      nUS   $ ! [         a     g f = fNr   )ospathsplitext
ValueError)filenameress     r   file_extr      s:    ggx( q6M  s   & 
33c                 ~     [        U 5       nUR                  5       sS S S 5        $ ! , (       d  f       g = f!    g = fr   )openread)r   fhs     r   	file_readr      s,    (^r779 ^^s   8 '	8 
58 8 <   c                 @    [        [        R                  " X5      5      $ r   )bufferzlibcompressdatacompressions     r   gzipr      s    dmmD677r   c                 .    [         R                  " U 5      $ r   r   
decompressr   s    r   gunzipr          t$$r   c                     [        U [        5      (       a  [        U R                  S5      5      n [        R
                  " X5      $ )Nraw_unicode_escape)
isinstancestrbytesencoder   r   r   s     r   r   r      s2    dC  %9:;D}}T//r   c                 .    [         R                  " U 5      $ r   r   r   s    r   r   r      r   r   c                 @    [        U 5      nU(       a  UR                  $ g r   )r   netloc)urlparse_results     r   hostnamer      s    C=L""" r   c                 l    U R                  5       n [        R                  U 5      (       + =[        U '   nU$ r   )lowerSTATErW   )r)   rets     r   toggler      s+    
))+C 99S>))E#JJr   c                 H    Uc  [         R                  U 5      $ U[         U '   U$ r   )SETTINGSrW   )r)   r/   s     r   settingr      s$    }||C  r   c                  ,    [         R                  5         g r   )r   clearrE   r   r   clear_settingsr      s    NNr   c                  ,    [         R                  5         g r   )r   r   rE   r   r   clear_togglesr      s    	KKMr   c                 H    Uc  SU pOUc  Sn[         R                  " XU5      $ Nr   r   )random	randrange)startendsteps      r   randomranger      s+    
{s	E--r   c                 P     [         R                  " X5      $ ! [         a     g f = fr   )r   gaussr   )meansigmas     r   gauss_distributionr     s(    ||D((     
%%c                 P     [         R                  " U 5      $ ! [         a     g f = fr   )r   sqrtr   )ns    r   r   r     s'    yy| r   c                 b     [        U 5      $ ! [         a     [        U 5      s $ !     g = ff = fr   )intr   float)r   s    r   tonumberr     s7    1v 	8O		s   
 
.
%.*..c                 B    U (       a  U(       d  gU R                  U5      $ Nr   )count)haystackneedles     r   substr_countr     s    6>>&!!r   c                 $    U R                  U5      $ r   )strip)r   charss     r   strip_charsr     s    >>%  r   c                 d    U " 5       nU H  nUR                  U5        M     UR                  5       $ r   )update	hexdigest)constructorr"   hash_objargs       r   _hashr   #  s.    }H r   c                   &    \ rS rSrS rS rS rSrg)	_heap_aggi*  c                      / U l         SU l        g r   )heapctr!   s    r   r   _heap_agg.__init__+  s    	r   c                     U$ r   rE   r!   r/   s     r   process_heap_agg.process/  s    r   c                     U =R                   S-  sl         [        R                  " U R                  U R	                  U5      5        g r   )r   heapqheappushr   r   r   s     r   r   _heap_agg.step2  s*    1tyy$,,u"56r   )r   r   N)r4   r5   r6   r7   r   r   r   r8   rE   r   r   r   r   *  s    7r   r   c                       \ rS rSrS rSrg)_datetime_heap_aggi6  c                     [        U5      $ r   )r   r   s     r   r   _datetime_heap_agg.process7  s    &u--r   rE   N)r4   r5   r6   r7   r   r8   rE   r   r   r  r  6  s    .r   r  )r      c                 Z    U R                   U R                  S-  -   U R                  S-  -   $ )Nr   g    .A)secondsdaysmicrosecondstds    r   total_secondsr  ;  s/    

5"F+- 	.r   c                 "    U R                  5       $ r   )r  r	  s    r   <lambda>r  @  s    r//1r   c                       \ rS rSrS rSrg)mintdiffiB  c                    S =pU R                   (       ak  Uc%  Uc"  [        R                  " U R                   5      nM9  [        R                  " U R                   5      nX1-
  nUb  X$:  a  UnUnU R                   (       a  Mk  Ub  [        U5      $ g r   )r   r   heappopr  )r!   dtpmin_diffdtdiffs        r   finalizemintdiff.finalizeD  s    ii;--		2Ctyy)B8D8?C iii  **  r   rE   Nr4   r5   r6   r7   r  r8   rE   r   r   r  r  B  s    +r   r  c                       \ rS rSrS rSrg)avgtdiffiS  c                 |   U R                   S:  a  g U R                   S:X  a  gS=pS nU R                  (       aw  US:X  a%  Uc"  [        R                  " U R                  5      nM<  [        R                  " U R                  5      nXC-
  nUS-  nU[	        U5      -  nUnU R                  (       a  Mw  [        U5      U-  $ Nr   r   )r   r   r   r  r  r   )r!   totalr   r  r  r  s         r   r  avgtdiff.finalizeU  s    77Q;WW\iiz;--		2Ctyy)B8D!GB]4((EC iii U|b  r   rE   Nr  rE   r   r   r  r  S      !r   r  c                   &    \ rS rSrS rS rS rSrg)durationik  c                      S =U l         U l        g r   _min_maxr   s    r   r   duration.__init__m       $$	DIr   c                     [        U5      nU R                  b  X R                  :  a  X l        U R                  b  X R                  :  a  X l        g g r   )r   r$  r%  )r!   r/   r  s      r   r   duration.stepp  s?    $U+99YYI99YYI !/r   c                     U R                   (       a5  U R                  (       a$  U R                  U R                   -
  n[        U5      $ g r   )r$  r%  r  )r!   r
  s     r   r  duration.finalizew  s/    99))dii'B $$r   r%  r$  Nr4   r5   r6   r7   r   r   r  r8   rE   r   r   r!  r!  k  s    %r   r!  c                   L    \ rS rSr\(       a  S rS rS rSrg	S rS rS rSrg	)
modei}  c                 "    [        5       U l        g r   )r   itemsr   s    r   r   mode.__init__  s     DJr   c                 :    U R                   R                  U5        g r   )r1  r   )r!   r"   s     r   r   	mode.step      JJd#r   c                 h    U R                   (       a!  U R                   R                  S5      S   S   $ g r  )r1  most_commonr   s    r   r  mode.finalize  s-    zzzz--a03A66 r   c                     / U l         g r   r1  r   s    r   r   r2    s	    DJr   c                 :    U R                   R                  U5        g r   )r1  r>   )r!   items     r   r   r4    r5  r   c                     U R                   (       a1  [        [        U R                   5      U R                   R                  S9$ g )N)r)   )r1  maxrV   r   r   s    r   r  r8    s-    zz3tzz?

0@0@AA r   r:  N)	r4   r5   r6   r7   r   r   r   r  r8   rE   r   r   r/  r/  }  s$    	#	$	7		$	Br   r/  c                       \ rS rSrS rSrg)minrangei  c                 H   U R                   S:X  a  g U R                   S:X  a  gS =pU R                  (       ak  Uc%  Uc"  [        R                  " U R                  5      nM9  [        R                  " U R                  5      nX1-
  nUb  X$:  a  UnUnU R                  (       a  Mk  U$ r   )r   r   r   r  )r!   prevr  currr  s        r   r  minrange.finalize  s    77a<WW\ii< ==3D==+D;D8?D iii r   rE   Nr  rE   r   r   r@  r@    s    r   r@  c                       \ rS rSrS rSrg)avgrangei  c                 h   U R                   S:X  a  g U R                   S:X  a  gS=pS nU R                  (       am  US:X  a%  Uc"  [        R                  " U R                  5      nM<  [        R                  " U R                  5      nXC-
  nUS-  nX-  nUnU R                  (       a  Mm  [	        U5      U-  $ r   )r   r   r   r  r   )r!   r  r   rB  rC  r  s         r   r  avgrange.finalize  s    77a<WW\iiz< ==3D==+D;D!GBMED iii U|b  r   rE   Nr  rE   r   r   rF  rF    r  r   rF  c                   *    \ rS rSrSrS rS rS rSrg)_rangei  rangec                      S =U l         U l        g r   r#  r   s    r   r   _range.__init__  r'  r   c                     U R                   b  XR                   :  a  Xl         U R                  b  XR                  :  a  Xl        g g r   r#  r   s     r   r   _range.step  s7    99		 1I99		 1I !2r   c                 j    U R                   b&  U R                  b  U R                  U R                   -
  $ g r   r#  r   s    r   r  _range.finalize  s+    99 TYY%:99tyy((r   r,  N)	r4   r5   r6   r7   rU   r   r   r  r8   rE   r   r   rJ  rJ    s    D%r   rJ  c                   &    \ rS rSrS rS rS rSrg)stddevi  c                      SU l         / U l        g r   r   valuesr   s    r   r   stddev.__init__  s    r   c                 d    U =R                   S-  sl         U R                  R                  U5        g r   )r   rV  r>   )r!   vs     r   r   stddev.step  s!    !1r   c                    ^ U R                   S::  a  g[        U R                  5      U R                   -  m[        R                  " [        U4S jU R                   5       5      U R                   S-
  -  5      $ )Nr   r   c              3   2   >#    U  H  oT-
  S -  v   M     g7f)r   NrE   ).0ir   s     r   	<genexpr>"stddev.finalize.<locals>.<genexpr>  s     Bk$h1_ks   )r   sumrV  r   r   )r!   r   s    @r   r  stddev.finalize  sS    66Q;4;;$&&(yyBdkkBBdffqjQRRr   rU  Nr-  rE   r   r   rS  rS    s    Sr   rS  c                   6    \ rS rSrSS/rS/rSrS
S jrS rS	r	g)RegexSearchi  regexsearch_stringmatchregex_searchNc                 :    [         R                  " X5      U l        g r   )refinditer_iter)r!   re  rf  s      r   
initializeRegexSearch.initialize  s    U:DJr   c                 L    [        U R                  5      R                  S5      4$ r   )nextrl  rA   )r!   idxs     r   iterateRegexSearch.iterate  s    $**1-//r   )rl  NN
r4   r5   r6   r7   paramscolumnsrU   rm  rr  r8   rE   r   r   rd  rd    s"    ?+)	;	0r   rd  c                   6    \ rS rSr/ SQrS/rSrS	S jrS rSr	g)

DateSeriesi  )r   stopstep_secondsr   date_seriesc                    [        U5      U l        [        U5      U l        [        U5      n[        R
                  " US9U l        U R                  R                  S:X  aB  U R                  R                  S:X  a(  U R                  R                  S:X  a  US:  a  SU l
        g U R                  R                  S:X  a  U R                  R                  S:X  av  U R                  R                  S:X  a\  U R                  R                  S:X  aB  U R                  R                  S:X  a(  U R                  R                  S:X  a  US:  a  SU l
        g SU l
        g )	N)r  r   r   r   il  r   r   r   )r   r   rz  r   datetime	timedeltar{  r   r   r   formatr   r   r   )r!   r   rz  r{  s       r   rm  DateSeries.initialize  s    07DJ/5DI|,L ( 2 2< HD

1$

!!Q&

!!Q&%(**//T)**""a'**..A%))..D())//Q&))--1$&(1r   c                     U R                   U R                  :  a  [        eU R                   nU =R                   U R                  -  sl         UR	                  U R
                  5      4$ r   )r   rz  StopIterationr{  strftimer  )r!   rq  currents      r   rr  DateSeries.iterate  sM    zzDII%##jjGJJ$+++J$$T[[133r   )r  r   r{  rz  N)r   ru  rE   r   r   ry  ry    s    2(	2,	4r   ry  r   )z, )	   rt  )Sr~  hashlibr   r   r   r   rj  sysr   r   collectionsr   ImportErrorr   urllib.parseplayhouse._sqlite_extr   r   peeweer	   r   	playhouser   
cython_udfCONTROL_FLOWDATEFILEHELPERMATHSTRINGr<   rK   rP   dictr   r   r   rG   rM   rS   r^   rb   rg   ri   rk   rp   r}   r   r   r   version_infor   r   r   r   r   r   r   r   r   r   r   r   r   r   objectr   r  r  r  r  r!  r/  r@  rF  rJ  rS  damerau_levenshtein_distlevenshtein_diststr_distmedianrd  ry  rE   r   r   <module>r     s       	  	 
  #&!3
  $A3 		  C C$ 	325%
- \ 
 T  T ( T  T  A![8 8 	[% % 	[0 0
 	[% % V# #
 V 
 V  V  V  T. . T  T  T  V" "
 V! ! 
7 
7. . BQ6!.
 2M
4+! + +  4!! ! !. 4v  " 4B6 B B, 4y  * 4!y ! !. 4V  " 4SV S S "6{:+N+NO6{:#>#>?6{:../Ht_Z../F F	0m 	0 	0 D 4]  4  4 {  G  &%%&
  M&  JsE   M M M$ 
M3 MMM! M!$M0/M03M?>M?