ó
    ych
9  ã                   ó*  • S SK Jr  S SK Jr  S SKJrJr  \R                  \R                  R                  \R                  R                  4r
\R                  \R                  R                  \R                  R                  4r\R                  \R                  R                   4rS rS rS rS rS rS	 rS
 rS rS rS rS rS rS rS r\" \R@                  5      S 5       r!\" \RD                  5      S 5       r#S r$S r%S r&\" \RN                  5      S 5       r(\" \RR                  5      S 5       r*\" 5       S 5       r+\" \RX                  5      S 5       r-\" \R@                  5      S 5       r.\" 5       S 5       r/S r0S r1S S  S!S"S"4S# jr2g!)$é    )Úsql)Útokens)ÚrecurseÚimtc                 óì  • / nSn[        [        U 5      5       HÇ  u  pEXC-
  nUR                  (       a  M  UR                  (       a  [	        XQ5      (       d  [        XQ5        MJ  UR                  " UR                  6 (       a  UR                  U5        M{  UR                  " UR                  6 (       d  M›   UR                  5       nUnU R                  XU5        X8U-
  -  nMÉ     g! [         a     MÙ  f = f)z*Groups Tokens that have beginning and end.r   N)Ú	enumerateÚlistÚis_whitespaceÚis_groupÚ
isinstanceÚ_group_matchingÚmatchÚM_OPENÚappendÚM_CLOSEÚpopÚ
IndexErrorÚgroup_tokens)	ÚtlistÚclsÚopensÚtidx_offsetÚidxÚtokenÚtidxÚopen_idxÚ	close_idxs	            Úa/var/www/djangovue.mamus.xyz/django/venv/lib/python3.13/site-packages/sqlparse/engine/grouping.pyr   r      sÎ   € à€EØ€KÜ¤ U£Ö,‰
ˆØÑ ˆà××ñ à�>�>¤*¨U×"8Ñ"8ô ˜EÔ'Ùà�;Š;˜Ÿ
™
Ö#Ø�L‰L˜Öà�[Š[˜#Ÿ+™+×&Ð&ðØ Ÿ9™9›;�ð
 ˆIØ×Ñ˜s¨iÔ8Ø xÑ/Ñ/ŠKò9 -øô, ó ò ðús   Â5C%Ã%
C3Ã2C3c                 ó8   • [        U [        R                  5        g ©N)r   r   ÚSquareBrackets©r   s    r   Úgroup_bracketsr#   4   s   € Ü�Eœ3×-Ñ-Õ.ó    c                 ó8   • [        U [        R                  5        g r    )r   r   ÚParenthesisr"   s    r   Úgroup_parenthesisr'   8   s   € Ü�Eœ3Ÿ?™?Õ+r$   c                 ó8   • [        U [        R                  5        g r    )r   r   ÚCaser"   s    r   Ú
group_caser*   <   s   € Ü�Eœ3Ÿ8™8Õ$r$   c                 ó8   • [        U [        R                  5        g r    )r   r   ÚIfr"   s    r   Úgroup_ifr-   @   s   € Ü�Eœ3Ÿ6™6Õ"r$   c                 ó8   • [        U [        R                  5        g r    )r   r   ÚForr"   s    r   Ú	group_forr0   D   s   € Ü�Eœ3Ÿ7™7Õ#r$   c                 ó8   • [        U [        R                  5        g r    )r   r   ÚBeginr"   s    r   Úgroup_beginr3   H   s   € Ü�Eœ3Ÿ9™9Õ%r$   c                 óT   • S nS nS nU=pE[        U [        R                  XXS5        g )Nc                 óB   • U R                  [        R                  S5      $ )Nz::©r   ÚTÚPunctuation©r   s    r   r   Úgroup_typecasts.<locals>.matchM   s   € Ø�{‰{œ1Ÿ=™=¨$Ó/Ð/r$   c                 ó
   • U S L$ r    © r9   s    r   ÚvalidÚgroup_typecasts.<locals>.validP   ó   € Ø˜DÐ Ð r$   c                 ó   • X4$ r    r<   ©r   Úpidxr   Únidxs       r   ÚpostÚgroup_typecasts.<locals>.postS   ó
   € ØˆzÐr$   ©Ú_groupr   Ú
Identifier©r   r   r=   rD   Ú
valid_prevÚ
valid_nexts         r   Úgroup_typecastsrM   L   s-   € ò0ò!òð $Ð#€JÜ
ˆ5”#—.‘. %°ZÕFr$   c                 óT   • S nS nS nS n[        U [        R                  XX45        g )Nc                 óP   • U R                   [        R                  R                  :H  $ r    )Úttyper7   ÚKeywordÚTZCastr9   s    r   r   Úgroup_tzcasts.<locals>.match[   s   € Ø�{‰{œaŸi™i×.Ñ.Ñ.Ð.r$   c                 ó
   • U S L$ r    r<   r9   s    r   rK   Ú!group_tzcasts.<locals>.valid_prev^   r?   r$   c                 óÚ   • U S L=(       aa    U R                   =(       dN    U R                  [        R                  S5      =(       d'    U R                  " [        R
                  R                  6 $ ©NÚAS)r
   r   r7   rQ   r   ÚTypedLiteralr   r9   s    r   rL   Ú!group_tzcasts.<locals>.valid_nexta   sQ   € Ø˜DÐ ÷ 
Ø×Ñ÷ 6Ø�{‰{œ1Ÿ9™9 dÓ+÷6à�{Š{œC×,Ñ,×4Ñ4Ð5ð	
r$   c                 ó   • X4$ r    r<   rA   s       r   rD   Úgroup_tzcasts.<locals>.posth   rF   r$   rG   ©r   r   rK   rL   rD   s        r   Úgroup_tzcastsr^   Z   s*   € ò/ò!ò
òô ˆ5”#—.‘. %°ZÕFr$   c           
      ó˜   • S nS nS nS nS nS n[        U [        R                  XUUSS9  [        U [        R                  X#UUS	S9  g )
Nc                 óF   • [        U [        R                  R                  S9$ )N©Úm)r   r   rY   r   r9   s    r   r   Ú"group_typed_literal.<locals>.matcht   s   € Ü�5œC×,Ñ,×3Ñ3Ñ4Ð4r$   c                 ó6   • [        U [        R                  5      $ r    )r   r   rY   r9   s    r   Úmatch_to_extendÚ,group_typed_literal.<locals>.match_to_extendw   s   € Ü˜%¤×!1Ñ!1Ó2Ð2r$   c                 ó
   • U S L$ r    r<   r9   s    r   rK   Ú'group_typed_literal.<locals>.valid_prevz   r?   r$   c                 óf   • U S L=(       a'    U R                   " [        R                  R                  6 $ r    )r   r   rY   r   r9   s    r   rL   Ú'group_typed_literal.<locals>.valid_next}   s'   € Ø˜DÐ ×K U§[¢[´#×2BÑ2B×2JÑ2JÐ%KÐKr$   c                 óf   • U S L=(       a'    U R                   " [        R                  R                  6 $ r    )r   r   rY   ÚM_EXTENDr9   s    r   Úvalid_finalÚ(group_typed_literal.<locals>.valid_final€   s'   € Ø˜DÐ ×L U§[¢[´#×2BÑ2B×2KÑ2KÐ%LÐLr$   c                 ó   • X#4$ r    r<   rA   s       r   rD   Ú!group_typed_literal.<locals>.postƒ   rF   r$   F©ÚextendT)rH   r   rY   )r   r   re   rK   rL   rm   rD   s          r   Úgroup_typed_literalrs   n   sZ   € ò5ò3ò!òLòMòô ˆ5”#×"Ñ" E°zØ˜òä
ˆ5”#×"Ñ" OÀØ˜ór$   c                 óT   • S nS nS nS n[        U [        R                  XX45        g )Nc                 ó°   • [         R                  S4[         R                  S4[         R                  S44 H  u  pU R                  X5      (       d  M    g   g)NÚ.z->z->>TF)r7   r8   ÚOperatorr   )r   rP   Úvalues      r   r   Úgroup_period.<locals>.match�   sM   € ÜŸm™m¨SÐ1ÜŸj™j¨$Ð/ÜŸj™j¨%Ð0ó2‰LˆEð �{‰{˜5×(Ó(Ùñ	2ð
 r$   c                 óª   • [         R                  [         R                  4n[        R                  [        R
                  R                  4n[        XUS9$ ©N©ÚiÚt)r   r!   rI   r7   ÚNameÚStringÚSymbolr   ©r   ÚsqlclsÚttypess      r   rK   Ú group_period.<locals>.valid_prev•   s9   € Ü×#Ñ#¤S§^¡^Ð3ˆÜ—‘œŸ™Ÿ™Ð(ˆÜ�5 fÑ-Ð-r$   c                 ó   • g©NTr<   r9   s    r   rL   Ú group_period.<locals>.valid_nextš   s   € àr$   c                 ó&  • [         R                  [         R                  4n[        R                  [        R
                  R                  [        R                  [        R
                  R                  4nUb  X   OS n[        XdUS9nU(       a  X4$ X4$ r{   )
r   r!   ÚFunctionr7   r   r€   r�   ÚWildcardÚSingler   )r   rB   r   rC   rƒ   r„   Únext_rL   s           r   rD   Úgroup_period.<locals>.postž   sg   € ä×#Ñ#¤S§\¡\Ð1ˆÜ—‘œŸ™Ÿ™¬!¯*©*´a·h±h·o±oÐEˆØ#Ñ/�’°TˆÜ˜¨FÑ3ˆ
æ)�ˆ|Ð;°¨|Ð;r$   rG   r]   s        r   Úgroup_periodr�   Œ   s*   € òò.ò
ò<ô ˆ5”#—.‘. %°ZÕFr$   c                 óT   • S nS nS nS n[        U [        R                  XX45        g )Nc                 óF   • U R                   =(       a    U R                  S:H  $ rW   )Ú
is_keywordÚ
normalizedr9   s    r   r   Úgroup_as.<locals>.match«   s   € Ø×Ñ×< E×$4Ñ$4¸Ñ$<Ð<r$   c                 óP   • U R                   S:H  =(       d    U R                  (       + $ )NÚNULL)r“   r’   r9   s    r   rK   Úgroup_as.<locals>.valid_prev®   s!   € Ø×Ñ 6Ñ)×A°×1AÑ1AÔ-AÐAr$   c                 ó’   • [         R                  [         R                  [         R                  4n[	        XS9(       + =(       a    U S L$ ©N©r~   )r7   ÚDMLÚDDLÚCTEr   )r   r„   s     r   rL   Úgroup_as.<locals>.valid_next±   s2   € Ü—‘œŸ™œqŸu™uÐ$ˆÜ�uÑ'Ô'×=¨E¸Ð,=Ð=r$   c                 ó   • X4$ r    r<   rA   s       r   rD   Úgroup_as.<locals>.postµ   rF   r$   rG   r]   s        r   Úgroup_asr¡   ª   s+   € ò=òBò>òô ˆ5”#—.‘. %°ZÕFr$   c                 óT   • S nS nS nU=pE[        U [        R                  XXS5        g )Nc                 óB   • U R                  [        R                  S5      $ )Nz:=)r   r7   Ú
Assignmentr9   s    r   r   Úgroup_assignment.<locals>.match¼   s   € Ø�{‰{œ1Ÿ<™<¨Ó.Ð.r$   c                 óT   • U S L=(       a    U R                   [        R                  4;  $ r    )rP   r7   rQ   r9   s    r   r=   Úgroup_assignment.<locals>.valid¿   s!   € Ø˜DÐ ×D U§[¡[¼¿¹¸Ñ%DÐDr$   c                 ód   • [         R                  S4nU R                  XCS9u  pVU=(       d    UnX4$ )NÚ;©rb   r   )r7   r8   Útoken_next_by)r   rB   r   rC   Úm_semicolonÚsnidxÚ_s          r   rD   Úgroup_assignment.<locals>.postÂ   s6   € Ü—m‘m SÐ(ˆØ×&Ñ&¨Ð&Ð?‰ˆØ�}˜ˆØˆzÐr$   )rH   r   r¤   rJ   s         r   Úgroup_assignmentr°   »   s.   € ò/òEòð $Ð#€JÜ
ˆ5”#—.‘. %°ZÕFr$   c           
      ó"  ^^• [         R                  [         R                  [         R                  [         R                  [         R
                  4m[        [        -   [        -   mS nUU4S jnS nU=pE[        U [         R                  UXEUSS9  g )Nc                 óP   • U R                   [        R                  R                  :H  $ r    )rP   r7   rw   Ú
Comparisonr9   s    r   r   Úgroup_comparison.<locals>.matchÑ   s   € Ø�{‰{œaŸj™j×3Ñ3Ñ3Ð3r$   c                 óz   >• [        U TTS9(       a  gU (       a"  U R                  (       a  U R                  S:X  a  gg)N)r~   r}   Tr–   F)r   r’   r“   r‚   s    €€r   r=   Úgroup_comparison.<locals>.validÔ   s0   ø€ Üˆu˜ &×)ØÞ�u×'×'¨E×,<Ñ,<ÀÓ,FØàr$   c                 ó   • X4$ r    r<   rA   s       r   rD   Úgroup_comparison.<locals>.postÜ   rF   r$   Frq   )r   r&   rŠ   rI   Ú	OperationrY   ÚT_NUMERICALÚT_STRINGÚT_NAMErH   r³   ©r   r   r=   rD   rK   rL   rƒ   r„   s         @@r   Úgroup_comparisonr¾   Ì   sm   ù€ Ü�o‰oœsŸ|™|¬S¯^©^Ü�m‰mœS×-Ñ-ð/€Fäœ8Ñ#¤fÑ,€Fò4öòð $Ð#€JÜ
ˆ5”#—.‘. %Ø 4°ó7r$   c                 óþ   • [         R                  R                  [         R                  4nU R	                  US9u  p#U(       a;  U R                  [        R                  X"5        U R	                  XS9u  p#U(       a  M:  g g )Nrš   ©r~   r   )r7   r€   r�   r   r«   r   r   rI   )r   r„   r   r   s       r   Úgroup_identifierrÁ   ä   s`   € ä�h‰h�o‰oœqŸv™vÐ&€Fà×%Ñ%¨Ð%Ð/�K€DÞ
Ø×Ñœ3Ÿ>™>¨4Ô6Ø×)Ñ)¨FÐ)Ð=‰ˆ÷ Š%r$   c                 óŠ  • U R                  [        R                  R                  S9u  pU(       a“  U R	                  U5      u  p4[        U[        R                  [        R                  S9(       a   U R                  [        R                  X5        U R                  [        R                  R                  US9u  pU(       a  M’  g g )Nra   r|   rª   )
r«   r   ÚOverr   Ú
token_nextr   r&   r7   r   r   )r   r   r   rC   r�   s        r   Ú
group_overrÅ   î   s‚   € à×%Ñ%¬¯©¯©Ð%Ð8�K€DÞ
Ø×&Ñ& tÓ,‰ˆÜˆuœŸ™¬1¯6©6×2Ø×ÑœsŸx™x¨Ô4Ø×)Ñ)¬C¯H©H¯O©OÀÐ)ÐF‰ˆ÷	 Š%r$   c                 ó  ^^• [         R                  [         R                  [         R                  4m[        R
                  [        R                  R                  4mS nUU4S jnS nS n[        U [         R                  UX#USSS9  g )Nc                 ó6   • [        U [        R                  5      $ r    )r   r   r!   r9   s    r   r   Úgroup_arrays.<locals>.matchü   s   € Ü˜%¤×!3Ñ!3Ó4Ð4r$   c                 ó   >• [        U TTS9$ r{   ©r   r‚   s    €€r   rK   Ú group_arrays.<locals>.valid_prevÿ   s   ø€ Ü�5˜F fÑ-Ð-r$   c                 ó   • gr‡   r<   r9   s    r   rL   Ú group_arrays.<locals>.valid_next  s   € Ør$   c                 ó   • X4$ r    r<   rA   s       r   rD   Úgroup_arrays.<locals>.post  rF   r$   TF)rr   r   )	r   r!   rI   rŠ   r7   r   r€   r�   rH   )r   r   rK   rL   rD   rƒ   r„   s        @@r   Úgroup_arraysrÐ   ø   se   ù€ Ü×Ñ¤§¡´·±Ð=€FÜ�V‰V”Q—X‘X—_‘_Ð$€Fò5ö.òòô ˆ5”#—.‘. %Ø 4°¸eóEr$   c           
      ó@  ^^• [         [        -   [        -   m[        R                  [        R
                  [        R                  [        R                  [        R                  [        R                  4mS nUU4S jnS nU=pE[        U [        R                  UXEUSS9  g )Nc                 óR   • [        U [        R                  [        R                  4S9$ r™   )r   r7   rw   r‹   r9   s    r   r   Úgroup_operator.<locals>.match  s   € Ü�5œQŸZ™Z¬¯©Ð4Ñ5Ð5r$   c                 óz   >• [        U TTS9=(       d)    U =(       a     U R                  [        R                  S5      $ )Nr|   )ÚCURRENT_DATEÚCURRENT_TIMEÚCURRENT_TIMESTAMP)r   r   r7   rQ   r‚   s    €€r   r=   Úgroup_operator.<locals>.valid  s:   ø€ Ü�5˜F fÑ-÷ HØ÷ G˜%Ÿ+™+Ü—	‘	ØEóGð	Hr$   c                 ó6   • [         R                  X   l        X4$ r    )r7   rw   rP   rA   s       r   rD   Úgroup_operator.<locals>.post  s   € ÜŸJ™Jˆ‰ÔØˆzÐr$   Frq   )rº   r»   r¼   r   r!   r&   rŠ   rI   r¹   rY   rH   r½   s         @@r   Úgroup_operatorrÛ     sv   ù€ Üœ8Ñ#¤fÑ,€FÜ× Ñ ¤#§/¡/´3·<±<Ü�n‰nœcŸm™m¬S×-=Ñ-=ð?€Fò6öHòð $Ð#€JÜ
ˆ5”#—-‘- Ø 4°ó7r$   c           
      óÈ  ^^^• [         R                  S4m[        R                  [        R                  [        R
                  [        R                  [        R                  [        R                  4m[        [        -   [        -   [         R                  [         R                  [         R                  4-   mS nUUU4S jnS nU=pE[        U [        R                  UXEUSS9  g )N)ÚnullÚrolec                 óB   • U R                  [        R                  S5      $ )NÚ,r6   r9   s    r   r   Ú$group_identifier_list.<locals>.match*  s   € Ø�{‰{œ1Ÿ=™=¨#Ó.Ð.r$   c                 ó   >• [        U TTTS9$ )N)r}   rb   r~   rÊ   )r   Úm_rolerƒ   r„   s    €€€r   r=   Ú$group_identifier_list.<locals>.valid-  s   ø€ Ü�5˜F f°Ñ7Ð7r$   c                 ó   • X4$ r    r<   rA   s       r   rD   Ú#group_identifier_list.<locals>.post0  rF   r$   Trq   )r7   rQ   r   rŠ   r)   rI   r³   ÚIdentifierListr¹   rº   r»   r¼   ÚCommentr‹   rH   )	r   r   r=   rD   rK   rL   rã   rƒ   r„   s	         @@@r   Úgroup_identifier_listré   #  sŸ   ú€ Ü�Y‰YÐ(Ð(€FÜ�l‰lœCŸH™H¤c§n¡n´c·n±nÜ× Ñ ¤#§-¡-ð1€FäœHÑ$¤vÑ-Ü—‘œAŸI™I¤q§z¡zÐ2ñ3€Fò/÷8òð $Ð#€JÜ
ˆ5”#×$Ñ$ eØ 4°ó6r$   c                 ó4  • U R                  [        R                  S9u  pU(       ar  U R                  S US9u  p4Ub2  U R	                  USS9u  p4U R                  [        R                  X5        U R                  [        R                  US9u  pU(       a  Mq  g g )Nrš   c                 óX   • [        U [        R                  S9=(       d    U R                  $ r™   )r   r7   rè   Ú
is_newline)Útks    r   Ú<lambda>Ú group_comments.<locals>.<lambda>=  s   € ”s˜2¤§¡Ñ+×<¨r¯}©}Ð<r$   )r   F)Úskip_wsrÀ   )r«   r7   rè   Útoken_not_matchingÚ
token_prevr   r   ©r   r   r   ÚeidxÚends        r   Úgroup_commentsrö   8  s�   € à×%Ñ%¬¯	©	Ð%Ð2�K€DÞ
Ø×,Ñ,Ù<À$ð -ð H‰	ˆà‰?Ø×(Ñ(¨°uÐ(Ð=‰IˆDØ×ÑœsŸ{™{¨DÔ7à×)Ñ)¬A¯I©I¸4Ð)Ð@‰ˆ÷ Š%r$   c                 óÌ  • U R                  [        R                  R                  S9u  pU(       a´  U R                  [        R                  R                  US9u  p4Uc  U R
                  S   nOU R                  US-
     nU R                  U5      nU R                  [        R                  X5        U R                  [        R                  R                  US9u  pU(       a  M³  g g )Nra   rª   éÿÿÿÿé   )	r«   r   ÚWherer   r   Ú_groupable_tokensr   Útoken_indexr   ró   s        r   Úgroup_whererý   E  sº   € à×%Ñ%¬¯	©	×(8Ñ(8Ð%Ð9�K€DÞ
Ø×'Ñ'¬#¯)©)×*;Ñ*;ÀÐ'ÐF‰	ˆà‰;Ø×)Ñ)¨"Ñ-‰Cà—,‘,˜t a™xÑ(ˆCð × Ñ  Ó%ˆØ×Ñœ3Ÿ9™9 dÔ1Ø×)Ñ)¬C¯I©I×,<Ñ,<À$Ð)ÐG‰ˆ÷ Š%r$   c                 ó  • [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  4nU R                  U[        R                  S9u  p#U(       a|  U R                  U5      u  pE[        U[         R                  5      (       a  U R                  [         R                  X$SS9  U R                  U[        R                  US9u  p#U(       a  M{  g g )Nr|   Trq   )r}   r~   r   )r   r&   rŠ   r)   rI   r¹   r³   r«   r7   ÚNumberrÄ   r   r   )r   ÚI_ALIASr   r   rC   r�   s         r   Úgroup_aliasedr  V  s¯   € ä�‰¤§¡¬c¯h©h¼¿¹Ü�}‰}œcŸn™nð.€Gð ×%Ñ%¨´1·8±8Ð%Ð<�K€DÞ
Ø×&Ñ& tÓ,‰ˆÜ�eœSŸ^™^×,Ñ,Ø×ÑœsŸ~™~¨tÀ$ÐÑGØ×)Ñ)¨G´q·x±xÀTÐ)ÐJ‰ˆ÷	 Š%r$   c                 óÊ  • SnSnSnU R                    HW  nUR                  R                  5       S:X  a  SnUR                  R                  5       S:X  a  SnUR                  S:X  d  MU  SnMY     U(       a  U(       a  U(       d  g U R                  [        R
                  S9u  pVU(       aº  U R                  U5      u  px[        U[        R                  5      (       a^  U R                  U5      u  pšU
(       a"  [        U
[        R                  5      (       a  U	nOUnU R                  [        R                  X[5        U R                  [        R
                  US9u  pVU(       a  M¹  g g )NFÚCREATETÚTABLErX   rš   rÀ   )r   rx   Úupperr«   r7   r   rÄ   r   r   r&   rÃ   r   rŠ   )r   Ú
has_createÚ	has_tableÚhas_asÚ	tmp_tokenr   r   rC   r�   Úover_idxÚoverrô   s               r   Úgroup_functionsr  c  s  € à€JØ€IØ€FØ—\”\ˆ	Ø�?‰?× Ñ Ó" hÓ.ØˆJØ�?‰?× Ñ Ó" gÓ-ØˆIØ�?‰?˜dÕ"ØŠFñ "ö –i®Øà×%Ñ%¬¯©Ð%Ð/�K€DÞ
Ø×&Ñ& tÓ,‰ˆÜ�eœSŸ_™_×-Ñ-Ø"×-Ñ-¨dÓ3‰NˆHÞœ
 4¬¯©×2Ñ2Ø‘à�Ø×ÑœsŸ|™|¨TÔ8Ø×)Ñ)¬A¯F©F¸Ð)Ð=‰ˆ÷ Š%r$   c                 óŽ  • U R                  [        R                  R                  S9u  pU(       a•  U R	                  U5      u  p4[        U[        R                  [        R                  S9(       a"  U R                  [        R                  X15        UnU R                  [        R                  R                  US9u  pU(       a  M”  gg)z,Group together Identifier and Asc/Desc tokenrš   r|   rÀ   N)
r«   r7   rQ   ÚOrderrò   r   r   rI   rÿ   r   ©r   r   r   rB   Úprev_s        r   Úgroup_orderr    s‰   € ð ×%Ñ%¬¯	©	¯©Ð%Ð8�K€DÞ
Ø×&Ñ& tÓ,‰ˆÜˆuœŸ™¬!¯(©(×3Ø×ÑœsŸ~™~¨tÔ:ØˆDØ×)Ñ)¬A¯I©I¯O©OÀÐ)ÐF‰ˆ÷ Š%r$   c                 óJ  • U R                  [        R                  S9u  pU(       a}  U R                  U5      u  p4[	        U[        R
                  5      (       a!  U R                  [        R
                  X1SS9  UnU R                  [        R                  US9u  pU(       a  M|  g g )N)r}   Trq   )r}   r   )r«   r   rè   rò   r   Ú	TokenListr   r  s        r   Úalign_commentsr  ‹  s�   € à×%Ñ%¬¯©Ð%Ð4�K€DÞ
Ø×&Ñ& tÓ,‰ˆÜ�eœSŸ]™]×+Ñ+Ø×ÑœsŸ}™}¨dÀÐÑFØˆDØ×)Ñ)¬C¯K©K¸TÐ)ÐB‰ˆ÷ Š%r$   c                 ó"  • U R                  [        R                  S4S9u  pUnSnU(       a=  [        U[        R
                  5      (       a  UnU R                  U5      u  pU(       a  M=  US:w  a   U R                  [        R                  X4SS9  g g )NÚVALUESra   rø   Trq   )	r«   r7   rQ   r   r   r&   rÄ   r   ÚValues)r   r   r   Ú	start_idxÚend_idxs        r   Úgroup_valuesr  –  sƒ   € Ø×%Ñ%¬¯©°HÐ(=Ð%Ð>�K€DØ€IØ€GÞ
Ü�eœSŸ_™_×-Ñ-ØˆGØ×&Ñ& tÓ,‰ˆ÷ ˆ%ð �"ƒ}Ø×Ñœ3Ÿ:™: yÀ$ÐÒGð r$   c                 ó"  • [         [        [        [        [        [
        [        [        [        [        [        [        [        [        [        [        [         ["        [$        [&        [(        [*        [,        [.        [0        4 H  nU" U 5        M     U $ r    )rö   r#   r'   r*   r-   r0   r3   rÅ   r  rý   r�   rÐ   rÁ   r  rM   r^   rs   rÛ   r¾   r¡   r  r°   r  ré   r  )ÚstmtÚfuncs     r   Úgroupr  ¢  sl   € äô 	ÜÜÜÜÜäÜÜÜÜÜÜÜÜÜÜÜÜÜÜäÜÜó;ˆñ> 	ˆTŽ
ñ?ð@ €Kr$   c                 ó   • gr‡   r<   rš   s    r   rî   rî   Ç  ó   €  r$   c                 ó   • gr‡   r<   rš   s    r   rî   rî   È  r   r$   NTc           
      óÐ  • SnSu  pš[        [        U 5      5       HÈ  u  p¼X¸-
  nUS:  a  M  UR                  (       a  M$  U(       a/  UR                  (       a  [	        XÁ5      (       d  [        XÁX#XEU5        U" U5      (       a_  U R                  U5      u  pïU
(       aE  U" U
5      (       a8  U" U5      (       a+  U" X	XÞ5      u  nnU R                  UUUUS9nUUU-
  -  nUUp©MÆ  XÜp©MÊ     g)zDGroups together tokens that are joined by a middle token. i.e. x < yr   )NNrq   N)r   r	   r
   r   r   rH   rÄ   r   )r   r   r   rK   rL   rD   rr   r   r   rB   r  r   r   r   rC   r�   Úfrom_idxÚto_idxÚgrps                      r   rH   rH   Æ  sÞ   € ð €KØ�K€DÜ¤ U£Ö,‰
ˆØÑ ˆØ�!‹8Ùà××Ùæ�u—~—~¬j¸×.DÑ.DÜ�5˜u°*ÀFÔKá��<‰<Ø×*Ñ*¨4Ó0‰KˆDÞ™ E×*Ñ*©z¸%×/@Ñ/@Ù#'¨°TÓ#@Ñ �˜&Ø×(Ñ(¨¨h¸ÀvÐ(ÐN�à˜v¨Ñ0Ñ0�Ø&¨�eÙàŠeò+ -r$   )3Úsqlparser   r   r7   Úsqlparse.utilsr   r   rÿ   ÚIntegerÚFloatrº   r€   rŒ   r�   r»   r   ÚPlaceholderr¼   r   r#   r'   r*   r-   r0   r3   rM   r^   rs   r�   r¡   r°   r¾   rI   rÁ   rÃ   rÅ   rÐ   rÛ   ré   rè   rö   rú   rý   r  rŠ   r  r  r  r  r  rH   r<   r$   r   Ú<module>r+     sÎ  ðõ Ý  ß 'à�x‰x˜Ÿ™×)Ñ)¨1¯8©8¯>©>Ð:€Ø�H‰H�a—h‘h—o‘o q§x¡x§¡Ð7€Ø
�&‰&�!—&‘&×$Ñ$Ð	%€ò 0òF/ò,ò%ò#ò$ò&òGòGò(ò<Gò<Gò"Gò"7ñ0 	ˆ�‰Óñ>ó ð>ñ 	ˆ�‰ÓñGó ðGòEò(7ò.6ñ* 	ˆ�‰Óñ	Aó ð	Añ 	ˆ�‰ÓñHó ðHñ  	ƒñ	Kó ð	Kñ 	ˆ�‰Óñ>ó ð>ñ6 	ˆ�‰ÓñGó ðGñ 	ƒñCó ðCò	Hò!ñJ %Ù$ØØØõ "r$   