+
    &h2                     H    R t ^ RIt^ RItRt ! R R]P                  4      tR# )zUseful utilities for working with the `mbox`_-formatted
mailboxes. Credit to Mark Williams for these.

.. _mbox: https://en.wikipedia.org/wiki/Mbox
Nc                   4   a  ] tR t^,t o RtRR ltR tRtV tR# )mbox_readonlydira  A subclass of :class:`mailbox.mbox` suitable for use with mboxs
insides a read-only mail directory, e.g., ``/var/mail``. Otherwise
the API is exactly the same as the built-in mbox.

Deletes messages via truncation, in the manner of `Heirloom mailx`_.

Args:
    path (str): Path to the mbox file.
    factory (type): Message type (defaults to :class:`rfc822.Message`)
    create (bool): Create mailbox if it does not exist. (defaults
                   to ``True``)
    maxmem (int): Specifies, in bytes, the largest sized mailbox
                  to attempt to copy into memory. Larger mailboxes
                  will be copied incrementally which is more
                  hazardous. (defaults to 4MB)

.. note::

   Because this truncates and rewrites parts of the mbox file,
   this class can corrupt your mailbox.  Only use this if you know
   the built-in :class:`mailbox.mbox` does not work for your use
   case.

.. _Heirloom mailx: http://heirloom.sourceforge.net/mailx.html
Nc                R    \         P                  P                  WW#4       W@n        R # )N)mailboxmbox__init__maxmem)selfpathfactorycreater   s   &&&&&1lib/python3.14/site-packages/boltons/mboxutils.pyr   mbox_readonlydir.__init__F   s    d':    c                   V P                   '       g<   V P                  '       d(   \        P                  ! V P                  4       RV n        R# V P
                  f   Q hV P                  P                  ^ ^4       V P                  P                  4       pWP                  8w  d*   \        P                  ! RV P                  V3,          4      hV P                  P                  ^ 4       \        P                  ! 4       ;_uu_ 4       p/ pV P                  V4       \        V P
                  P                  4       4       F  pV P
                  V,          w  rVV P                  P                  V4       V P                  V4       VP                  4       p V P                  P!                  \#        RW`P                  P                  4       ,
          4      4      pVR8X  d   MVP%                  V4       K_  WrP                  4       3W4&   V P'                  V4       K  	  VP                  4       V n        V P                  P                  ^ 4       VP                  ^ 4       V P                  V P(                  8:  d+   V P                  P%                  VP!                  4       4       M8 VP!                  R4      pV'       g   MV P                  P%                  V4       K8  V P                  P+                  4        RRR4       XV n        RV n         RV n        V P,                  '       d%   \        P.                  ! V P                  RR7       R# R#   + '       g   i     L]; i)zWrite any pending changes to disk. This is called on mailbox
close and is usually not called explicitly.

.. note::

   This deletes messages via truncation. Interruptions may
   corrupt your mailbox.
FNz4Size of mailbox file changed (expected %i, found %i)i    )dotlock)_pending_pending_syncr   _sync_flush_file_tocseektell_file_lengthExternalClashErrortempfileTemporaryFile_pre_mailbox_hooksortedkeys_pre_message_hookreadminwrite_post_message_hookr   truncate_locked
_lock_file)	r	   cur_lennew_filenew_tockeystartstop	new_startbuffers	   &        r   flushmbox_readonlydir.flushJ   sv    }}}!!! ##DJJ/%*"
 yy$$$ 	

1**//#''',, .G.2.?.?-I.J K K 	

 ##%%G""8,diinn./"iin

&&&x0$MMO	!ZZ__S15

8I1I.K LF|NN6* )==?;''1 0 !)DJJOOAMM!   DKK/

  1%]]40F!JJ$$V, JJ!A &F 	"<<<tzz59 M &%s   F1M78MM	)r   r   r   r   r   )NTi   )	__name__
__module____qualname____firstlineno____doc__r   r1   __static_attributes____classdictcell__)__classdict__s   @r   r   r   ,   s     2L: L:r   r   i  @ )r7   r   r   DEFAULT_MAXMEMr   r    r   r   <module>r=      s+   >   !j:w|| j:r   