;ò
íŒü?c           @   s¢   d  Z  d k Z e Z d f  d „  ƒ  YZ d f  d „  ƒ  YZ d f  d „  ƒ  YZ d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ e d „ Z	 e
 d j o e	 ƒ  n d S(   s  Generic output formatting.

Formatter objects transform an abstract flow of formatting events into
specific output events on writer objects. Formatters manage several stack
structures to allow various properties of a writer object to be changed and
restored; writers need not be able to handle relative changes nor any sort
of ``change back'' operation. Specific writer properties which may be
controlled via formatter objects are horizontal alignment, font, and left
margin indentations. A mechanism is provided which supports providing
arbitrary, non-exclusive style settings to a writer as well. Additional
interfaces facilitate formatting events which are not reversible, such as
paragraph separation.

Writer objects encapsulate device interfaces. Abstract devices, such as
file formats, are supported as well as physical devices. The provided
implementations all work with abstract devices. The interface makes
available mechanisms for setting the properties which formatter objects
manage and inserting data into the output.
Ns   NullFormatterc           B   s¼   t  Z d  Z e d „ Z d „  Z d „  Z d „  Z e d „ Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d d „ Z RS(   s=  A formatter which does nothing.

    If the writer parameter is omitted, a NullWriter instance is created.
    No methods of the writer are called by NullFormatter instances.

    Implementations should inherit from this class if implementing a writer
    interface but don't need to inherit any implementation.

    c         C   s'   | t j o t ƒ  } n | |  _  d  S(   N(   s   writers   Nones
   NullWriters   self(   s   selfs   writer(    (    s&   /mit/python/lib/python2.3/formatter.pys   __init__&   s    c         C   s   d  S(   N(    (   s   selfs	   blankline(    (    s&   /mit/python/lib/python2.3/formatter.pys   end_paragraph*   s    c         C   s   d  S(   N(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_line_break+   s    c         O   s   d  S(   N(    (   s   selfs   argss   kw(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_hor_rule,   s    c         C   s   d  S(   N(    (   s   selfs   formats   counters	   blankline(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_label_data-   s    c         C   s   d  S(   N(    (   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_flowing_data.   s    c         C   s   d  S(   N(    (   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_literal_data/   s    c         C   s   d  S(   N(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   flush_softspace0   s    c         C   s   d  S(   N(    (   s   selfs   align(    (    s&   /mit/python/lib/python2.3/formatter.pys   push_alignment1   s    c         C   s   d  S(   N(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   pop_alignment2   s    c         C   s   d  S(   N(    (   s   selfs   x(    (    s&   /mit/python/lib/python2.3/formatter.pys	   push_font3   s    c         C   s   d  S(   N(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   pop_font4   s    c         C   s   d  S(   N(    (   s   selfs   margin(    (    s&   /mit/python/lib/python2.3/formatter.pys   push_margin5   s    c         C   s   d  S(   N(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys
   pop_margin6   s    c         C   s   d  S(   N(    (   s   selfs   spacing(    (    s&   /mit/python/lib/python2.3/formatter.pys   set_spacing7   s    c         G   s   d  S(   N(    (   s   selfs   styles(    (    s&   /mit/python/lib/python2.3/formatter.pys
   push_style8   s    i   c         C   s   d  S(   N(    (   s   selfs   n(    (    s&   /mit/python/lib/python2.3/formatter.pys	   pop_style9   s    c         C   s   d  S(   N(    (   s   selfs   flag(    (    s&   /mit/python/lib/python2.3/formatter.pys   assert_line_data:   s    (   s   __name__s
   __module__s   __doc__s   Nones   __init__s   end_paragraphs   add_line_breaks   add_hor_rules   add_label_datas   add_flowing_datas   add_literal_datas   flush_softspaces   push_alignments   pop_alignments	   push_fonts   pop_fonts   push_margins
   pop_margins   set_spacings
   push_styles	   pop_styles   assert_line_data(    (    (    s&   /mit/python/lib/python2.3/formatter.pys   NullFormatter   s&   	 														s   AbstractFormatterc           B   sÔ   t  Z d  Z d „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d d „ Z RS(   sê   The standard formatter.

    This implementation has demonstrated wide applicability to many writers,
    and may be used directly in most circumstances.  It has been used to
    implement a full-featured World Wide Web browser.

    c         C   sy   | |  _  t |  _ g  |  _ g  |  _ g  |  _ t |  _ g  |  _ d |  _	 d |  _
 d |  _ d |  _ d |  _ d |  _ d  S(   Ni   i    (   s   writers   selfs   Nones   aligns   align_stacks
   font_stacks   margin_stacks   spacings   style_stacks   nospaces	   softspaces   para_ends   parskips
   hard_breaks
   have_label(   s   selfs   writer(    (    s&   /mit/python/lib/python2.3/formatter.pys   __init__K   s    												c         C   s‘   |  i o |  i i ƒ  d |  _ n |  i | j  o |  i o- |  i i | |  i ƒ | |  _ d |  _ n d |  _ |  _ |  _	 d |  _
 d  S(   Ni    i   (   s   selfs
   hard_breaks   writers   send_line_breaks
   have_labels   parskips	   blanklines   send_paragraphs   nospaces   para_ends	   softspace(   s   selfs	   blankline(    (    s&   /mit/python/lib/python2.3/formatter.pys   end_paragraphZ   s    	c         C   sS   |  i p |  i o! |  i i ƒ  d |  _ |  _ n d |  _ |  _ d |  _ d  S(   Ni    i   (	   s   selfs
   hard_breaks   para_ends   writers   send_line_breaks
   have_labels   parskips   nospaces	   softspace(   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_line_breake   s
    c         O   sa   |  i o |  i i ƒ  n |  i i | | Ž  d |  _ |  _ d |  _ |  _	 |  _
 |  _ d  S(   Ni   i    (   s   selfs
   hard_breaks   writers   send_line_breaks   send_hor_rules   argss   kws   nospaces
   have_labels   para_ends	   softspaces   parskip(   s   selfs   argss   kw(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_hor_rulel   s
    c         C   sÅ   |  i p |  i o |  i i ƒ  n |  i o" |  i i | o d p d ƒ n t | t
 ƒ o  |  i i |  i | | ƒ ƒ n |  i i | ƒ d |  _ |  _ |  _ |  _ d |  _ |  _ d  S(   Ni   i    (   s   selfs
   have_labels
   hard_breaks   writers   send_line_breaks   para_ends   send_paragraphs	   blanklines
   isinstances   formats   strs   send_label_datas   format_counters   counters   nospaces	   softspaces   parskip(   s   selfs   formats   counters	   blankline(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_label_datas   s    " c         C   s¸   d } x§ | D]Ÿ } | d j o | d | } q | d j o+ | d j o | |  i | | ƒ } q¬ q | d j o+ | d j o | |  i | | ƒ } q¬ q | | } q W| Sd  S(   Ns    s   1s   %ds   aAi    s   iI(   s   labels   formats   cs   counters   selfs   format_letters   format_roman(   s   selfs   formats   counters   cs   label(    (    s&   /mit/python/lib/python2.3/formatter.pys   format_counter   s     c         C   s\   d } xK | d j o= t | d d ƒ \ } } t t | ƒ | ƒ } | | } q	 W| Sd  S(   Ns    i    i   i   (   s   labels   counters   divmods   xs   chrs   ords   cases   s(   s   selfs   cases   counters   labels   ss   x(    (    s&   /mit/python/lib/python2.3/formatter.pys   format_letterŽ   s     c   	      C   s#  d d d d g } d d d g } d d	 f \ } } xÊ | d	 j o¼ t | d
 ƒ \ } } | d j o | | | | d | } no | d j o | | | | | } nH | d j o | | } | d } n d } | | | | } | | } | d } q6 W| d j o | i	 ƒ  Sn | Sd  S(   Ns   is   xs   cs   ms   vs   ls   ds    i    i
   i	   i   i   i   s   I(
   s   oness   fivess   labels   indexs   counters   divmods   xs   ss   cases   upper(	   s   selfs   cases   counters   indexs   fivess   labels   ss   oness   x(    (    s&   /mit/python/lib/python2.3/formatter.pys   format_roman™   s(     

c         C   s   | o d  Sn | d  i ƒ  } | d i ƒ  } d i | i ƒ  ƒ } |  i o | o d  Sn` | p |  i oN | o) |  i o d |  _ d |  _	 n d  Sn |  i o d | } q¾ n d |  _
 |  _ |  _ |  _	 |  _ | |  _ |  i i | ƒ d  S(   Ni   iÿÿÿÿs    i    (   s   datas   isspaces   prespaces	   postspaces   joins   splits   selfs   nospaces	   softspaces   parskips
   hard_breaks   para_ends
   have_labels   writers   send_flowing_data(   s   selfs   datas   prespaces	   postspace(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_flowing_data±   s$     	%	c         C   sz   | o d  Sn |  i o |  i i d ƒ n | d d j |  _ d |  _ |  _ |  _ |  _ |  _	 |  i i
 | ƒ d  S(   Ns    iÿÿÿÿs   
i    (   s   datas   selfs	   softspaces   writers   send_flowing_datas
   hard_breaks   nospaces   para_ends   parskips
   have_labels   send_literal_data(   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   add_literal_dataÇ   s     
%c         C   sP   |  i oB d |  _ |  _ |  _ |  _ |  _ d |  _ |  i i d ƒ n d  S(   Ni    i   s    (	   s   selfs	   softspaces
   hard_breaks   para_ends   parskips
   have_labels   nospaces   writers   send_flowing_data(   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   flush_softspaceÐ   s    
%	c         C   s[   | o | |  i  j o- |  i i | ƒ | |  _  |  i i | ƒ n |  i i |  i  ƒ d  S(   N(   s   aligns   selfs   writers   new_alignments   align_stacks   append(   s   selfs   align(    (    s&   /mit/python/lib/python2.3/formatter.pys   push_alignment×   s
    	c         C   sg   |  i o |  i d =n |  i o( |  i d |  _ } |  i i | ƒ n t |  _ |  i i t ƒ d  S(   Niÿÿÿÿ(   s   selfs   align_stacks   aligns   writers   new_alignments   None(   s   selfs   align(    (    s&   /mit/python/lib/python2.3/formatter.pys   pop_alignmentß   s    

	c         C   s	  | \ } } } } |  i o4 d |  _ |  _ |  _ d |  _ |  i	 i
 d ƒ n |  i oy |  i d \ }	 } } } | t j o
 |	 } n | t j o
 | } n | t j o
 | } n | t j o
 | } qÓ n | | | | f }
 |  i i |
 ƒ |  i	 i |
 ƒ d  S(   Ni    i   s    iÿÿÿÿ(   s   sizes   is   bs   tts   selfs	   softspaces
   hard_breaks   para_ends   nospaces   writers   send_flowing_datas
   font_stacks   csizes   cis   cbs   ctts   AS_ISs   fonts   appends   new_font(   s   selfs   .2s   sizes   is   bs   tts   ctts   cis   cbs   csizes   font(    (    s&   /mit/python/lib/python2.3/formatter.pys	   push_fonté   s"   
	
 
 
 
 c         C   sM   |  i o |  i d =n |  i o |  i d } n t } |  i i | ƒ d  S(   Niÿÿÿÿ(   s   selfs
   font_stacks   fonts   Nones   writers   new_font(   s   selfs   font(    (    s&   /mit/python/lib/python2.3/formatter.pys   pop_fontø   s    

c         C   s\   |  i i | ƒ t t |  i ƒ } | o | o | d } n |  i i | t	 | ƒ ƒ d  S(   Niÿÿÿÿ(
   s   selfs   margin_stacks   appends   margins   filters   Nones   fstacks   writers
   new_margins   len(   s   selfs   margins   fstack(    (    s&   /mit/python/lib/python2.3/formatter.pys   push_margin  s
    c         C   sb   |  i o |  i d =n t t |  i ƒ } | o | d } n t } |  i i | t | ƒ ƒ d  S(   Niÿÿÿÿ(	   s   selfs   margin_stacks   filters   Nones   fstacks   margins   writers
   new_margins   len(   s   selfs   fstacks   margin(    (    s&   /mit/python/lib/python2.3/formatter.pys
   pop_margin  s    
c         C   s   | |  _  |  i i | ƒ d  S(   N(   s   spacings   selfs   writers   new_spacing(   s   selfs   spacing(    (    s&   /mit/python/lib/python2.3/formatter.pys   set_spacing  s    	c         G   s|   |  i o4 d |  _ |  _ |  _ d |  _ |  i i d ƒ n x | D] } |  i	 i
 | ƒ qE W|  i i t |  i	 ƒ ƒ d  S(   Ni    i   s    (   s   selfs	   softspaces
   hard_breaks   para_ends   nospaces   writers   send_flowing_datas   styless   styles   style_stacks   appends
   new_styless   tuple(   s   selfs   styless   style(    (    s&   /mit/python/lib/python2.3/formatter.pys
   push_style  s    
	 i   c         C   s(   |  i | 3|  i i t |  i ƒ ƒ d  S(   N(   s   selfs   style_stacks   ns   writers
   new_styless   tuple(   s   selfs   n(    (    s&   /mit/python/lib/python2.3/formatter.pys	   pop_style  s    c         C   s,   | |  _ |  _ d |  _ |  _ |  _ d  S(   Ni    (   s   flags   selfs   nospaces
   hard_breaks   para_ends   parskips
   have_label(   s   selfs   flag(    (    s&   /mit/python/lib/python2.3/formatter.pys   assert_line_data#  s    (   s   __name__s
   __module__s   __doc__s   __init__s   end_paragraphs   add_line_breaks   add_hor_rules   Nones   add_label_datas   format_counters   format_letters   format_romans   add_flowing_datas   add_literal_datas   flush_softspaces   push_alignments   pop_alignments	   push_fonts   pop_fonts   push_margins
   pop_margins   set_spacings
   push_styles	   pop_styles   assert_line_data(    (    (    s&   /mit/python/lib/python2.3/formatter.pys   AbstractFormatter=   s,    													
					
			s
   NullWriterc           B   sƒ   t  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z RS(   s  Minimal writer interface to use in testing & inheritance.

    A writer which only provides the interface definition; no actions are
    taken on any methods.  This should be the base class for all writers
    which do not need to inherit any implementation methods.

    c         C   s   d  S(   N(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   __init__0  s    c         C   s   d  S(   N(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   flush1  s    c         C   s   d  S(   N(    (   s   selfs   align(    (    s&   /mit/python/lib/python2.3/formatter.pys   new_alignment2  s    c         C   s   d  S(   N(    (   s   selfs   font(    (    s&   /mit/python/lib/python2.3/formatter.pys   new_font3  s    c         C   s   d  S(   N(    (   s   selfs   margins   level(    (    s&   /mit/python/lib/python2.3/formatter.pys
   new_margin4  s    c         C   s   d  S(   N(    (   s   selfs   spacing(    (    s&   /mit/python/lib/python2.3/formatter.pys   new_spacing5  s    c         C   s   d  S(   N(    (   s   selfs   styles(    (    s&   /mit/python/lib/python2.3/formatter.pys
   new_styles6  s    c         C   s   d  S(   N(    (   s   selfs	   blankline(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_paragraph7  s    c         C   s   d  S(   N(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_line_break8  s    c         O   s   d  S(   N(    (   s   selfs   argss   kw(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_hor_rule9  s    c         C   s   d  S(   N(    (   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_label_data:  s    c         C   s   d  S(   N(    (   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_flowing_data;  s    c         C   s   d  S(   N(    (   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_literal_data<  s    (   s   __name__s
   __module__s   __doc__s   __init__s   flushs   new_alignments   new_fonts
   new_margins   new_spacings
   new_styless   send_paragraphs   send_line_breaks   send_hor_rules   send_label_datas   send_flowing_datas   send_literal_data(    (    (    s&   /mit/python/lib/python2.3/formatter.pys
   NullWriter(  s    												s   AbstractWriterc           B   sq   t  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   s°   A writer which can be used in debugging formatters, but not much else.

    Each method simply announces itself by printing its name and
    arguments on standard output.

    c         C   s   d | GHd  S(   Ns   new_alignment(%s)(   s   align(   s   selfs   align(    (    s&   /mit/python/lib/python2.3/formatter.pys   new_alignmentG  s    c         C   s   d | GHd  S(   Ns   new_font(%s)(   s   font(   s   selfs   font(    (    s&   /mit/python/lib/python2.3/formatter.pys   new_fontJ  s    c         C   s   d | | f GHd  S(   Ns   new_margin(%s, %d)(   s   margins   level(   s   selfs   margins   level(    (    s&   /mit/python/lib/python2.3/formatter.pys
   new_marginM  s    c         C   s   d | GHd  S(   Ns   new_spacing(%s)(   s   spacing(   s   selfs   spacing(    (    s&   /mit/python/lib/python2.3/formatter.pys   new_spacingP  s    c         C   s   d | GHd  S(   Ns   new_styles(%s)(   s   styles(   s   selfs   styles(    (    s&   /mit/python/lib/python2.3/formatter.pys
   new_stylesS  s    c         C   s   d | GHd  S(   Ns   send_paragraph(%s)(   s	   blankline(   s   selfs	   blankline(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_paragraphV  s    c         C   s	   d GHd  S(   Ns   send_line_break()(    (   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_line_breakY  s    c         O   s	   d GHd  S(   Ns   send_hor_rule()(    (   s   selfs   argss   kw(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_hor_rule\  s    c         C   s   d | GHd  S(   Ns   send_label_data(%s)(   s   data(   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_label_data_  s    c         C   s   d | GHd  S(   Ns   send_flowing_data(%s)(   s   data(   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_flowing_datab  s    c         C   s   d | GHd  S(   Ns   send_literal_data(%s)(   s   data(   s   selfs   data(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_literal_datae  s    (   s   __name__s
   __module__s   __doc__s   new_alignments   new_fonts
   new_margins   new_spacings
   new_styless   send_paragraphs   send_line_breaks   send_hor_rules   send_label_datas   send_flowing_datas   send_literal_data(    (    (    s&   /mit/python/lib/python2.3/formatter.pys   AbstractWriter?  s    										s
   DumbWriterc           B   sS   t  Z d  Z e d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   s;  Simple writer class which writes output on the file object passed in
    as the file parameter or, if file is omitted, on standard output.  The
    output is simply word-wrapped to the number of columns specified by
    the maxcol parameter.  This class is suitable for reflowing a sequence
    of paragraphs.

    iH   c         C   s7   | p t i |  _  | |  _ t i |  ƒ |  i ƒ  d  S(   N(   s   files   syss   stdouts   selfs   maxcols
   NullWriters   __init__s   reset(   s   selfs   files   maxcol(    (    s&   /mit/python/lib/python2.3/formatter.pys   __init__r  s    	c         C   s   d |  _ d |  _ d  S(   Ni    (   s   selfs   cols   atbreak(   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   resetx  s    	c         C   s*   |  i i d | ƒ d |  _ d |  _ d  S(   Ns   
i    (   s   selfs   files   writes	   blanklines   cols   atbreak(   s   selfs	   blankline(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_paragraph|  s    	c         C   s&   |  i i d ƒ d |  _ d |  _ d  S(   Ns   
i    (   s   selfs   files   writes   cols   atbreak(   s   self(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_line_break�  s    	c         O   sM   |  i i d ƒ |  i i d |  i ƒ |  i i d ƒ d |  _ d |  _ d  S(   Ns   
s   -i    (   s   selfs   files   writes   maxcols   cols   atbreak(   s   selfs   argss   kw(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_hor_rule†  s
    	c         C   sv   |  i i | ƒ | i d ƒ } | d j o d |  _ | | d } n | i ƒ  } |  i t | ƒ |  _ d |  _	 d  S(   Ns   
i    i   (
   s   selfs   files   writes   datas   rfinds   is   cols
   expandtabss   lens   atbreak(   s   selfs   datas   i(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_literal_data�  s    	c         C   sé   | o d  Sn |  i p | d i ƒ  } |  i } |  i } |  i i } x~ | i ƒ  D]p } | oC | t
 | ƒ | j o | d ƒ d } q¥ | d ƒ | d } n | | ƒ | t
 | ƒ } d } qU W| |  _ | d i ƒ  |  _ d  S(   Ni    s   
s    i   iÿÿÿÿ(   s   datas   selfs   atbreaks   isspaces   cols   maxcols   files   writes   splits   words   len(   s   selfs   datas   maxcols   words   writes   cols   atbreak(    (    s&   /mit/python/lib/python2.3/formatter.pys   send_flowing_data—  s&     		 




	(   s   __name__s
   __module__s   __doc__s   Nones   __init__s   resets   send_paragraphs   send_line_breaks   send_hor_rules   send_literal_datas   send_flowing_data(    (    (    s&   /mit/python/lib/python2.3/formatter.pys
   DumbWriteri  s    					
c         C   sÄ   t  ƒ  } t | ƒ } |  t j	 o t |  ƒ } n/ t i	 d o t t i	 d ƒ } n
 t i
 } xP n oH | i ƒ  } | o Pn | d j o | i d ƒ qc | i | ƒ qj W| i d ƒ d  S(   Ni   s   
i    (   s
   DumbWriters   ws   AbstractFormatters   fs   files   Nones   opens   fps   syss   argvs   stdins   readlines   lines   end_paragraphs   add_flowing_data(   s   files   fps   fs   ws   line(    (    s&   /mit/python/lib/python2.3/formatter.pys   test¬  s     		 s   __main__(   s   __doc__s   syss   Nones   AS_ISs   NullFormatters   AbstractFormatters
   NullWriters   AbstractWriters
   DumbWriters   tests   __name__(   s
   NullWriters   NullFormatters   AbstractWriters   syss   AbstractFormatters
   DumbWriters   tests   AS_IS(    (    s&   /mit/python/lib/python2.3/formatter.pys   ?   s   	"ë*C