+
    VBiP,                       R t ^ RIHt Rt^ RIt^ RIt^ RIt^ RIHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHtHt  ! R R	]4      t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]P*                  4      tRtRR ltR# )z
Transforms for PEP processing.

- `Headers`: Used to transform a PEP's initial RFC-2822 header.  It remains a
  field list, but some entries get processed.
- `Contents`: Auto-inserts a table of contents.
- `PEPZero`: Special processing for PEP 0.
)annotationsreStructuredTextN)nodesutils	languages)	DataError)	Transform)parts
referencesmiscc                      ] tR t^tRtRtRtRt]P                  ! R]P                  4      R3]P                  ! R4      R33tR tR	tR
# )Headersz4
Process fields in a PEP's initial RFC-2822 header.
ih  zpep-%04dz3http://hg.python.org/peps/file/default/pep-%04d.txtz\$RCSfile: (.+),v \$$z\1z\$[a-zA-Z]+: (.+) \$$c                	   \        V P                  4      '       g   \        R 4      hV P                  ^ ,          p\        V\        P
                  4      '       d   RVR,          9  d   \        R4      hRpV Fe  pV^ ,          P                  4       P                  4       R8X  g   K/  V^,          P                  4       p \        V4      pV P                  V,          p M	  Vf   \        R4      hV^ 8X  dR   \        P"                  ! \$        4      p
V P                  P'                  ^V
4       V P                  P)                  V
4       \        V4      ^8  g2   V^,          ^ ,          P                  4       P                  4       R8w  d   \        R4      hV EF  pV^ ,          P                  4       P                  4       pV^,          p\        V4      ^8  d#   \        RVP+                  ^R7      ,          4      h\        V4      ^8X  dK   \        V^ ,          \        P                   4      '       g#   \        RVP+                  ^R7      ,          4      hMVR8X  d    \,        P.                  ! R\,        P0                  ! \2        P4                  ! V P                  R,          4      ^,          4      4      pX'       d6   V\        P                   ! RR\        P8                  ! RWR7      4      ,          pMEK^  V^ ,          pVR8X  dI   V F?  p\        V\        P8                  4      '       g   K%  VP;                  \=        V4      4       KA  	  EK  VR8X  dI   V F?  p\        V\        P8                  4      '       g   K%  VP;                  \=        W4      4       KA  	  EK  VR9   d   . p\        P>                  ! R4      p\@        PB                  ! RVP                  4       4       Fn  p\        V4      pVPE                  \        P8                  ! VVV P                  PF                  PH                  V PJ                  V,          ,           R7      V34       Kp  	  VRR VR
&   EK  VR8X  d[   \L        PN                  ! WPP                  4       X'       d0   VP                  4       p\        P8                  ! RWR7      .VR
&   EK$  EK'  VR8X  di   VP                  4       pV P                  PF                  PH                  V PJ                  ^,          ,           p\        P8                  ! RVVR7      .VR
&   EK  VR8X  g   EK  \        V4      '       g   EK  \L        PN                  ! WPP                  4       EK  	  R#   \         d    TpRpT P                  P                  P                  RT,          TR7      pT P                  P                  T4      p\        P                  ! YD;'       g    RTR	7      pT P                  P                  T4      p	TP                  T	4       \        T^,          4      '       d   T.T^,          ^ ,          R
&    ELiT^;;,          \        P                   ! RRT4      ,          uu&    ELi ; i  \6         d    Rp ELi ; i)zDocument tree is empty.rfc2822classeszADocument does not begin with an RFC-2822 header; it is not a PEP.Npepz?"PEP" header must contain an integer; "%s" is an invalid value.)	base_nodez(none))refidNNN z3Document does not contain an RFC-2822 "PEP" header.titlez	No title!z4PEP header field body contains multiple elements:
%s)levelz=PEP header field body may only contain a single paragraph:
%szlast-modifiedz%d-%b-%Ysourceunknownrefuriauthorzdiscussions-to z,?\s+zcontent-typeversion)replaceszreplaced-byrequires))lendocumentr   
isinstancer   
field_listastextlowerintpep_cvs_url
ValueErrorreporterwarningset_idproblematicadd_backref	paragraphpendingPEPZeroinsertnote_pendingpformattimestrftime	localtimeosstatOSError	referencereplace_self
mask_emailTextresplitextendsettingspep_base_urlpep_urlr   clean_rcs_keywordsrcs_keyword_substitutions)selfheaderr   fieldvaluecvs_urlmsgmsgidprbprbidr1   namebodydateparanodenewbodyspacerefpeppepnopep_typeuris   &                     =/usr/lib/python3.14/site-packages/docutils/transforms/peps.pyapplyHeaders.apply,   s+   4==!!566q!65#3#344y 11 7 8 8EQx &&(E1a)Ae*C"..4G  + , ; & ' '!8mmG,GMM  G,MM&&w/v;?fQil11399;wFK((E8??$**,D8D4y1} !027--a-2H!I J JTa!$q'5??;;# %>&+mm!m&<%= > > < (%=="rwwt}}X/F'G'JKMD
 EOOBD IK KD 7Dx D!$88))*T*:; ! )) D!$88))*T*?@ ! @@

3 hhx?FKENN"F$(MM$:$:$G$G&*llU&:%;
 $  @ "#2,Q(((/M/MN;;=D$r4HIDG  ';;=mm,,99DLL2<MM ??2xDEQ"s4yy((/M/MNs 5 " AC"G--0088)+./:? 9 AC !MM005E++E3D3DH279C MM005EOOE*58}}*-aAaEOOBC$@@AT  %$D%s3   >U0AY70A0Y4!A!Y4+Y43Y47ZZ N)__name__
__module____qualname____firstlineno____doc__default_priorityrE   r)   r@   compile
IGNORECASErG   r]   __static_attributes__r_       r\   r   r      s\     G5K 
0MM
#$)	+	,	-u5!cOri   r   c                  *    ] tR t^tRtRtR R ltRtR# )Contentszr
Insert an empty table of contents topic and a transform placeholder into
the document after the RFC 2822 header.
i|  c                   V ^8  d   QhRR/#    returnNoner_   )formats   "r\   __annotate__Contents.__annotate__   s     , ,t ,ri   c                	   \         P                  ! V P                  P                  P                  V P                  P
                  4      pVP                  R ,          p\        P                  ! RV4      p\        P                  ! RVR .R7      p\        P                  ! V4      pV P                  P                  V4      '       g   VR,          P                  V4       V P                  P                  V4       \        P                  ! \        P                   4      pWE,          pV P                  P#                  ^V4       V P                  P%                  V4       R# )contentsr   )r   namesN)r   get_languager#   rC   language_coder+   labelsr   r   topicfully_normalize_namehas_nameappendnote_implicit_targetr1   r	   rk   r3   r4   )rH   languagerQ   r   rz   r1   s   &     r\   r]   Contents.apply   s    ))$--*@*@*N*N*.--*@*@Bz*B%B
|<))$/}}%%d++'N!!$'**51--/Q&""7+ri   r_   Nr`   ra   rb   rc   rd   re   r]   rh   r_   ri   r\   rk   rk      s    
 , ,ri   rk   c                  6    ] tR t^tRtRtR R ltR R ltRtR# )	TargetNotesz
Locate the "References" section, insert a placeholder for an external
target footnote insertion transform at the end, and schedule the
transform to run immediately.
i  c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   TargetNotes.__annotate__   s     / /t /ri   c                	   V P                   p\        V4      ^,
          pR;r4V^ 8  d   \        W,          \        P                  4      '       d^   W,          ^ ,          P                  4       P                  4       P                  4       pRV9   d
   W,          pMRV9   d   TpV^,          pK  V'       gp   \        P                  ! 4       pV\        P                  ! RR4      ,          pVP                  V4       V'       d   VP                  WC4       MVP                  V4       \        P                  ! \        P                  4      pVP                  V4       V P                   P                  V^ 4       \        P                  ! \         P"                  RV P$                  /R7      pVP                  V4       V P                   P                  V^4       R# )   Nr
   	copyrightr   
Referencescallback)details)r#   r"   r$   r   sectionr&   r'   rA   r   r-   r3   r}   r1   r
   r   r4   r   CallBackcleanup_callback)rH   docirefsect
copyright_title_wordsr1   s   &      r\   r]   TargetNotes.apply   sJ   mmHqL##1fCFEMM::&)**,224::<K{*&+
FAmmoGu{{2|44GJJw

:/ 

7#--
 6 67w""7A.--)3T5J5J(KMw""7A.ri   c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   r      s     9 94 9ri   c                    \        VP                  4      ^8X  d2   VP                  P                  P                  VP                  4       R# R# )zi
Remove an empty "References" section.

Called after the `references.TargetNotes` transform is complete.
N)r"   parentremove)rH   r1   s   &&r\   r   TargetNotes.cleanup_callback   s6     w~~!#NN!!((8 $ri   r_   N)	r`   ra   rb   rc   rd   re   r]   r   rh   r_   ri   r\   r   r      s     /<9 9ri   r   c                  *    ] tR t^tRtRtR R ltRtR# )r2   z
Special processing for PEP 0.
i  c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   PEPZero.__annotate__   s     5 5t 5ri   c                	    \        V P                  4      pV P                  P                  V4       V P                  P                  P                  V P                  4       R # N)PEPZeroSpecialr#   walk	startnoder   r   )rH   visitors   & r\   r]   PEPZero.apply   s>     /7#$$T^^4ri   r_   Nr   r_   ri   r\   r2   r2      s     5 5ri   r2   c                      ] tR t^tRt]P                  tR R ltR R ltR t	R R lt
R	 R
 ltR R ltR R ltRtR# )r   z
Perform the special processing needed by PEP 0:

- Mask email addresses.

- Link PEP numbers in the second column of 4-column tables to the PEPs
  themselves.
c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   PEPZeroSpecial.__annotate__   s      T ri   c                	    R # r   r_   rH   rU   s   &&r\   unknown_visitPEPZeroSpecial.unknown_visit   s    ri   c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   r      s     , ,t ,ri   c                	:    VP                  \        V4      4       R # r   )r=   r>   r   s   &&r\   visit_referencePEPZeroSpecial.visit_reference   s    *T*+ri   c                	B    R VR,          9   d   \         P                  hR# )r   r   N)r   SkipNoder   s   &&r\   visit_field_listPEPZeroSpecial.visit_field_list   s    Y'..  (ri   c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   r     s      D ri   c                	6    VR ,          ^8H  V n         ^ V n        R# )colsN)	pep_tableentryr   s   &&r\   visit_tgroupPEPZeroSpecial.visit_tgroup  s    f*
ri   c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   r     s     * *T *ri   c                	    V ;P                   ^,          un         V P                  '       d.   V P                   ^8X  d   VR,          P                  R4       R# R# R# )r   r   numN)r   r   r}   r   s   &&r\   visit_colspecPEPZeroSpecial.visit_colspec  s;    

a
>>>djjAoO""5) .>ri   c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   r     s       ri   c                	    ^ V n         R# )    N)r   r   s   &&r\   	visit_rowPEPZeroSpecial.visit_row  s	    
ri   c                   V ^8  d   QhRR/# rm   r_   )rq   s   "r\   rr   r     s      4 ri   c                	V   V ;P                   ^,          un         V P                  '       d   V P                   ^8X  d   \        V4      ^8X  d   VR,          P                  R4       V^ ,          p\	        V\
        P                  4      '       d   \        V4      ^8X  dr   VP                  4       p \        V4      pV P                  P                  P                  V P                  V,          ,           p\
        P                  ! W3VR7      V^ &   R# R# R# R# R# R#   \         d     R# i ; i)r   r   r   r   N)r   r   r"   r}   r$   r   r0   r&   r(   r#   rC   rD   rE   r<   r*   )rH   rU   ptextr   refs   &&    r\   visit_entryPEPZeroSpecial.visit_entry  s    

a
>>>djjAo#d)q.O""5)QA!U__--#a&A+xxzd)C==11>>!\\C/0C ??4cBAaD 3>- 3Ao> " s   /AD D('D()r   r   N)r`   ra   rb   rc   rd   r   rE   r   r   r   r   r   r   r   rh   r_   ri   r\   r   r      s:     ooG,!*
 ri   r   c                |   V P                  R4      '       d   V R,          P                  R4      '       d   V R,          R,          \        9   d   V ^ ,          pM9V P                  4       P	                  RR4      p\
        P                  ! RVRR7      pVf   V# V R;;,          R	V,          ,          uu&   V.V R
&   V # V # )a  
Mask the email address in `ref` and return a replacement node.

`ref` is returned unchanged if it contains no email address.

For email addresses such as "user@host", mask the address as "user at
host" (text) to thwart simple email address harvesters (except for those
listed in `non_masked_addresses`).  If a PEP number (`pepno`) is given,
return a reference including a default email subject.
r   zmailto::   NN@z&#32;&#97;t&#32;r   html)rq   z?subject=PEP%%20%sr   )hasattr
startswithnon_masked_addressesr&   replacer   raw)r   rY   replacementreplacement_texts   &&  r\   r>   r>   #  s     {{8X!9!9)!D!Dx= 44a&K"zz|33C9KL))B(8HK=M1E99M!]CFJ
ri   )zpeps@python.orgzpython-list@python.orgzpython-dev@python.orgr   )rd   
__future__r   __docformat__r9   r@   r6   docutilsr   r   r   r   docutils.transformsr   r	   r
   r   r   rk   r   r2   SparseNodeVisitorr   r   r>   r_   ri   r\   <module>r      s   
 #" 	 	  , ,  ) 7 7tOi tOn,y ,2/9) /9d5i 50U,, 0f1 
ri   