
    -hhv)                     4   S SK r S SKrS SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  / SQr\ R                   " S5      r\ " S	 S
\5      5       r\" 5       r\?\R+                  SS9r\R+                  SS9r\R+                  SSS9r\R+                  SS9rg)    N)PolicyCompat32compat32_extend_docstrings)_has_surrogates)HeaderRegistry)raw_data_manager)EmailMessage)r   r   r   EmailPolicydefaultstrictSMTPHTTPz\n|\r\n?c                   t   ^  \ rS rSr\rSrSr\" 5       r	\
rU 4S jrS rS rS rS rS	 rS
 rSS jrSrU =r$ )r      Flongc                 p   > SU;  a  [         R                  U S[        5       5        [        TU ]  " S0 UD6  g )Nheader_factory )object__setattr__r   super__init__)selfkw	__class__s     5/opt/python-3.13.8/usr/lib/python3.13/email/policy.pyr   EmailPolicy.__init__]   s3     2%t%5~7GH2    c                 4    U R                   U   R                  $ N)r   	max_count)r   names     r   header_max_countEmailPolicy.header_max_countd   s     ""4(222r   c                     US   R                  SS5      u  p#SR                  U/USS  Q75      R                  S5      nX#R                  S5      4$ )Nr   :    z 	

)splitjoinlstriprstrip)r   sourcelinesr#   values       r   header_source_parseEmailPolicy.header_source_parsev   sU     "!n**321QR1299)Dll6*++r   c                     [        US5      (       a/  UR                  R                  5       UR                  5       :X  a  X4$ [        U[        5      (       a(  [        UR                  5       5      S:  a  [        S5      eXR                  X5      4$ )Nr#   r(   zDHeader values may not contain linefeed or carriage return characters)	hasattrr#   lower
isinstancestrlen
splitlines
ValueErrorr   r   r#   r0   s      r   header_store_parseEmailPolicy.header_store_parse   s}     5&!!ejj&6&6&8DJJL&H= eS!!c%*:*:*<&=a&?  = > >))$677r   c                     [        US5      (       a  U$ SR                  [        R                  U5      5      nU R	                  X5      $ )Nr#   r)   )r4   r,   linesep_splitterr+   r   r;   s      r   header_fetch_parseEmailPolicy.header_fetch_parse   sA     5&!!L(..u56""4//r   c                 "    U R                  XSS9$ )NTrefold_binary)_foldr;   s      r   foldEmailPolicy.fold   s    & zz$Tz::r   c                     U R                  XU R                  S:H  S9nU R                  (       a  SOSnUR                  US5      $ )N7bitrC   utf8asciisurrogateescape)rE   cte_typerJ   encode)r   r#   r0   foldedcharsets        r   fold_binaryEmailPolicy.fold_binary   s>     Dt}}f7LM II&7}}W&788r   c                   ^ [        US5      (       a  UR                  U S9$ U R                  (       a  U R                  O[        R                  m[
        R                  U5      nU R                  S:H  =(       d^    U R                  S:H  =(       aH    U=(       a     [        US   5      [        U5      -   S-   T:  =(       d    [        U4S jUSS   5       5      nU(       d9  U R                  (       d  UR                  5       (       + nOU(       a  [        U5      nU(       a.  U R                  US	R                  U5      5      R                  U S9$ US
-   U R                  R                  U5      -   U R                  -   $ )Nr#   )policyallr   r      c              3   @   >#    U  H  n[        U5      T:  v   M     g 7fr!   )r8   ).0xmaxlens     r   	<genexpr>$EmailPolicy._fold.<locals>.<genexpr>   s     <)QQ&)s   r(   r)   z: )r4   rF   max_line_lengthsysmaxsizer?   r+   refold_sourcer8   anyrJ   isasciir   r   r,   linesep)r   r#   r0   rD   linesrefoldrZ   s         @r   rE   EmailPolicy._fold   s+   5&!!::T:**)-)=)=%%3;; &&u-$$- >$$. >As58}SY6q86A =<%)<< 	
 99"]]_,(/&&tRWWU^<AAANNd{T\\..u55DDr   r   )F)__name__
__module____qualname____firstlineno__r
   message_factoryrJ   r`   r   r   r	   content_managerr   r$   r1   r<   r@   rF   rQ   rE   __static_attributes____classcell__)r   s   @r   r   r      sQ    z #ODM#%N&O3$,8&0;*9$E Er   r   T)raise_on_defectr*   )rc   )rc   r]   )rJ   )rer^   email._policybaser   r   r   r   email.utilsr   email.headerregistryr   email.contentmanagerr	   email.messager
   __all__compiler?   r   r   r   cloner   r   r   SMTPUTF8r   r   r   <module>rz      s   
 
 
 L L ' A 1 &	 ::k* DE& DE DEN -	t	,}}V}$}}VT}:::4: r   