sig   module Decoder :     sig       val is_hex : char -> bool       val hex : char Parser.t       val decode : unit Parser.t -> unit Parser.t -> string Parser.t       val inline : unit -> string Parser.t     end   module Encoder :     sig       val w_inline_encode :         string ->         ([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)         Encoder.partial Encoder.k0       val w_encode :         string ->         ([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)         Encoder.partial Encoder.k0     end   module Input :     sig       type nonrec 'a t =         'RingBuffer.Committed.t = {         mutable contents : 'RingBuffer.t;         mutable mark : int option;       }       type mark = Weak of int | Uniq of int       val pp_with_mark : Format.formatter -> int * int * 'a t -> unit       val pp : Format.formatter -> 'a t -> unit       val copy : 'a t -> int -> 'RingBuffer.t       val prepare : 'a t -> int -> 'RingBuffer.t       val equal : mark -> mark -> bool       val mark : 'a t -> mark       val unmark : mark -> 'a t -> unit       val forget : mark -> 'a t -> unit       val write : 'a t -> 'Internal_buffer.t -> int -> int -> unit       val write_string : 'a t -> string -> int -> int -> unit       val create_bytes : int -> Internal_buffer.st t       val create_bigstring : int -> Internal_buffer.bs t       val create_by : proof:'Internal_buffer.t -> int -> 'a t       val size : 'a t -> int       val peek : 'a t -> 'Internal_buffer.t -> int -> int -> unit       val read : 'a t -> 'Internal_buffer.t -> int -> int -> unit       val read_space : 'a t -> ('Internal_buffer.t * int * int) option       val write_space : 'a t -> ('Internal_buffer.t * int * int) option       val transmit :         'a t -> ('Internal_buffer.t -> int -> int -> int) -> int       val ravailable : 'a t -> int       val wavailable : 'a t -> int       val radvance : 'a t -> int -> unit       val wadvance : 'a t -> int -> unit       val get : 'a t -> char       val rollback : 'a t -> 'Internal_buffer.t -> unit       val proof : 'a t -> 'Internal_buffer.t       val savailable : 'a t -> int     end   type 'a decoder   type decoding =       [ `Continue       | `Dirty of char       | `End of string       | `Error of Parser.err       | `String of string ]   val decoder :     unit Parser.t * unit Parser.t ->     'MrMime_quotedPrintable.Input.t -> 'MrMime_quotedPrintable.decoder   val decoder_src :     'MrMime_quotedPrintable.decoder -> 'MrMime_quotedPrintable.Input.t   val decode :     'MrMime_quotedPrintable.decoder -> MrMime_quotedPrintable.decoding   val src : 'MrMime_quotedPrintable.decoder -> string -> int -> int -> unit end