;
Οβ"Ic               @   s   d  Z  d d l Z d d  Z d d  Z Gd   d e j  Z Gd   d	 e j  Z Gd
   d e j  Z Gd   d e j  Z d   Z	 d S(   u   Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:

* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
  first three bytes.

* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
  bytes will be skipped.
i    Nu   strictc             C   s'   t  j t  j |  |  d t |   f S(   Ni    (   u   codecsu   BOM_UTF8u   utf_8_encodeu   len(   u   inputu   errors(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   encode   s    c             C   sc   d } |  d  d  t  j k o |  d d   }  d } n t  j |  | d  \ } } | | | f S(   Ni    i   T(   u   codecsu   BOM_UTF8u   utf_8_decodeu   True(   u   inputu   errorsu   prefixu   outputu   consumed(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   decode   s    
c             B   sA   |  Ee  Z d  d  Z d d  Z d   Z d   Z d   Z d S(   u   strictc             C   s    t  j j |  |  d |  _ d  S(   Ni   (   u   codecsu   IncrementalEncoderu   __init__u   first(   u   selfu   errors(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   __init__   s    c             C   sM   |  j  o( d |  _  t j t j | |  j  d St j | |  j  d Sd  S(   Ni    (   u   firstu   codecsu   BOM_UTF8u   utf_8_encodeu   errors(   u   selfu   inputu   final(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   encode   s
    
	c             C   s   t  j j |   d |  _ d  S(   Ni   (   u   codecsu   IncrementalEncoderu   resetu   first(   u   self(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   reset'   s    c             C   s   |  j  S(   N(   u   first(   u   self(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   getstate+   s    c             C   s   | |  _  d  S(   N(   u   first(   u   selfu   state(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   setstate.   s    NF(   u   __name__u
   __module__u   __init__u   Falseu   encodeu   resetu   getstateu   setstate(   u
   __locals__(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   IncrementalEncoder   s
   
		u   IncrementalEncoderc             B   s>   |  Ee  Z d  d  Z d   Z d   Z d   Z d   Z d S(   u   strictc             C   s    t  j j |  |  d |  _ d  S(   Ni   (   u   codecsu   BufferedIncrementalDecoderu   __init__u   first(   u   selfu   errors(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   __init__2   s    c             C   s°   |  j  o t |  d k  o% t j j |  o d Sd |  _  q d |  _  | d  d  t j k o4 t j | d d   | |  \ } } | | d f Sn t j | | |  S(   Ni   u    i    (   u    i    (   u   firstu   lenu   codecsu   BOM_UTF8u
   startswithu   utf_8_decode(   u   selfu   inputu   errorsu   finalu   outputu   consumed(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   _buffer_decode6   s    
	%c             C   s   t  j j |   d |  _ d  S(   Ni   (   u   codecsu   BufferedIncrementalDecoderu   resetu   first(   u   self(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   resetG   s    c             C   s#   t  j j |   } | d |  j f S(   Ni    (   u   codecsu   BufferedIncrementalDecoderu   getstateu   first(   u   selfu   state(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   getstateK   s    c             C   s$   t  j j |  |  | d |  _ d  S(   Ni   (   u   codecsu   BufferedIncrementalDecoderu   setstateu   first(   u   selfu   state(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   setstateP   s    N(   u   __name__u
   __module__u   __init__u   _buffer_decodeu   resetu   getstateu   setstate(   u
   __locals__(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   IncrementalDecoder1   s
   
			u   IncrementalDecoderc             B   s#   |  Ee  Z d    Z d d  Z d S(   c             C   s5   t  j j |   y
 |  ` Wn t k
 o Yn Xd  S(   N(   u   codecsu   StreamWriteru   resetu   encodeu   AttributeError(   u   self(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   resetV   s
    
u   strictc             C   s   t  j |  _ t | |  S(   N(   u   codecsu   utf_8_encodeu   encode(   u   selfu   inputu   errors(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   encode]   s    N(   u   __name__u
   __module__u   resetu   encode(   u
   __locals__(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   StreamWriterU   s   
	u   StreamWriterc             B   s#   |  Ee  Z d    Z d d  Z d S(   c             C   s5   t  j j |   y
 |  ` Wn t k
 o Yn Xd  S(   N(   u   codecsu   StreamReaderu   resetu   decodeu   AttributeError(   u   self(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   resetb   s
    
u   strictc             C   s’   t  |  d k  o t j j |  o d SnX | d  d  t j k o= t j |  _ t j | d d   |  \ } } | | d f St j |  _ t j | |  S(   Ni   u    i    (   u    i    (   u   lenu   codecsu   BOM_UTF8u
   startswithu   utf_8_decodeu   decode(   u   selfu   inputu   errorsu   outputu   consumed(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   decodei   s    	"N(   u   __name__u
   __module__u   resetu   decode(   u
   __locals__(    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   StreamReadera   s   
	u   StreamReaderc               C   s4   t  j d d d t d t d t d t d t d t  S(	   Nu   nameu	   utf-8-sigu   encodeu   decodeu   incrementalencoderu   incrementaldecoderu   streamreaderu   streamwriter(   u   codecsu	   CodecInfou   encodeu   decodeu   IncrementalEncoderu   IncrementalDecoderu   StreamReaderu   StreamWriter(    (    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   getregentryy   s    	(
   u   __doc__u   codecsu   encodeu   decodeu   IncrementalEncoderu   BufferedIncrementalDecoderu   IncrementalDecoderu   StreamWriteru   StreamReaderu   getregentry(    (    (    u0   /mit/python/lib/python3.0/encodings/utf_8_sig.pyu   <module>	   s   $