hyb
2025-11-07 cadac0a99d87c53805a07f3b4ca7fd11e524fe4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Ë
ñúhS/ãóЗdZddlZddlZddlZddlZddlmZddlmZddl    m
Z
ddl m Z ddl mZmZdd    d
d œZgd ¢ee«zee«zZiZiZd „Zd„Zdd„Zd„Zd„Zd„Zdd„Zdd„Zdd„Zd„Zdd„Zd„Z d„Z!Gd„dejD«Z#ejHe%Z&e#e%«Z'e'jPjSe&jP«e'ejHe%<e'`'e'`&e'`e'`y)z³
    pygments.lexers
    ~~~~~~~~~~~~~~~
 
    Pygments lexers.
 
    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
éN)Úbasename)ÚLEXERS)Úget_filetype_from_buffer)Úfind_plugin_lexers)Ú ClassNotFoundÚ guess_decodeÚ PythonLexerÚPythonTracebackLexerÚ
Lean3Lexer)Ú Python3LexerÚPython3TracebackLexerÚ    LeanLexer)Úget_lexer_by_nameÚget_lexer_for_filenameÚfind_lexer_classÚ guess_lexerÚload_lexer_from_filecóƗ|tvrBtjtj|««x}t|<|j |«St|j |«S)zBReturn whether the supplied file name fn matches pattern filename.)Ú_pattern_cacheÚreÚcompileÚfnmatchÚ    translateÚmatch)ÚfnÚglobÚpatterns   úWH:\Change_password\venv_build\Lib\site-packages\pip/_vendor/pygments/lexers/__init__.pyÚ _fn_matchesr#sR€à ”>Ñ!Ü)+¯©´G×4EÑ4EÀdÓ4KÓ)LÐLˆ”. Ñ&؏}‰}˜RÓ Ð Ü ˜$Ñ × %Ñ % bÓ )Ð)ócó‚—t|dddg«}|jD]!}t||«}|t|j<Œ#y)z0Load a lexer (and all others in the module too).NÚ__all__)Ú
__import__r"ÚgetattrÚ _lexer_cacheÚname)Ú module_nameÚmodÚ
lexer_nameÚclss    rÚ _load_lexersr++sA€ä
[ $¨¨y¨kÓ
:€CØ—k‘kò%ˆ
ܐc˜:Ó&ˆØ!$Œ S—X‘XÒñ%r c#óÐK—tj«D]    }|dd–—Œ |r@t«D]2}|j|j|j
|j f–—Œ4yy­w)aReturn a generator of tuples in the form ``(name, aliases,
    filenames, mimetypes)`` of all know lexers.
 
    If *plugins* is true (the default), plugin lexers supplied by entrypoints
    are also returned.  Otherwise, only builtin ones are considered.
    éN)rÚvaluesrr&ÚaliasesÚ    filenamesÚ    mimetypes)ÚpluginsÚitemÚlexers   rÚget_all_lexersr53scèø€ô— ‘ “òˆØ12ˆh‹ðáÜ'Ó)ò    NˆEØ—*‘*˜eŸm™m¨U¯_©_¸e¿o¹oÐMÓ Mñ    Nðùs‚A$A&cóޗ|tvr    t|Stj«D]#\}}}}}||k(sŒt|«t|cSt    «D]}|j
|k(sŒ|cSy)zi
    Return the `Lexer` subclass that with the *name* attribute as given by
    the *name* argument.
    N)r%rr.r+rr&)r&r'Úlnamer/Ú_r*s      rrrAsv€ð
 Œ|ÑܘDÑ!Ð!ä-3¯]©]«_ò&Ñ)ˆ U˜G Q¨Ø 5‹=Ü ˜Ô %Ü Ñ%Ò %ð&ô
"Ó#òˆØ 8‰8tÓ ØŠJñr có>—|std|›d«‚tj«D]8\}}}}}|j«|vsŒ|tvr t |«t|cSt «D]"}|j«|jvsŒ |cStd|›d«‚)a$
    Return the `Lexer` subclass that has `alias` in its aliases list, without
    instantiating it.
 
    Like `get_lexer_by_name`, but does not instantiate the class.
 
    Will raise :exc:`pygments.util.ClassNotFound` if no lexer with that alias is
    found.
 
    .. versionadded:: 2.2
    úno lexer for alias ú found©rrr.Úlowerr%r+rr/)Ú_aliasr'r&r/r8r*s      rÚfind_lexer_class_by_namer?Ss§€ñ ÜÐ1°&°¸6ÐBÓCÐCä,2¯M©M«Oò&Ñ(ˆ T˜7 A qØ <‰<‹>˜WÒ $Øœ<Ñ'ܘ[Ô)Ü Ñ%Ò %ð    &ô "Ó#òˆØ <‰<‹>˜SŸ[™[Ò (ØŠJðô Ð-¨f¨Z°vÐ>Ó
?Ð?r c óT—|std|›d«‚tj«D]=\}}}}}|j«|vsŒ|tvr t |«t    |di|¤ŽcSt «D](}|j«|jvsŒ |di|¤ŽcStd|›d«‚)zô
    Return an instance of a `Lexer` subclass that has `alias` in its
    aliases list. The lexer is given the `options` at its
    instantiation.
 
    Will raise :exc:`pygments.util.ClassNotFound` if no lexer with that alias is
    found.
    r:r;©r<)r>Úoptionsr'r&r/r8r*s       rrrns¸€ñ ÜÐ1°&°¸6ÐBÓCÐCô-3¯M©M«Oò1Ñ(ˆ T˜7 A qØ <‰<‹>˜WÒ $Øœ<Ñ'ܘ[Ô)Ü Ñ%Ñ0¨Ñ0Ò 0ð    1ô "Ó#ò"ˆØ <‰<‹>˜SŸ[™[Ò (Ù‘>˜‘>Ò !ð"ô Ð-¨f¨Z°vÐ>Ó
?Ð?r c óL—    i}t|d«5}t|j«|«ddd«||vrtd|›d|›«‚||}|di|¤ŽS#1swYŒ+xYw#t$r}td|›d|›«‚d}~wt$r‚t
$r}td|›«‚d}~wwxYw)    aLoad a lexer from a file.
 
    This method expects a file located relative to the current working
    directory, which contains a Lexer class. By default, it expects the
    Lexer to be name CustomLexer; you can specify your own class name
    as the second argument to this function.
 
    Users should be very careful with the input, because this method
    is equivalent to running eval on the input file.
 
    Raises ClassNotFound if there are any problems importing the Lexer.
 
    .. versionadded:: 2.2
    ÚrbNz    no valid z class found in z cannot read z: z!error when loading custom lexer: rA)ÚopenÚexecÚreadrÚOSErrorÚ    Exception)ÚfilenameÚ    lexernamerBÚcustom_namespaceÚfÚ lexer_classÚerrs       rrr‡s΀ðGàÐÜ (˜DÓ !ð    - QÜ —‘“Ð+Ô ,÷    -ð Ð,Ñ ,Ü )¨I¨;Ð6FÀxÀjРQÓRÐ RØ& yÑ1ˆ áÑ%˜WÑ%Ð%÷    -ð    -ûô ò>ܘl¨8¨*°B°s°eÐ<Ó=Ð=ûÜ òØ Ü òGÜÐ?À¸uÐEÓFÐFûðGús9‚A!A«)A!ÁAÁA!Á!    B#Á*A;Á;B#ÂBÂB#c󨇗g}t|«}tj«D]I\}}}}}|D]<}t||«sŒ|tvr t |«|j t||f«Œ>ŒKt«D]3}    |    jD]"}t||«sŒ|j |    |f«Œ$Œ5t‰t«r t‰«Šˆfd„}
|r|j|
¬«|ddSy)z¼Get a lexer for a filename.
 
    If multiple lexers match the filename pattern, use ``analyse_text()`` to
    figure out which one is more appropriate.
 
    Returns None if not found.
    có •—|\}}d|vxrdxsd}‰r |j‰«|z|jfS|j|z|jfS)NÚ*gà?r)Ú analyse_textÚ__name__Úpriority)Úinfor*rJÚbonusÚcodes    €rÚ
get_ratingz1find_lexer_class_for_filename.<locals>.get_ratingÂs\ø€Ø‰ ˆˆXà˜8Ð#Ò+¨Ò0¨qˆñ
Ø×#Ñ# DÓ)¨EÑ1°3·<±<Ð?Ð ?؏|‰|˜eÑ# S§\¡\Ð1Ð1r ©ÚkeyéÿÿÿÿrN) rrr.rr%r+Úappendrr0Ú
isinstanceÚbytesrÚsort) Ú_fnrXÚmatchesrÚmodnamer&r8r0rJr*rYs  `         rÚfind_lexer_class_for_filenamerd©sôø€ð€GÜ    #‹€BÜ*0¯-©-«/ò?Ñ&ˆq˜) QØ!ò    ?ˆHܘ2˜xÕ(Øœ|Ñ+Ü  Ô)Ø—‘¤ ¨TÑ 2°HÐ=Õ>ñ        ?ð?ô "Ó#ò0ˆØŸ ™ ò    0ˆHܘ2˜xÕ(Ø—‘  X˜Õ/ñ    0ð0ô
$œÔä˜DÓ!ˆô
2ñ؏ ‰ ˜ˆ Ô$àr‰{˜1‰~Ððr c óL—t||«}|std|›d«‚|di|¤ŽS)a–Get a lexer for a filename.
 
    Return a `Lexer` subclass instance that has a filename pattern
    matching `fn`. The lexer is given the `options` at its
    instantiation.
 
    Raise :exc:`pygments.util.ClassNotFound` if no lexer for that filename
    is found.
 
    If multiple lexers match the filename pattern, use their ``analyse_text()``
    methods to figure out which one is more appropriate.
    úno lexer for filename r;rA)rdr)rarXrBÚress    rrrÔs4€ô (¨¨TÓ
2€CÙ ÜÐ4°S°G¸6ÐBÓCÐCÙ ‰>‰>Ðr c óú—tj«D]/\}}}}}||vsŒ|tvr t|«t|di|¤ŽcSt    «D]}||j
vsŒ|di|¤ŽcSt d|›d«‚)zí
    Return a `Lexer` subclass instance that has `mime` in its mimetype
    list. The lexer is given the `options` at its instantiation.
 
    Will raise :exc:`pygments.util.ClassNotFound` if not lexer for that mimetype
    is found.
    zno lexer for mimetype r;rA)rr.r%r+rr1r)Ú_mimerBrcr&r8r1r*s       rÚget_lexer_for_mimetyperjçs’€ô+1¯-©-«/ò1Ñ&ˆq˜!˜YØ IÒ Øœ<Ñ'ܘWÔ%Ü Ñ%Ñ0¨Ñ0Ò 0ð    1ô
"Ó#ò"ˆØ C—M‘MÒ !Ù‘>˜‘>Ò !ð"ô Ð0°°    ¸Ð@Ó
AÐAr c#ó¼K—tt«D]/}t|dd\}}|tvr t|«t|–—Œ1|rt    «Ed{–—†yy7Œ­w)z*Return an iterator over all lexer classes.Né)Úsortedrr%r+r)r2r[r'r&s    rÚ_iter_lexerclassesrnúsaèø€ä”f‹~ò!ˆÜ" 3™K¨¨˜Oш TØ ”|Ñ #Ü ˜Ô %ܘ4Ñ Ó ð    !ñ
Ü%Ó'×'Ñ'ðØ'ús‚AAÁAÁAc óL‡
—t|«}iŠ
t«}t«D]j}|jD]%}t    ||«sŒ|j |«d‰
|<Œ'|j D]%}t    ||«sŒ|j |«d‰
|<Œ'Œl|std|›d«‚t|«dk(r|j«d
i|¤ŽSg}|D]5}|j|«}|dk(r
|d
i|¤ŽcS|j||f«Œ7ˆ
fd„}    |j|    ¬«|d    dd
i|¤ŽS) a
 
    As :func:`guess_lexer()`, but only lexers which have a pattern in `filenames`
    or `alias_filenames` that matches `filename` are taken into consideration.
 
    :exc:`pygments.util.ClassNotFound` is raised if no lexer thinks it can
    handle the content.
    TFrfr;r-çð?cóV•—|d‰|d|dj|djfS©Nrr-)rUrT)ÚtÚprimarys €rÚ    type_sortz+guess_lexer_for_filename.<locals>.type_sort$s0ø€ð !‘g˜a ™d‘m Q q¡T§]¡]°A°a±D·M±MÐBÐBr rZr\rA) rÚsetrnr0rÚaddÚalias_filenamesrÚlenÚpoprSr]r`) raÚ_textrBrÚmatching_lexersr4rJÚresultÚrvrurts           @rÚguess_lexer_for_filenamersOø€ô
#‹€BØ€GÜ“e€OÜ#Ó%ò'ˆØŸ™ò    &ˆHܘ2˜xÕ(Ø×#Ñ# EÔ*Ø!%˜’ð    &ð×-Ñ-ò    'ˆHܘ2˜xÕ(Ø×#Ñ# EÔ*Ø!&˜’ñ    'ð 'ñ ÜÐ4°R°F¸&ÐAÓBÐBÜ
ˆ?Ó˜qÒ Ø$ˆ×"Ñ"Ó$Ñ/ wÑ/Ð/Ø €FØ ò#ˆØ × Ñ  Ó &ˆØ Š9ÙÑ#˜7Ñ#Ò #؏ ‰ r˜5kÕ"ð    #ô Cð ‡KKI€KÔà ˆ6"‰:a‰=Ñ #˜7Ñ #Ð#r c óÈ—t|t«sG|jd|jd««}|r|j|xsd«}nt    |«\}}t |«}|     t |fi|¤ŽSddg}t«D]2}|j|«}|dk(r
|d
i|¤ŽcS||dkDsŒ,||f|ddŒ4|dr|d€ td    «‚|dd
i|¤ŽS#t$rYŒnwxYw) aƒ
    Return a `Lexer` subclass instance that's guessed from the text in
    `text`. For that, the :meth:`.analyse_text()` method of every known lexer
    class is called with the text as argument, and the lexer which returned the
    highest value will be instantiated and returned.
 
    :exc:`pygments.util.ClassNotFound` is raised if no lexer thinks it can
    handle the content.
    Ú
inencodingÚencodingÚutf8Ngrprr-z no lexer matching the text foundrA)
r^ÚstrÚgetÚdecoderrrrrnrS)r{rBrr8ÚftÚ
best_lexerr4r~s        rrr0s€ô eœSÔ !Ø—[‘[ ¨w¯{©{¸:Ó/FÓGˆ
Ù Ø—L‘L Ò!5¨vÓ6‰Eä# EÓ*‰HˆE1ô
" %Ó    (€Bà    €~ð    Ü$ RÑ3¨7Ñ3Ð 3ðt€JÜ#Ó%ò(ˆØ × Ñ  Ó &ˆØ Š9ÙÑ#˜7Ñ#Ò #Ø 
˜1‘ Ó Ø ˜KˆJ‘q‰Mð (ð aŠ=˜J q™MÐ1ÜÐ>Ó?Ð?Ø ˆ:a‰=Ñ #˜7Ñ #Ð#øôò    Ù ð    úsÁ& Cà   C!àC!có—eZdZdZd„Zy)Ú _automodulezAutomatically import lexers.cóΗtj|«}|r)t|d«t|d}t    |||«|S|t
vrt |t
|«St|«‚rr)rr…r+r%ÚsetattrÚCOMPATr$ÚAttributeError)Úselfr&rVr*s    rÚ __getattr__z_automodule.__getattr__Zsa€Üz‰z˜$ÓˆÙ Ü ˜˜a™Ô !ܘt A™wÑ'ˆCÜ D˜$ Ô $؈JØ ”6‰>ܘ4¤¨¡Ó.Ð .ܘTÓ"Ð"r N)rTÚ
__module__Ú __qualname__Ú__doc__rrAr rrŠrŠWs
„Ù&ó    #r rŠ)T)Ú CustomLexer)N)*r“rÚsysÚtypesrÚos.pathrÚ$pip._vendor.pygments.lexers._mappingrÚpip._vendor.pygments.modelinerÚpip._vendor.pygments.pluginrÚpip._vendor.pygments.utilrrrÚlistr"r%rrr+r5rr?rrrdrrjrnrrÚ
ModuleTyperŠÚmodulesrTÚoldmodÚnewmodÚ__dict__ÚupdaterAr rú<module>r£sðñó
Û
Û ÛÝå7ÝBÝ:ßAð"Ø3Øñ
€ò  2Ù48¸³Lñ AÙCGÈÃ<ñ P€ð€ Ø€ò*ò%ó Nòò$@ò6@ó2GóD(óVò&Bó&(ò($òV$$ôN #%×"Ñ"ô #ð
‰XÑ    €Ù    XÓ    €Ø‡×ѐv—‘Ô'Ø€‡  ˆHÑØ
€M6= & *¨f©lr