§
    ¸)ýfée  ã                   óJ  — d Z ddlZddlmZ ddlT ddlmZ ej        ek    s
J d¦   «         ‚ee	hZ
eehZeehZe
eehz  ZeeeefeeeefeeeefiZej        fd„Zd	„ Z d
„ Z!dd„Z"ej#        dz  Z$de$z  dz
  Z%dZ&e$e'fd„Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3dd„Z4dS )zInternal support module for sreé    Né   )Ú_parser)Ú*)Ú_EXTRA_CASESzSRE module mismatchc                 ó*   — ||z  r| | z  } | |z  | z  S ©N© )ÚflagsÚ	add_flagsÚ	del_flagsÚ
TYPE_FLAGSs       úX/home/blender/git/blender-v430/install_release/4.3/python/lib/python3.11/re/_compiler.pyÚ_combine_flagsr      s-   € à�:Ñð Ø�*�ÑˆØ�IÑ ) Ñ+Ð+ó    c           
      ó”  — | j         }t          }t          }t          }t          }t
          }d }	d }
d }|t          z  rL|t          z  sB|t          z  r t          j
        }	t          j        }
t          }nt          j        }	t          j        }
|D �]=\  }}||v �rP|t          z  s ||¦  «          ||¦  «         Œ,|t          z  r" |t          |         ¦  «          ||¦  «         ŒX |	|¦  «        s ||¦  «          ||¦  «         Œz |
|¦  «        }|s" |t           |         ¦  «          ||¦  «         Œ©||vr" |t"          |         ¦  «          ||¦  «         ŒÏ |t$          ¦  «          || ¦  «        } |d¦  «         |t&          u r |t(          ¦  «         |f||         z   D ]} |t*          ¦  «          ||¦  «         Œ |t,          ¦  «          || ¦  «        |z
  | |<   �Œ[|t.          u rªt1          ||	|
|¦  «        \  }}|t          z  r|t          z  r |t2          ¦  «         n6|s |t.          ¦  «         n#|s |t4          ¦  «         n |t$          ¦  «          || ¦  «        } |d¦  «         t7          ||| ¦  «          || ¦  «        |z
  | |<   �Œ|t8          u r.|t:          z  r |t<          ¦  «         �Œ3 |t8          ¦  «         �ŒE||v �rJ|t>          z  rtA          d|›�¦  «        ‚tC          |d         ¦  «        r‰ |||         d         ¦  «          || ¦  «        } |d¦  «          ||d         ¦  «          ||d         ¦  «         tE          | |d         |¦  «          |tF          ¦  «          || ¦  «        |z
  | |<   �Œ |||         d         ¦  «          || ¦  «        } |d¦  «          ||d         ¦  «          ||d         ¦  «         tE          | |d         |¦  «          || ¦  «        |z
  | |<    |||         d         ¦  «         �Œ”|tH          u rr|\  }}}}|r! |tJ          ¦  «          ||dz
  dz  ¦  «         tE          | |tM          |||¦  «        ¦  «         |r$ |tJ          ¦  «          ||dz
  dz  dz   ¦  «         �Œ|tN          u rZ |tN          ¦  «          || ¦  «        } |d¦  «         tE          | ||¦  «          |tF          ¦  «          || ¦  «        |z
  | |<   �Œr||v r ||¦  «         �Œƒ||v rÊ ||¦  «          || ¦  «        } |d¦  «         |d         dk    r |d¦  «         nW|d          (                    ¦   «         \  }}|tR          k    rtA          d¦  «        ‚||k    rtA          d¦  «        ‚ ||¦  «         tE          | |d         |¦  «          |tF          ¦  «          || ¦  «        |z
  | |<   �ŒQ|tT          u rˆ ||¦  «         |tV          z  rtX           -                    ||¦  «        }|t          z  rt\           -                    ||¦  «        }n%|t          z  rt^           -                    ||¦  «        } ||¦  «         �Œâ|t`          u r® ||¦  «         g }|j         }|d         D ]i} || ¦  «        } |d¦  «         tE          | ||¦  «          |tb          ¦  «          | || ¦  «        ¦  «          |d¦  «          || ¦  «        |z
  | |<   Œj |t,          ¦  «         |D ]} || ¦  «        |z
  | |<   Œ�Œ™|td          u rG ||¦  «         |t          z  rtf          |         }n|t          z  rth          |         } ||¦  «         �Œé|tj          u rd|t          z  s ||¦  «         n>|t          z  r |tl          ¦  «         n#|s |tn          ¦  «         n |tp          ¦  «          ||dz
  ¦  «         �ŒV|tr          u rÎ ||¦  «          ||d         dz
  ¦  «          || ¦  «        } |d¦  «         tE          | |d         |¦  «         |d         rd |tb          ¦  «          || ¦  «        } |d¦  «          || ¦  «        |z
  dz   | |<   tE          | |d         |¦  «          || ¦  «        |z
  | |<   �Œ || ¦  «        |z
  dz   | |<   �Œ-tA          d|›�¦  «        ‚d S )Nr   z(internal: unsupported template operator é   r   zlooks too much behindz(look-behind requires fixed-width patternz#internal: unsupported operand type ):ÚappendÚlenÚ_LITERAL_CODESÚ_REPEATING_CODESÚ_SUCCESS_CODESÚ_ASSERT_CODESÚSRE_FLAG_IGNORECASEÚSRE_FLAG_LOCALEÚSRE_FLAG_UNICODEÚ_sreÚunicode_iscasedÚunicode_tolowerr   Úascii_iscasedÚascii_tolowerÚOP_LOCALE_IGNOREÚ	OP_IGNOREÚOP_UNICODE_IGNOREÚIN_UNI_IGNOREÚNOT_LITERALÚNEGATEÚLITERALÚFAILUREÚINÚ_optimize_charsetÚIN_LOC_IGNOREÚ	IN_IGNOREÚ_compile_charsetÚANYÚSRE_FLAG_DOTALLÚANY_ALLÚSRE_FLAG_TEMPLATEÚerrorÚ_simpleÚ_compileÚSUCCESSÚ
SUBPATTERNÚMARKr   ÚATOMIC_GROUPÚgetwidthÚMAXCODEÚATÚSRE_FLAG_MULTILINEÚAT_MULTILINEÚgetÚ	AT_LOCALEÚ
AT_UNICODEÚBRANCHÚJUMPÚCATEGORYÚ	CH_LOCALEÚ
CH_UNICODEÚGROUPREFÚGROUPREF_LOC_IGNOREÚGROUPREF_IGNOREÚGROUPREF_UNI_IGNOREÚGROUPREF_EXISTS)ÚcodeÚpatternr
   ÚemitÚ_lenÚLITERAL_CODESÚREPEATING_CODESÚSUCCESS_CODESÚASSERT_CODESÚiscasedÚtolowerÚfixesÚopÚavÚloÚskipÚkÚcharsetÚhascasedÚgroupr   r   ÚpÚhiÚtailÚ
tailappendÚskipyesÚskipnos                               r   r4   r4   %   sö	  € àŒ;€DÝ€DÝ"€MÝ&€OÝ"€MÝ €LØ€GØ€GØ€EØÕ"Ñ"ð )¨5µ?Ñ+Bð )ØÕ#Ñ#ð 	)ÝÔ*ˆGÝÔ*ˆGÝ ˆEˆEåÔ(ˆGÝÔ(ˆGØð ^Iñ ^I‰ˆˆBØ�ÐÑØÕ.Ñ.ð 3Ø��R‘”�Ø��R‘”��Ø�Ñ(ð 3Ø�Õ% bÔ)Ñ*Ô*Ð*Ø��R‘”��Ø�W˜R‘[”[ð 3Ø��R‘”�Ø��R‘”��à�W˜R‘[”[�Øð 3Ø�D� 2œÑ'Ô'Ð'Ø�D˜‘H”H�H�HØ˜u�_�_Ø�DÕ*¨2Ô.Ñ/Ô/Ð/Ø�D˜‘H”H�H�Hà�D�Ñ'Ô'Ð'Ø˜4 ™:œ:�D t t¨A¡w¤w wØ�[Ð(Ð(Ø˜�V™œ˜Ø ˜U U¨2¤YÑ.ð  ð  ˜Ø˜�W™œ˜Ø˜˜Q™œ˜˜Ø�D�‘M”M�MØ!%  d¡¤¨dÑ!2�D˜‘J‘JØ•2ˆXˆXÝ 1°"°g¸wÈÑ NÔ NÑˆG�XØÕ*Ñ*ð $¨uµÑ/Fð $Ø�•]Ñ#Ô#Ð#Ð#Øð $Ø�•R‘”��Øð $Ø�•Y‘”��à�•]Ñ#Ô#Ð#Ø�4˜‘:”:ˆD˜t˜t A™wœw˜wÝ˜W e¨TÑ2Ô2Ð2Ø˜˜d™œ dÑ*ˆD�‰J‰JØ•3ˆYˆYØ•Ñ&ð Ø�•W‘”�‘à�•S‘	”	�	‘	Ø�?Ð"Ñ"ØÕ(Ñ(ð RÝ�eÈBÈBÐPÑQÔQÐQÝ�r˜!”u‰~Œ~ð -Ø��_ RÔ(¨Ô+Ñ,Ô,Ð,Ø�t˜D‘z”z� 4 4¨¡7¤7 7Ø��R˜”U‘”�Ø��R˜”U‘”�Ý˜˜r !œu eÑ,Ô,Ð,Ø�•W‘”�Ø!˜T $™ZœZ¨$Ñ.��T‘
‘
à��_ RÔ(¨Ô+Ñ,Ô,Ð,Ø�t˜D‘z”z� 4 4¨¡7¤7 7Ø��R˜”U‘”�Ø��R˜”U‘”�Ý˜˜r !œu eÑ,Ô,Ð,Ø!˜T $™ZœZ¨$Ñ.��T‘
Ø��_ RÔ(¨Ô+Ñ,Ô,Ð,Ñ,Ø•:ÐÐØ-/Ñ*ˆE�9˜i¨Øð "Ø�•T‘
”
�
Ø��e˜A‘g˜q‘[Ñ!Ô!Ð!å�T˜1�n¨U°I¸yÑIÔIÑJÔJÐJØð $Ø�•T‘
”
�
Ø��e˜A‘g˜q‘[ ‘]Ñ#Ô#Ð#ùØ•<ÐÐð ˆD•ÑÔÐØ�4˜‘:”:ˆD˜t˜t A™wœw˜wÝ�T˜2˜uÑ%Ô%Ð%ØˆD•‰MŒMˆMØ˜˜d™œ dÑ*ˆD�‰J‰JØ�=Ð Ð ØˆD�‰HŒHˆH‰HØ�<ÐÐØˆD�‰HŒHˆHØ�4˜‘:”:ˆD˜t˜t A™wœw˜wØ�!Œu˜ŠzˆzØ��Q‘”��à˜AœŸšÑ)Ô)‘��BØ�’<�<ÝÐ 7Ñ8Ô8Ð8Ø˜’8�8ÝÐ JÑKÔKÐKØ��R‘”�Ý�T˜2˜aœ5 %Ñ(Ô(Ð(ØˆD•‰MŒMˆMØ˜˜d™œ dÑ*ˆD�‰J‰JØ•2ˆXˆXØˆD�‰HŒHˆHØÕ)Ñ)ð .Ý!×%Ò% b¨"Ñ-Ô-�Ø•Ñ&ð ,Ý—]’] 2 rÑ*Ô*��ØÕ)Ñ)ð ,Ý—^’^ B¨Ñ+Ô+�ØˆD�‰HŒHˆH‰HØ•6ˆ\ˆ\ØˆD�‰HŒHˆHØˆDØœˆJØ˜”eð /ð /�Ø�t˜D‘z”z� 4 4¨¡7¤7 7å˜˜r 5Ñ)Ô)Ð)Ø�•T‘
”
�
Ø�
˜4˜4 ™:œ:Ñ&Ô&Ð&¨¨¨Q©¬¨Ø!˜T $™ZœZ¨$Ñ.��T‘
�
ØˆD•‰MŒMˆMØð /ð /�Ø!˜T $™ZœZ¨$Ñ.��T‘
�
ñ/à•8ˆ^ˆ^ØˆD�‰HŒHˆHØ•Ñ&ð $Ý˜r”]��ØÕ)Ñ)ð $Ý ”^�ØˆD�‰HŒHˆH‰HØ•8ˆ^ˆ^ØÕ.Ñ.ð *Ø��R‘”��Ø�Ñ(ð *Ø�Õ(Ñ)Ô)Ð)Ð)Øð *Ø�•_Ñ%Ô%Ð%Ð%à�Õ(Ñ)Ô)Ð)ØˆD��A‘‰JŒJˆJ‰JØ•?Ð"Ð"ØˆD�‰HŒHˆHØˆD��A”�q‘‰MŒMˆMØ�d˜4‘j”jˆG $ $ q¡'¤' 'Ý�T˜2˜aœ5 %Ñ(Ô(Ð(Ø�!Œuð 9Ø�•T‘
”
�
Ø˜˜d™œ� T T¨!¡W¤W WØ $  T¡
¤
¨WÑ 4°qÑ 8��W‘Ý˜˜r !œu eÑ,Ô,Ð,Ø#˜t D™zœz¨FÑ2��V‘‘à $  T¡
¤
¨WÑ 4°qÑ 8��W‘‘å�%À2À2ÐGÑHÔHÐHð}^Ið ^Ir   c                 óP  — |j         }| D �]
\  }} ||¦  «         |t          u rŒ|t          u r ||¦  «         Œ0|t          u s	|t          u r# ||d         ¦  «          ||d         ¦  «         Œe|t
          u r|                     |¦  «         Œ„|t          u r|                     |¦  «         Œ£|t          u rN|t          z  r |t          |         ¦  «         ŒÍ|t          z  r |t          |         ¦  «         Œî ||¦  «         Œút          d|›�¦  «        ‚ |t          ¦  «         d S )Nr   r   z#internal: unsupported set operator )r   r&   r'   ÚRANGEÚRANGE_UNI_IGNOREÚCHARSETÚextendÚ
BIGCHARSETrC   r   rD   r   rE   r2   r(   )r[   r
   rK   rM   rV   rW   s         r   r-   r-   Ø   sD  € àŒ;€DØð Iñ I‰ˆˆBØˆˆR‰ŒˆØ•ˆ<ˆ<ØØ•7ˆ]ˆ]ØˆD�‰HŒHˆHˆHØ•5ˆ[ˆ[˜BÕ"2Ð2Ð2ØˆD��A”‰KŒKˆKØˆD��A”‰KŒKˆKˆKØ•7ˆ]ˆ]Ø�KŠK˜‰OŒOˆOˆOØ•:ÐÐØ�KŠK˜‰OŒOˆOˆOØ•8ˆ^ˆ^Ø•Ñ&ð Ø�•Y˜r”]Ñ#Ô#Ð#Ð#ØÕ)Ñ)ð Ø�•Z ”^Ñ$Ô$Ð$Ð$à��R‘”��å�%À2À2ÐGÑHÔHÐHØ€D��M„M€M€M€Mr   c                 ól  — g }g }t          d¦  «        }d}| D �]}\  }}		 	 |t          u r>|r6 ||	¦  «        }
d||
<   |r|
|v r||
         D ]}d||<   Œ|s ||	¦  «        rd}nÚd||	<   nÔ|t          u r“t          |	d         |	d         dz   ¦  «        }|rg|r-t	          ||¦  «        D ]}d||<   ||v r||         D ]}d||<   ŒŒnt	          ||¦  «        D ]}d||<   Œ|st          t	          ||¦  «        ¦  «        }nC|D ]}d||<   Œn8|t          u r|                     ||	f¦  «         n|                     ||	f¦  «         nY# t          $ rL t          |¦  «        dk    r|ddz  z  }Y �ŒF|rd}|t          u rt          }|                     ||	f¦  «         Y nw xY w�Œg }d}	 |                     d|¦  «        }|dk     rnot          |¦  «        dk    rd }nY|                     d|¦  «        }|dk     r%|                     |t          |¦  «        f¦  «         n|                     ||f¦  «         ŒŒ|�~|D ]L\  }}||z
  dk    r|                     t          |f¦  «         Œ+|                     t          ||dz
  ff¦  «         ŒM||z  }|s t          |¦  «        t          | ¦  «        k     r||fS | |fS t          |¦  «        dk    r4t          |¦  «        }|                     t          |f¦  «         ||z  }||fS t          |¦  «        }i }t          d¦  «        }d}t          ¦   «         }t          dd	d¦  «        D ]9}|||dz   …         }||v r||         ||dz  <   Œ"|x||dz  <   ||<   |dz  }||z  }Œ:t          |¦  «        }|gt          |¦  «        z   |dd…<   |                     t           |f¦  «         ||z  }||fS )
Né   FTr   r   ó    i ÿ  r   i   )Ú	bytearrayr'   re   ÚrangeÚmapÚanyr&   r   Ú
IndexErrorr   rf   ÚfindÚ
_mk_bitmaprg   ÚbytesÚ_bytes_to_codesri   )r[   rS   ÚfixuprU   Úoutr`   Úcharmapr\   rV   rW   rX   rZ   ÚrÚiÚrunsÚqr^   ÚdataÚcompsÚmappingÚblockÚchunks                         r   r*   r*   ó   sÊ  € à
€CØ€DÝ˜‰nŒn€GØ€HØð 9ñ 9‰ˆˆBð8	ð6&Ø��=�=Øð 	(Ø"˜U 2™YœY˜Ø&'˜ ™Ø ð / R¨5 [ [Ø%*¨2¤Yð /ð / Ø-. ¨¡
 
Ø'ð ,¨G¨G°B©K¬Kð ,Ø'+˜Høà&'˜ ™˜Ø�5�[�[Ý˜b œe R¨¤U¨1¡WÑ-Ô-�AØð +Ø ð /Ý%(¨°¡]¤]ð 7ð 7 Ø-. ¨¡
Ø#$¨ : :Ø-2°1¬Xð %7ð %7¨Ø56¨°©
¨
øð	7õ &)¨°¡]¤]ð /ð / Ø-. ¨¡
 
Ø'ð <Ý'*­3¨w¸©?¬?Ñ';Ô';˜Høà!"ð +ð +˜AØ)*˜G A™J˜Jð+à�6�\�\Ø—J’J  B˜xÑ(Ô(Ð(Ð(à—K’K  R Ñ)Ô)Ð)øøÝð &ð &ð &Ý�w‘<”< 3Ò&Ð&à˜u v™~Ñ-�GØ‘Hð ð .Ø#�Hð �U�{�{Ý-˜Ø—’˜R ˜HÑ%Ô%Ð%Ð%Ð%ð+&øøøñ, ð €DØ	€AðØ�LŠL˜˜AÑÔˆØˆqŠ5ˆ5ØÝˆt‰9Œ9˜Š>ˆ>ØˆDØØ�LŠL˜˜AÑÔˆØˆqŠ5ˆ5Ø�KŠK˜�C ™LœLÐ)Ñ*Ô*Ð*ØØ�Š�Q˜�FÑÔÐðð Ðàð 	0ð 	0‰DˆAˆqØ�1‰u˜ŠzˆzØ—
’
�G Q˜<Ñ(Ô(Ð(Ð(à—
’
�E A q¨1¡u :Ð.Ñ/Ô/Ð/Ð/Øˆt‰ˆàð 	!•s˜3‘x”x¥# g¡,¤,Ò.Ð.Ø˜�=Ð à˜Ð Ð õ ˆ7�|„|�sÒÐÝ˜'Ñ"Ô"ˆØ�
Š
•G˜T�?Ñ#Ô#Ð#Øˆt‰ˆØ�Hˆ}Ðõ, �G‰nŒn€GØ€EÝ˜‰nŒn€GØ€EÝ‰;Œ;€DÝ�1�e˜SÑ!Ô!ð ð ˆØ˜˜1˜s™7˜
Ô#ˆØ�Eˆ>ˆ>Ø % e¤ˆG�A˜‘HÑÐà/4Ð4ˆG�A˜‘HÑ  e¡Ø�Q‰JˆEØ�E‰MˆDˆDÝ�dÑÔ€DØ��/¨'Ñ2Ô2Ñ2€Dˆˆ1ˆ�IØ‡J‚J•
˜DÐ!Ñ"Ô"Ð"Øˆ4�K€CØ�ˆ=Ðs    DD<Ä<%FÅ$+FÆFé   s   0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111c                 ó¨   ‡‡‡— |                       t          ¦  «        d d d…         Šˆˆˆfd„t          t          ‰¦  «        d‰ ¦  «        D ¦   «         S )Néÿÿÿÿc                 ó>   •— g | ]} ‰‰|‰z
  |…         d ¦  «        ‘ŒS )r   r	   )Ú.0rz   Ú	_CODEBITSÚ_intÚss     €€€r   ú
<listcomp>z_mk_bitmap.<locals>.<listcomp>„  sC   ø€ ð 3ð 3ð 3Øð ˆD��1�y‘= !Ð#Ô$ aÑ(Ô(ð 3ð 3ð 3r   r   )Ú	translateÚ_BITS_TRANSrn   r   )Úbitsr‡   rˆ   r‰   s    ``@r   rs   rs   ‚  sj   øøø€ Ø�Š•{Ñ#Ô# D D b DÔ)€Að3ð 3ð 3ð 3ð 3ð 3Ý�3˜q™6œ6 1 y jÑ1Ô1ð3ñ 3ô 3ð 3r   c                 óð   — t          | ¦  «                             d¦  «        }|j        t          j        k    sJ ‚t          |¦  «        |j        z  t          | ¦  «        k    sJ ‚|                     ¦   «         S )NÚI)Ú
memoryviewÚcastÚitemsizer   ÚCODESIZEr   Útolist)ÚbÚas     r   ru   ru   ‡  sb   € å�1‰Œ×Ò˜3ÑÔ€AØŒ:�œÒ&Ð&Ð&Ð&Ýˆq‰6Œ6�A”JÑ¥# a¡&¤&Ò(Ð(Ð(Ð(Ø�8Š8‰:Œ:Ðr   c                 ó¤   — t          | ¦  «        dk    rdS | d         \  }}|t          u r|d         d u ot          |d         ¦  «        S |t          v S )Nr   Fr   r„   )r   r6   r3   Ú_UNIT_CODES)r^   rV   rW   s      r   r3   r3   Ž  sV   € å
ˆ1�v„v�‚{€{ØˆuØˆqŒT�F€BˆØ	�ZÐÐØ�!Œu˜ˆ}Ð0¥¨¨B¬¡¤Ð0Ø•ÐÐr   c                 ó  — dgt          | ¦  «        z  }t          dt          | ¦  «        ¦  «        D ]P}||dz
           }| |         | |         k    r)|dk    rd||<   n%||dz
           }| |         | |         k    °)|dz   ||<   ŒQ|S )aj  
    Generate an overlap table for the following prefix.
    An overlap table is a table of the same size as the prefix which
    informs about the potential self-overlap for each index in the prefix:
    - if overlap[i] == 0, prefix[i:] can't overlap prefix[0:...]
    - if overlap[i] == k with 0 < k <= i, prefix[i-k+1:i+1] overlaps with
      prefix[0:k]
    r   r   )r   rn   )ÚprefixÚtablerz   Úidxs       r   Ú_generate_overlap_tabler�   —  s¡   € ð ˆC•#�f‘+”+Ñ€EÝ�1•c˜&‘k”kÑ"Ô"ð ð ˆØ�A˜‘EŒlˆØ�QŒi˜6 #œ;Ò&Ð&Ø�aŠxˆxØ��a‘ØØ˜˜a™”.ˆCð	 �QŒi˜6 #œ;Ò&Ð&ð ˜Q‘wˆE�!‰HøØ€Lr   c                 ó^   — | t           z  sd S | t          z  rt          j        S t          j        S r   )r   r   r   r   r   )r
   s    r   Ú_get_iscasedrŸ   ¬  s5   € ØÕ&Ñ&ð "ØˆtØ	Õ!Ñ	!ð "ÝÔ#Ð#åÔ!Ð!r   c                 óÈ  — g }|j         }d }t          |¦  «        }| j        D ]·\  }}|t          u r|r ||¦  «        r n  ||¦  «         Œ)|t          u r„|\  }}	}
}t          ||	|
¦  «        }|t          z  r|t          z  r n]t          ||¦  «        \  }}}|€&|�t          |¦  «        }n|�t          |¦  «        |z   }| 
                    |¦  «         |s nŒ¶ n||dfS ||dfS )NTF)r   rŸ   r}   r'   r6   r   r   r   Ú_get_literal_prefixr   rh   )rL   r
   rš   ÚprefixappendÚprefix_skiprS   rV   rW   r]   r   r   r^   Úflags1Úprefix1Úprefix_skip1Úgot_alls                   r   r¡   r¡   ´  s@  € à€FØ”=€LØ€KÝ˜5Ñ!Ô!€GØ”,ð )ð )‰ˆˆBØ•ˆ=ˆ=Øð ˜7˜7 2™;œ;ð Ø�ØˆL˜ÑÔÐÐØ•:ÐÐØ-/Ñ*ˆE�9˜i¨Ý# E¨9°iÑ@Ô@ˆFØÕ+Ñ+ð °½Ñ0Hð Ø�Ý-@ÀÀFÑ-KÔ-KÑ*ˆG�\ 7ØÐ"ØÐ$Ý"% f¡+¤+�K�KØ!Ð-Ý"% f¡+¤+°Ñ"<�KØ�MŠM˜'Ñ"Ô"Ð"Øð Ø�ðð ˆEà�{ DÐ(Ð(Ø�; Ð%Ð%r   c                 ó¶  — 	 | j         sd S | j         d         \  }}|t          urn/|\  }}}} t          |||¦  «        }|t          z  r|t          z  rd S ŒRt          |¦  «        }|t          u r|r ||¦  «        rd S ||fgS |t          u rLg }|j        }	|d         D ]8}
|
s d S |
d         \  }}|t          u r|r ||¦  «        s |	||f¦  «         Œ6 d S |S |t          u r{|}|ru|D ]r\  }}|t          u r ||¦  «        r d S Œ|t          u rL|d         dk    r d S t          t          |t          |d         |d         dz   ¦  «        ¦  «        ¦  «        r d S Œs|S d S )NTr   r   iÿÿ  )r}   r6   r   r   r   rŸ   r'   rA   r   r)   re   rp   ro   rn   )rL   r
   rV   rW   r]   r   r   rS   r[   Úcharsetappendr^   s              r   Ú_get_charset_prefixrª   Ó  sã  € ð	ØŒ|ð 	Ø�4Ø”˜a”‰ˆˆBØ•ZÐÐØØ/1Ñ,ˆˆy˜) WÝ˜u i°Ñ;Ô;ˆØÕ&Ñ&ð 	¨5µ?Ñ+Bð 	Ø�4ð	õ ˜5Ñ!Ô!€GØ	�W€}€}Øð 	�w�w˜r‘{”{ð 	Ø�4Ø�R�ˆzÐØ	�vˆˆØˆØœˆØ�A”ð 	ð 	ˆAØð Ø�t�tØ�q”T‰FˆB�Ø•Wˆ}ˆ} gˆ}°'°'¸"±+´+ˆ}Ø�˜r 2˜hÑ'Ô'Ð'Ð'à�t�tØˆØ	�rˆˆØˆØð 		$Ø!ð $ð $‘��BØ��=�=Ø�w˜r‘{”{ð $Ø#˜t˜tð$à�5�[�[Ø˜!”u˜v’~�~Ø#˜t˜tÝ�3˜w­¨b°¬e°R¸´U¸1±WÑ(=Ô(=Ñ>Ô>Ñ?Ô?ð $Ø#˜t˜tøØˆØˆ4r   c                 óÄ  — |                      ¦   «         \  }}|t          k    rt          }|dk    r!|                      t          dd||g¦  «         d S g }d}g }|t          z  r
|t
          z  s&t          ||¦  «        \  }}}|st          ||¦  «        }| j        }	 |	t          ¦  «         t          | ¦  «        }
 |	d¦  «         d}|rt          }|€|r
|t          z  }n|r
|t          z  } |	|¦  «         |t          k     r |	|¦  «         n |	t          ¦  «         |d t          …         } |	|¦  «         |rl |	t          |¦  «        ¦  «         |€t          |¦  «        } |	|¦  «         |                      |¦  «         |                      t          |¦  «        ¦  «         n)|r't          |¦  «        \  }}|rJ ‚t          ||| ¦  «         t          | ¦  «        |
z
  | |
<   d S )Nr   é   )r9   r:   rh   ÚINFOr   r   r¡   rª   r   r   ÚSRE_INFO_PREFIXÚSRE_INFO_LITERALÚSRE_INFO_CHARSETr�   r*   r-   )rK   rL   r
   rX   r_   rš   r£   r[   r§   rM   rY   Úmaskr\   s                r   Ú_compile_infor²   ÿ  s  € ð ×ÒÑÔ�F€BˆØ	�G‚|€|ÝˆØ	ˆQ‚w€wØ�Š•T˜1˜a  RÐ(Ñ)Ô)Ð)Øˆà€FØ€KØ€GØÕ'Ñ'ð :¨EµOÑ,Cð :å':¸7ÀEÑ'JÔ'JÑ$ˆ�˜Wàð 	:Ý)¨'°5Ñ9Ô9ˆGð Œ;€DØ€D��J„J€JÝˆt‰9Œ9€D�d�d˜1‘g”g�gà€DØð 'ÝˆØÐ 7ÐØÕ*Ñ*ˆDøØ	ð 'ØÕ&Ñ&ˆØ€Dˆ�J„J€Jà	�G‚|€|ØˆˆR‰Œˆˆàˆ�W‰ŒˆØ˜�˜Ô!ˆØ€Dˆ�H„H€Hàð /Øˆ�S�‰[Œ[ÑÔÐØÐÝ˜v™;œ;ˆKØˆˆ[ÑÔÐØ�Š�FÑÔÐà�ŠÕ+¨FÑ3Ô3Ñ4Ô4Ð4Ð4Ø	ð /Ý-¨gÑ6Ô6Ñˆ�ØÐÐˆ|Ý˜ %¨Ñ.Ô.Ð.Ý�T‘”˜TÑ!€Dˆ�J€J€Jr   c                 ó:   — t          | t          t          f¦  «        S r   )Ú
isinstanceÚstrrt   )Úobjs    r   Úisstringr·   :  s   € Ý�c�C¥˜<Ñ(Ô(Ð(r   c                 óª   — | j         j        |z  }g }t          || |¦  «         t          || j        |¦  «         |                     t          ¦  «         |S r   )Ústater
   r²   r4   r}   r   r5   )r^   r
   rK   s      r   Ú_coderº   =  sV   € àŒGŒM˜EÑ!€EØ€Dõ �$˜˜5Ñ!Ô!Ð!õ ˆT�1”6˜5Ñ!Ô!Ð!à‡K‚K•ÑÔÐà€Kr   c                 óF   — dd                      d„ | D ¦   «         ¦  «        z  S )Nú[%s]ú, c              3   óD   K  — | ]}d t           j        dz  dz   |fz  V — ŒdS )z%#0*xr   N)r   r“   ©r†   Úxs     r   ú	<genexpr>z_hex_code.<locals>.<genexpr>M  s7   è è € ÐMÐMÀ1˜g­¬°q©¸Ñ):¸AÐ(>Ñ>ÐMÐMÐMÐMÐMÐMr   )Újoin)rK   s    r   Ú	_hex_coderÃ   L  s(   € Ø�D—I’IÐMÐMÈÐMÑMÔMÑMÔMÑMÐMr   c                 óØ   ‡ ‡‡‡‡‡— dd l Št          ¦   «         ŠdŠt          t          t          ‰ ¦  «        dz
  ¦  «        ¦  «        Šˆ ˆˆˆˆˆfd„Š ‰dt          ‰ ¦  «        ¦  «         d S )Nr   r   c                 ó  •‡ — d dœˆˆˆˆ fd„
}ˆˆfd„}‰dz  Š‰ }||k     �rb|Š ‰|         }|dz  }t           |         }|t          t          t          t          t
          t          t          fv r ||¦  «         �n|t          t          t          t          t          t          t          t          fv r-‰|         }|dz  } ||d|t!          |¦  «        fz  ¦  «         �n£|t"          u rM‰|         }|dz  }t%          t&          |         ¦  «        }|d d…         dk    sJ ‚ |||dd …         ¦  «         �nM|t(          u rM‰|         }|dz  }t%          t*          |         ¦  «        }|d d…         d	k    sJ ‚ |||dd …         ¦  «         �n÷|t,          t.          t0          t2          fv r2‰|         } |||||z   ¬¦  «          ‰|dz   ||z   ¦  «         ||z  }�n©|t4          t6          fv rD‰||d
z   …         \  }}	|d
z  } ||d||	t!          |¦  «        t!          |	¦  «        fz  ¦  «         �nU|t8          u r; ||t;          ‰||dt<          z  z   …         ¦  «        ¦  «         |dt<          z  z  }�n|t>          u rÈ‰|         }|dz  }tA          d !                    ˆfd„‰||dtD          j#        z  z   …         D ¦   «         ¦  «        ¦  «        }
 ||||
¦  «         |dtD          j#        z  z  }‰dz  ŠtI          |¦  «        D ]:} |t;          ‰||dt<          z  z   …         ¦  «        ¦  «         |dt<          z  z  }Œ;‰dz  Š�n@|tJ          tL          tN          tP          tR          fv r‰|         }|dz  } |||¦  «         �n|tT          u r ‰|         } |||||z   ¬¦  «         |dz  }�nÚ|tV          u ri‰|         } |||||z   ¬¦  «         |rG ‰|dz   ||z   ¦  «         ||z  }|Š ‰|         }|r |d|||z   ¬¦  «         n |t          ¦  «         |°G|dz  }�nh|tX          tZ          t\          t^          t`          fv rJ‰||dz   …         \  }}}|tb          k    rd} |||||||z   ¬¦  «          ‰|dz   ||z   ¦  «         ||z  }�nü|td          u r)‰||d
z   …         \  }} ||||||z   ¬¦  «         |d
z  }�nÊ|tf          th          fv r;‰||d
z   …         \  }} ||||||z   ¬¦  «          ‰|d
z   ||z   ¦  «         ||z  }�n|tj          u r2‰|         } |||||z   ¬¦  «          ‰|dz   ||z   ¦  «         ||z  }�nD|tl          u �r+‰||dz   …         \  }}}}|tb          k    rd} |||to          |¦  «        ||||z   ¬¦  «         |dz   Š |tp          z  r¨‰|dz   |dz   …         \  }} |d|¦  «         |dz   Š ‰‰ ‰ |z   …         } |ddd !                    d„ |D ¦   «         ¦  «        z  dd !                    ts          t           |¦  «        ¦  «        z  ¦  «         ‰ |z  Š  |d‰‰ ‰ |z   …         ¦  «         ‰ |z  Š |tt          z  r$‰dz  Š |d¦  «          ‰‰ ||z   ¦  «         ‰dz  Š||z  }ntw          |¦  «        ‚||k     �°b‰dz  Šd S )N)Útoc                 ó¢   •— | �‰                      | ¦  «         |d| fz  fz  }t          d‰‰‰‰v rdndfz  d‰dz
  z  ¬¦  «         t          |Ž  d S )Nz(to %d)z%*d%s ú:ú.z  r   ©Úend)ÚaddÚprint)rÆ   ÚargsÚlabelsÚlevelÚoffset_widthÚstarts     €€€€r   Úprint_z!dis.<locals>.dis_.<locals>.print_W  st   ø€ Øˆ~Ø—
’
˜2‘”�Ø˜ b UÑ*Ð,Ñ,�Ý�(˜l¨E¸%À6¸/¸/°3°3ÈsÐSÑSØ˜E !™G‘nð&ñ &ô &ð &å�4ˆLˆLˆLˆLr   c                  óL   •— t          d‰d‰z  z   z  ¬¦  «         t          | Ž  d S )Nú r   rÊ   )rÍ   )rÎ   rÐ   rÑ   s    €€r   Úprint_2z"dis.<locals>.dis_.<locals>.print_2_  s/   ø€ Ý�c˜<¨!¨E©'Ñ1Ñ2Ð3Ñ3Ô3Ð3Ý�4ˆLˆLˆLˆLr   r   z
%#02x (%r)é   ÚAT_é	   Ú	CATEGORY_r   z%#02x %#02x (%r-%r)rk   r   c              3   ób   •K  — | ])}|                      t          j        ‰j        ¦  «        V — Œ*d S r   )Úto_bytesr   r“   Ú	byteorder)r†   rÀ   Úsyss     €r   rÁ   z$dis.<locals>.dis_.<locals>.<genexpr>�  sQ   øè è € ð (Rð (RØ,-ð )*¯
ª
µ4´=À#Ä-Ñ(PÔ(Pð (Rð (Rð (Rð (Rð (Rð (Rr   ÚbranchÚ	MAXREPEATr¬   é   z  prefix_skipz  prefixr¼   r½   c              3   ó    K  — | ]	}d |z  V — Œ
dS )z%#02xNr	   r¿   s     r   rÁ   z$dis.<locals>.dis_.<locals>.<genexpr>Ñ  s&   è è € Ð.KÐ.K¸q¨w¸©{Ð.KÐ.KÐ.KÐ.KÐ.KÐ.Kr   z(%r)Ú z	  overlapÚin)<ÚOPCODESr5   r(   r.   r0   Ú	MAX_UNTILÚ	MIN_UNTILr&   r'   r%   ÚLITERAL_IGNOREÚNOT_LITERAL_IGNOREÚLITERAL_UNI_IGNOREÚNOT_LITERAL_UNI_IGNOREÚLITERAL_LOC_IGNOREÚNOT_LITERAL_LOC_IGNOREÚchrr;   rµ   ÚATCODESrC   ÚCHCODESr)   r,   r$   r+   re   rf   rg   rÃ   r‡   ri   ÚlistrÂ   r   r“   rn   r7   rF   rH   rI   rG   rB   rA   ÚREPEATÚ
REPEAT_ONEÚMIN_REPEAT_ONEÚPOSSESSIVE_REPEATÚPOSSESSIVE_REPEAT_ONErà   rJ   ÚASSERTÚ
ASSERT_NOTr8   r­   Úbinr®   ro   r°   Ú
ValueError)rÒ   rË   rÓ   rÖ   rz   rV   ÚargrY   rX   r_   r   ÚjÚminÚmaxr
   Ú
prefix_lenr£   rš   rK   Údis_rÏ   rÐ   rÑ   rÞ   s   `                 €€€€€€r   r   zdis.<locals>.dis_V  sm  øø€ Ø!ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð 	ð
 	�‰
ˆØˆØ�#Šg‰gØˆEØ�a”ˆBØ�‰FˆAÝ˜”ˆBØ•g�w­­WÝ¥­Fð4ð 4ð 4à��r‘
”
�
‘
Ø�¥Ý&Õ(:Ý*Õ,BÝ*Õ,BðDð Dð Dð ˜1”g�Ø�Q‘�Ø��r˜<¨3µ°C±´¨/Ñ9Ñ:Ô:Ð:Ñ:Ø•r��Ø˜1”g�Ø�Q‘�Ý�' #œ,Ñ'Ô'�Ø˜2˜A˜2”w %Ò'Ð'Ð'Ð'Ø��r˜3˜q˜r˜rœ7Ñ#Ô#Ð#Ñ#Ø•x��Ø˜1”g�Ø�Q‘�Ý�' #œ,Ñ'Ô'�Ø˜2˜A˜2”w +Ò-Ð-Ð-Ð-Ø��r˜3˜q˜r˜rœ7Ñ#Ô#Ð#Ñ#Ø��I¥}µmÐDÐDÐDØ˜A”w�Ø��r˜4 A d¡FÐ+Ñ+Ô+Ð+Ø��Q�q‘S˜!˜D™&Ñ!Ô!Ð!Ø�T‘	�‘Ø�Õ/Ð0Ð0Ð0Ø˜a  1¡˜fœ‘��BØ�Q‘�Ø��rÐ0°B¸½CÀ¹G¼GÅSÈÁWÄWÐ3MÑMÑNÔNÐNÑNØ•w��Ø��r�9 T¨!¨Q°µi±Ñ-?Ð*?Ô%@ÑAÔAÑBÔBÐBØ�S�)‘^Ñ#�‘Ø•zÐ!Ð!Ø˜1”g�Ø�Q‘�Ý˜sŸxšxð (Rð (Rð (Rð (RØ15°a¸¸SÅ$Ä-Ñ=OÑ9OÐ6OÔ1Pð(Rñ (Rô (Rñ  Rô  Rñ Sô S�à��r˜3 Ñ(Ô(Ð(Ø�S�$œ-Ñ'Ñ'�Ø˜‘
�Ý˜s™œð (ð (�AØ�G�I d¨1¨a°#µy±.Ñ.@Ð+@Ô&AÑBÔBÑCÔCÐCØ˜�i™Ñ'�A�AØ˜‘
�‘Ø��h­Õ9LÝ+ð-ð -ð -à˜1”g�Ø�Q‘�Ø��r˜3‘”�‘Ø•t��Ø˜A”w�Ø��r˜4 A d¡FÐ+Ñ+Ô+Ð+Ø�Q‘�‘Ø•v��Ø˜A”w�Ø��r˜4 A d¡FÐ+Ñ+Ô+Ð+Øð (Ø�D˜˜1™˜a ™fÑ%Ô%Ð%Ø˜‘I�AØ�EØ œ7�DØð (Ø˜˜x¨°!°D±&Ð9Ñ9Ô9Ð9Ð9à˜�w™œ˜ð ð (ð �Q‘�‘Ø�¥
­NÝ)Õ+@ðBð Bð Bà!% a¨¨1© f¤‘��c˜3Ø�)Ò#Ð#Ø%�CØ��r˜4  c¨a°©fÐ5Ñ5Ô5Ð5Ø��Q�q‘S˜!˜D™&Ñ!Ô!Ð!Ø�T‘	�‘Ø•Ð&Ð&Ø   A a¡C œL‘	��TØ��r˜3 ¨¨4©Ð0Ñ0Ô0Ð0Ø�Q‘�‘Ø�¥
Ð+Ð+Ð+Ø   A a¡C œL‘	��cØ��r˜4 ¨¨4©Ð0Ñ0Ô0Ð0Ø��Q�q‘S˜!˜D™&Ñ!Ô!Ð!Ø�T‘	�‘Ø•|Ð#Ð#Ø˜A”w�Ø��r˜4 A d¡FÐ+Ñ+Ô+Ð+Ø��Q�q‘S˜!˜D™&Ñ!Ô!Ð!Ø�T‘	�‘Ø•t�‘Ø(,¨Q°°!±¨V¬Ñ%��e˜S #Ø�)Ò#Ð#Ø%�CØ��r˜4¥ U¡¤¨S°#¸!¸D¹&ÐAÑAÔAÐAØ˜!™�Ø�?Ñ*ð 
(Ø.2°1°Q±3¸¸!¹°8¬nÑ+�J Ø�G˜O¨[Ñ9Ô9Ð9Ø ™E�EØ! %¨¨zÑ)9Ð"9Ô:�FØ�G˜JØ" T§Y¢YÐ.KÐ.KÀFÐ.KÑ.KÔ.KÑ%KÔ%KÑKØ" R§W¢W­Sµ°fÑ-=Ô-=Ñ%>Ô%>Ñ>ñ@ô @ð @ð ˜ZÑ'�EØ�G˜K¨¨e°U¸:Ñ5EÐ.EÔ)FÑGÔGÐGØ˜ZÑ'�EØÕ+Ñ+ð Ø˜Q‘J�EØ�G˜D‘M”M�MØ�D˜  $¡Ñ'Ô'Ð'Ø˜Q‘J�EØ�T‘	��å  ‘n”nÐ$ðo �#Šg‰gðr 	�‰
ˆˆˆr   )rÞ   Úsetr   rµ   )rK   r   rÏ   rÐ   rÑ   rÞ   s   `@@@@@r   Údisr  O  s›   øøøøøø€ Ø€J€J€Jå‰UŒU€FØ€EÝ•s�3˜t™9œ9 q™=Ñ)Ô)Ñ*Ô*€LðIð Ið Ið Ið Ið Ið Ið Ið Ið IðV 	€Dˆ�C�‰IŒIÑÔÐÐÐr   c           
      ó¸  — t          | ¦  «        r| }t          j        | |¦  «        } nd }t          | |¦  «        }|t          z  rt          ¦   «          t          |¦  «         | j        j        }d g| j        j	        z  }| 
                    ¦   «         D ]
\  }}|||<   Œt          j        ||| j        j        z  || j        j	        dz
  |t          |¦  «        ¦  «        S )Nr   )r·   r   Úparserº   ÚSRE_FLAG_DEBUGrÍ   r  r¹   Ú	groupdictÚgroupsÚitemsr   Úcompiler
   Útuple)r^   r
   rL   rK   Ú
groupindexÚ
indexgrouprZ   rz   s           r   r	  r	  ä  sà   € õ ��{„{ð ØˆÝŒM˜!˜UÑ#Ô#ˆˆàˆå��E‰?Œ?€Dà�~Ñð Ý‰ŒˆÝˆD‰	Œ	ˆ	ð ”Ô"€JØ�˜!œ'œ.Ñ(€JØ× Ò Ñ"Ô"ð ð ‰ˆˆ1Øˆ
�1‰ˆåŒ<Ø�˜œœÑ&¨Ø	ŒŒ�qÑØ•E˜*Ñ%Ô%ñ
ô 
ð 
r   )NNN)r   )5Ú__doc__r   rã   r   Ú
_constantsÚ_casefixr   ÚMAGICr'   r%   r   r5   r(   r   r÷   rø   r   r.   r)   r˜   Ú
MIN_REPEATrò   rç   rô   Ú
MAX_REPEATræ   ró   rõ   rö   r   r   r   r4   r-   r*   r“   r‡   r:   rŒ   Úintrs   ru   r3   r�   rŸ   r¡   rª   r²   r·   rº   rÃ   r  r	  r	   r   r   ú<module>r     s  ðð &Ð %à €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "à„z�UÒÐÐÐ1ÑÔÐà˜;Ð'€Ø˜7Ð#€Ø˜Ð$€Ø  R˜yÑ(€ð �˜ NÐ3Ø�˜ JÐ/ØÐ)¨7Ð4IÐJðÐ ð &Ô0ð,ð ,ð ,ð ,ðqIð qIð qIðfð ð ð6Jð Jð Jð JðX ŒM˜AÑ€	Ø�	‰>˜QÑ
€Ø€Ø(¨sð 3ð 3ð 3ð 3ð
ð ð ðð ð ðð ð ð*"ð "ð "ð&ð &ð &ð>*ð *ð *ðX9"ð 9"ð 9"ðv)ð )ð )ðð ð ðNð Nð NðRð Rð Rðj
ð 
ð 
ð 
ð 
ð 
r   