Module Expr Str Import alias Import alias ImportFrom alias identifier TryExcept body ImportFrom alias alias alias ImportFrom alias alias alias handlers ExceptHandler type NameLoad body ImportFrom alias alias alias ImportFrom alias alias alias ImportFrom alias Assign NameStore ListLoad Str Str Str Str Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign SubscriptStore NameLoad Index NameLoad NameLoad decorator_list decorator_list Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Call NameLoad Call NameLoad body If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Dict ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Dict FunctionDef arguments args NameParam defaults kwarg body Expr Str Raise Call NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Expr Str Raise Call NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If NameLoad body Assert CompareEq AttributeLoad NameLoad attr NameLoad Str Assert CompareEq AttributeLoad NameLoad attr NameLoad Str Assert CompareEq NameLoad AttributeLoad NameLoad attr Str Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assert Call NameLoad AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr BoolOpOr NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BoolOpOr NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BoolOpOr NameLoad AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore NameLoad attr SubscriptLoad Dict Str Str Str Str Num Num Num Num Index AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call NameLoad NameLoad Str BinOpAdd Str Call AttributeLoad Call AttributeLoad AttributeLoad NameLoad attr attr attr Str Str Assign AttributeStore NameLoad attr Call NameLoad NameLoad Str Call AttributeLoad AttributeLoad NameLoad attr attr Assert CompareIn AttributeLoad NameLoad attr TupleLoad Str Str Str Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If Call NameLoad NameLoad NameLoad body If CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return CompareLt AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return CompareLt AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore BoolOpOr BoolOpAnd AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr Str Return BinOpMod Str TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Expr Str If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Call NameLoad SubscriptLoad NameLoad Index Num body Assert CompareEq Num Call NameLoad NameLoad Assign NameStore ListLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr For NameStore ListComp NameLoad comprehension TupleStore NameStore NameStore SubscriptLoad NameLoad Index Num CompareEq Call AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad If CompareEq NameLoad Call NameLoad SubscriptLoad NameLoad Index Num body Assert BoolOpAnd CompareEq Num Call NameLoad NameLoad CompareIn Str SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Index Num attr AttributeLoad NameLoad attr If UnaryOpNot NameLoad body Return TupleLoad Return TupleLoad NameLoad For NameStore NameLoad body Assert UnaryOpNot CompareIn Call NameLoad NameLoad TupleLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assert Call NameLoad NameLoad TupleLoad NameLoad NameLoad If UnaryOpNot NameLoad body Return Str Assert CompareEq Call NameLoad NameLoad Num BinOpMod Str Call NameLoad NameLoad Return Call AttributeLoad Call NameLoad SubscriptLoad NameLoad Index Num attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareEq Call NameLoad NameLoad NameLoad body If CompareIn AttributeLoad NameLoad attr NameLoad body Delete SubscriptDel NameLoad Index AttributeLoad NameLoad attr Return NameLoad Assert CompareEq NameLoad Call NameLoad NameLoad Assign NameStore Num While CompareLt NameLoad Call NameLoad NameLoad body If CompareEq Call AttributeLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num attr AttributeLoad NameLoad attr body Delete SubscriptDel NameLoad Index NameLoad Continue AugAssignAdd NameStore Num decorator_list FunctionDef arguments args NameParam NameParam defaults vararg kwarg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return If CompareEq Call NameLoad NameLoad NameLoad body Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr NameLoad Return Assert CompareEq NameLoad Call NameLoad NameLoad Assign NameStore Num Assign NameStore NameLoad While CompareLt NameLoad Call NameLoad NameLoad body If CompareEq Call AttributeLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num attr AttributeLoad NameLoad attr body If NameLoad body Delete SubscriptDel NameLoad Index NameLoad Continue Assign SubscriptStore NameLoad Index NameLoad TupleLoad AttributeLoad NameLoad attr NameLoad Assign NameStore NameLoad AugAssignAdd NameStore Num If UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If UnaryOpNot NameLoad body Return TupleLoad Return ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Pass decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults vararg kwarg body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If UnaryOpNot NameLoad body Return Str Return Call AttributeLoad Str attr ListComp Call AttributeLoad Call NameLoad NameLoad attr comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str Return ListComp Call AttributeLoad NameLoad attr comprehension NameStore NameLoad Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults vararg kwarg body Assert CompareEq NameLoad Call NameLoad NameLoad Str Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If UnaryOpNot NameLoad body Return TupleLoad Return ListComp TupleLoad AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr comprehension NameStore NameLoad decorator_list decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad Call AttributeLoad Call AttributeLoad Call NameLoad NameLoad attr attr attr Str Str If BoolOpAnd UnaryOpNot NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad body Expr Str If UnaryOpNot BoolOpOr NameLoad NameLoad NameLoad NameLoad body Assign NameStore NameStore NameStore NameStore NameLoad Assign NameStore ListLoad For TupleStore NameStore NameStore TupleLoad TupleLoad NameLoad Str TupleLoad NameLoad Str TupleLoad NameLoad Str TupleLoad NameLoad Str body If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return ListComp NameLoad comprehension NameStore Call AttributeLoad NameLoad attr CompareIn AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Dict For NameStore Call NameLoad Call NameLoad NameLoad body Assign TupleStore NameStore NameStore SubscriptLoad NameLoad Index NameLoad Assign NameStore Call NameLoad NameLoad NameLoad If UnaryOpNot NameLoad body Assign NameStore Call AttributeLoad Str attr ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call AttributeLoad Call AttributeLoad NameLoad attr Str Str attr Str Assign SubscriptStore NameLoad Index NameLoad TupleLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad Num Continue Assign SubscriptStore NameLoad Index NameLoad TupleLoad Call NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index Call NameLoad NameLoad AttributeLoad NameLoad attr FunctionDef arguments args NameParam defaults body Assign NameStore SubscriptLoad NameLoad Index Num Return TupleLoad SubscriptLoad NameLoad Index NameLoad NameLoad decorator_list Expr Call AttributeLoad NameLoad attr keyword NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Assign NameStore BoolOpOr NameLoad Call NameLoad If NameLoad body Assert CompareEq Call NameLoad NameLoad NameLoad AugAssignAdd NameStore NameLoad Return TupleLoad Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body TryExcept body Return Call NameLoad Call NameLoad NameLoad handlers ExceptHandler type TupleLoad NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore BinOpMult Num Num Assign NameStore BinOpMult NameLoad Num Assign NameStore BinOpMult NameLoad Num Assign NameStore BinOpMult NameLoad Num Assign NameStore BinOpMult NameLoad Num FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad kwarg body Assert Call NameLoad NameLoad TupleLoad Call NameLoad NameLoad NameLoad Assert Call NameLoad NameLoad TupleLoad Call NameLoad NameLoad NameLoad Assign NameStore Num Assign NameStore ListLoad If CompareIs NameLoad NameLoad body Assert BoolOpAnd UnaryOpNot NameLoad UnaryOpNot NameLoad UnaryOpNot NameLoad Expr Call AttributeLoad NameLoad attr Str orelse If CompareIs NameLoad NameLoad body Assert BoolOpAnd UnaryOpNot NameLoad UnaryOpNot NameLoad UnaryOpNot NameLoad Expr Call AttributeLoad NameLoad attr Str orelse Assert BoolOpOr CompareIs NameLoad NameLoad CompareIs NameLoad NameLoad Assert BoolOpAnd UnaryOpNot NameLoad UnaryOpNot NameLoad Assign NameStore NameLoad Expr Call AttributeLoad NameLoad attr Str If NameLoad body Expr Call AttributeLoad NameLoad attr Str If NameLoad body Expr Call AttributeLoad NameLoad attr Str If CompareIsNot NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad If CompareIsNot NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad body If CompareNotIn NameLoad AttributeLoad NameLoad attr body Raise Call NameLoad BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad Call AttributeLoad NameLoad attr Str Str NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Expr Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Return NameLoad decorator_list decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body If UnaryOpNot NameLoad body If CompareIn NameLoad TupleLoad Str Str Str body Assign NameStore Str orelse Assert BoolOpAnd UnaryOpNot NameLoad UnaryOpNot NameLoad Return TupleLoad AttributeLoad NameLoad attr If UnaryOpNot NameLoad body Assign NameStore Str Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad If NameLoad body AugAssignAdd NameStore BinOpMod Str NameLoad Return TupleLoad NameLoad decorator_list decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore Str decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Assign NameStore ListLoad If CompareIs NameLoad NameLoad body Assert UnaryOpNot NameLoad Expr Call AttributeLoad NameLoad attr Str orelse Assert UnaryOpNot NameLoad Expr Call AttributeLoad NameLoad attr Str If NameLoad body Assert CompareNotIn Str NameLoad Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr Str Index Num Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr Str Index Num Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Return TupleLoad TupleLoad Call AttributeLoad Str attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Expr Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad If BoolOpAnd NameLoad BoolOpOr UnaryOpNot NameLoad CompareEq AttributeLoad NameLoad attr NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad If BoolOpAnd NameLoad CompareNotEq AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Return NameLoad decorator_list decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str Assign NameStore Str FunctionDef arguments args NameParam defaults vararg kwarg body Expr Str Return SubscriptLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad attr Str Num Index Num decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad If BoolOpAnd NameLoad CompareGt NameLoad Call NameLoad body Raise Call NameLoad BinOpMod Str AttributeLoad NameLoad attr Return NameLoad decorator_list decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults vararg kwarg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If UnaryOpNot NameLoad body Return NameLoad Assign NameStore ListLoad Assign NameStore Num TryExcept body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str Num Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr For NameStore Call AttributeLoad NameLoad attr Str body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str If UnaryOpNot Call AttributeLoad NameLoad attr body Assign NameStore Num orelse Assign NameStore Call NameLoad NameLoad If CompareLtE NameLoad NameLoad body Raise Call NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr body Assign NameStore NameLoad orelse Assign NameStore Call NameLoad NameLoad Assign NameStore NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad handlers ExceptHandler type NameLoad body Return NameLoad Return TupleLoad NameLoad NameLoad decorator_list decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults vararg kwarg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareIs NameLoad NameLoad body Return ListLoad Assign NameStore ListComp NameLoad comprehension NameStore Call AttributeLoad NameLoad attr Str NameLoad Assign NameStore ListLoad For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str Assign TupleStore NameStore NameStore TupleLoad Call AttributeLoad Call AttributeLoad SubscriptLoad NameLoad Index Num attr attr SubscriptLoad NameLoad Slice Num Assign NameStore Num For NameStore NameLoad body If CompareNotIn Str NameLoad body Continue Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr If CompareEq NameLoad Str body Assign NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr keyword Lambda arguments args NameParam defaults SubscriptLoad NameLoad Index Num keyword NameLoad Return ListComp NameLoad comprehension TupleStore NameStore NameStore NameLoad decorator_list decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body If NameLoad body Return TupleLoad Str Return TupleLoad Str decorator_list decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad Assert BoolOpOr CompareEq NameLoad Num CompareLtE NameLoad NameLoad Assert CompareLt NameLoad NameLoad Return TupleLoad NameLoad decorator_list decorator_list Expr Call NameLoad Str Str Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad body Assert BoolOpAnd NameLoad NameLoad If BoolOpOr NameLoad UnaryOpNot NameLoad body Assert UnaryOpNot NameLoad Assign NameStore BinOpMod Str TupleLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Return BinOpMod Str Call AttributeLoad Call AttributeLoad NameLoad attr Str attr Assert BoolOpAnd NameLoad UnaryOpNot NameLoad Assign NameStore BoolOpOr NameLoad Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str Num Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str Num Assign NameStore Call NameLoad Call NameLoad NameLoad ClassDef bases NameLoad body If AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad Assign NameStore NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad orelse FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BoolOpOr NameLoad Str decorator_list decorator_list Assign NameStore BinOpMod Str Call AttributeLoad NameLoad attr Call NameLoad NameLoad Return TupleLoad NameLoad decorator_list decorator_list Expr Call NameLoad Str Str Str For TupleStore NameStore NameStore NameStore NameStore NameStore TupleLoad TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str TupleLoad Str Str Str Str Str body Assign NameStore SubscriptLoad Dict Str Str Str Str NameLoad NameLoad NameLoad NameLoad Index NameLoad Assign AttributeStore Call NameLoad NameLoad NameLoad NameLoad NameLoad attr NameLoad Delete NameDel For NameStore Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad Call AttributeLoad AttributeLoad NameLoad attr attr Str Str attr Assign SubscriptStore Call NameLoad Index NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore SubscriptLoad NameLoad Slice For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Call NameLoad Call NameLoad body If BoolOpAnd Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad
N/A N/A 
HTTP Message Header Fields (see RFC 4229)

This contains general support for HTTP/1.1 message headers [1]_ in a
manner that supports WSGI ``environ`` [2]_ and ``response_headers``
[3]_. Specifically, this module defines a ``HTTPHeader`` class whose
instances correspond to field-name items.  The actual field-content for
the message-header is stored in the appropriate WSGI collection (either
the ``environ`` for requests, or ``response_headers`` for responses).

Each ``HTTPHeader`` instance is a callable (defining ``__call__``)
that takes one of the following:

  - an ``environ`` dictionary, returning the corresponding header
    value by according to the WSGI's ``HTTP_`` prefix mechanism, e.g.,
    ``USER_AGENT(environ)`` returns ``environ.get('HTTP_USER_AGENT')``

  - a ``response_headers`` list, giving a comma-delimited string for
    each corresponding ``header_value`` tuple entries (see below).

  - a sequence of string ``*args`` that are comma-delimited into
    a single string value: ``CONTENT_TYPE("text/html","text/plain")``
    returns ``"text/html, text/plain"``

  - a set of ``**kwargs`` keyword arguments that are used to create
    a header value, in a manner dependent upon the particular header in
    question (to make value construction easier and error-free):
    ``CONTENT_DISPOSITION(max_age=CONTENT_DISPOSITION.ONEWEEK)``
    returns ``"public, max-age=60480"``

Each ``HTTPHeader`` instance also provides several methods to act on
a WSGI collection, for removing and setting header values.

  ``delete(collection)``

    This method removes all entries of the corresponding header from
    the given collection (``environ`` or ``response_headers``), e.g.,
    ``USER_AGENT.delete(environ)`` deletes the 'HTTP_USER_AGENT' entry
    from the ``environ``.

  ``update(collection, *args, **kwargs)``

    This method does an in-place replacement of the given header entry,
    for example: ``CONTENT_LENGTH(response_headers,len(body))``

    The first argument is a valid ``environ`` dictionary or
    ``response_headers`` list; remaining arguments are passed on to
    ``__call__(*args, **kwargs)`` for value construction.

  ``apply(collection, **kwargs)``

    This method is similar to update, only that it may affect other
    headers.  For example, according to recommendations in RFC 2616,
    certain Cache-Control configurations should also set the
    ``Expires`` header for HTTP/1.0 clients. By default, ``apply()``
    is simply ``update()`` but limited to keyword arguments.

This particular approach to managing headers within a WSGI collection
has several advantages:

  1. Typos in the header name are easily detected since they become a
     ``NameError`` when executed.  The approach of using header strings
     directly can be problematic; for example, the following should
     return ``None`` : ``environ.get("HTTP_ACCEPT_LANGUAGES")``

  2. For specific headers with validation, using ``__call__`` will
     result in an automatic header value check.  For example, the
     _ContentDisposition header will reject a value having ``maxage``
     or ``max_age`` (the appropriate parameter is ``max-age`` ).

  3. When appending/replacing headers, the field-name has the suggested
     RFC capitalization (e.g. ``Content-Type`` or ``ETag``) for
     user-agents that incorrectly use case-sensitive matches.

  4. Some headers (such as ``Content-Type``) are 0, that is,
     only one entry of this type may occur in a given set of
     ``response_headers``.  This module knows about those cases and
     enforces this cardinality constraint.

  5. The exact details of WSGI header management are abstracted so
     the programmer need not worry about operational differences
     between ``environ`` dictionary or ``response_headers`` list.

  6. Sorting of ``HTTPHeaders`` is done following the RFC suggestion
     that general-headers come first, followed by request and response
     headers, and finishing with entity-headers.

  7. Special care is given to exceptional cases such as Set-Cookie
     which violates the RFC's recommendation about combining header
     content into a single entry using comma separation.

A particular difficulty with HTTP message headers is a categorization
of sorts as described in section 4.2:

    Multiple message-header fields with the same field-name MAY be
    present in a message if and only if the entire field-value for
    that header field is defined as a comma-separated list [i.e.,
    #(values)]. It MUST be possible to combine the multiple header
    fields into one "field-name: field-value" pair, without changing
    the semantics of the message, by appending each subsequent
    field-value to the first, each separated by a comma.

This creates three fundamentally different kinds of headers:

  - Those that do not have a #(values) production, and hence are
    singular and may only occur once in a set of response fields;
    this case is handled by the ``_SingleValueHeader`` subclass.

  - Those which have the #(values) production and follow the
    combining rule outlined above; our ``_MultiValueHeader`` case.

  - Those which are multi-valued, but cannot be combined (such as the
    ``Set-Cookie`` header due to its ``Expires`` parameter); or where
    combining them into a single header entry would cause common
    user-agents to fail (``WWW-Authenticate``, ``Warning``) since
    they fail to handle dates even when properly quoted. This case
    is handled by ``_MultiEntryHeader``.

Since this project does not have time to provide rigorous support
and validation for all headers, it does a basic construction of
headers listed in RFC 2616 (plus a few others) so that they can
be obtained by simply doing ``from paste.httpheaders import *``;
the name of the header instance is the "common name" less any
dashes to give CamelCase style names.

.. [1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
.. [2] http://www.python.org/peps/pep-0333.html#environ-variables
.. [3] http://www.python.org/peps/pep-0333.html#the-start-response-callable

 N/A mimetypes N/A six time time now N/A N/A email.utils formatdate parsedate_tz mktime_tz urllib.request AbstractDigestAuthHandler parse_keqv_list parse_http_list N/A N/A N/A ImportError N/A rfc822 formatdate parsedate_tz mktime_tz urllib2 AbstractDigestAuthHandler parse_keqv_list parse_http_list httpexceptions HTTPBadRequest N/A __all__ N/A get_header list_headers normalize_headers HTTPHeader EnvironVariable EnvironVariable N/A str N/A N/A 
    a CGI ``environ`` variable as described by WSGI

    This is a helper object so that standard WSGI ``environ`` variables
    can be extracted w/o syntax error possibility.
     __call__ N/A N/A self environ N/A N/A N/A N/A N/A environ get self N/A __repr__ N/A N/A self N/A N/A N/A N/A <EnvironVariable %s> self N/A update N/A N/A self environ value N/A N/A N/A N/A environ N/A self value N/A N/A N/A REMOTE_USER N/A EnvironVariable REMOTE_USER N/A REMOTE_SESSION N/A EnvironVariable REMOTE_SESSION N/A AUTH_TYPE N/A EnvironVariable AUTH_TYPE N/A REQUEST_METHOD N/A EnvironVariable REQUEST_METHOD N/A SCRIPT_NAME N/A EnvironVariable SCRIPT_NAME N/A PATH_INFO N/A EnvironVariable PATH_INFO N/A N/A _name _obj N/A N/A six iteritems N/A dict N/A globals N/A N/A N/A isinstance _obj EnvironVariable N/A N/A N/A N/A __all__ append _name N/A _headers N/A HTTPHeader N/A object N/A N/A 
    an HTTP header

    HTTPHeader instances represent a particular ``field-name`` of an
    HTTP message header. They do not hold a field-value, but instead
    provide operations that work on is corresponding values.  Storage
    of the actual field values is done with WSGI ``environ`` or
    ``response_headers`` as appropriate.  Typically, a sub-classes that
    represent a specific HTTP header, such as _ContentDisposition, are
    0.  Once constructed the HTTPHeader instances themselves
    are immutable and stateless.

    For purposes of documentation a "container" refers to either a
    WSGI ``environ`` dictionary, or a ``response_headers`` list.

    Member variables (and correspondingly constructor arguments).

      ``name``

          the ``field-name`` of the header, in "common form"
          as presented in RFC 2616; e.g. 'Content-Type'

      ``category``

          one of 'general', 'request', 'response', or 'entity'

      ``version``

          version of HTTP (informational) with which the header should
          be recognized

      ``sort_order``

          sorting order to be applied before sorting on
          field-name when ordering headers in a response

    Special Methods:

       ``__call__``

           The primary method of the HTTPHeader instance is to make
           it a callable, it takes either a collection, a string value,
           or keyword arguments and attempts to find/construct a valid
           field-value

       ``__lt__``

           This method is used so that HTTPHeader objects can be
           sorted in a manner suggested by RFC 2616.

       ``__str__``

           The string-value for instances of this class is
           the ``field-name``.

    Primary Methods:

       ``delete()``

           remove the all occurrences (if any) of the given
           header in the collection provided

       ``update()``

           replaces (if they exist) all field-value items
           in the given collection with the value provided

       ``tuples()``

           returns a set of (field-name, field-value) tuples
           5 for extending ``response_headers``

    Custom Methods (these may not be implemented):

       ``apply()``

           similar to ``update``, but with two differences; first,
           only keyword arguments can be used, and second, specific
           sub-classes may introduce side-effects

       ``parse()``

           converts a string value of the header into a more usable
           form, such as time in seconds for a date header, etc.

    The collected versions of initialized header instances are immediately
    registered and accessible through the ``get_header`` function.  Do not
    inherit from this directly, use one of ``_SingleValueHeader``,
    ``_MultiValueHeader``, or ``_MultiEntryHeader`` as appropriate.
     N/A version 1.1 N/A category general N/A reference N/A extensions N/A compose N/A N/A self N/A kwargs N/A N/A 
        build header value from keyword arguments

        This method is used to build the corresponding header value when
        keyword arguments (or no arguments) were provided.  The result
        should be a sequence of values.  For example, the ``Expires``
        header takes a keyword argument ``time`` (e.g. time.time()) from
        which it returns a the corresponding date.
         N/A N/A NotImplementedError N/A parse N/A N/A self N/A args kwargs N/A N/A 
        convert raw header value into more usable form

        This method invokes ``values()`` with the arguments provided,
        parses the header results, and then returns a header-specific
        data structure corresponding to the header.  For example, the
        ``Expires`` header returns seconds (as returned by time.time())
         N/A N/A NotImplementedError N/A apply N/A N/A self collection N/A kwargs N/A N/A 
        update the collection /w header value (may have side effects)

        This method is similar to ``update`` only that usage may result
        in other headers being changed as recommended by the corresponding
        specification.  The return value is defined by the particular
        sub-class. For example, the ``_CacheControl.apply()`` sets the
        ``Expires`` header in addition to its normal behavior.
         N/A N/A N/A self update collection kwargs N/A __new__ N/A N/A cls name category reference version N/A None None None N/A N/A 
        construct a new ``HTTPHeader`` instance

        We use the ``__new__`` operator to ensure that only one
        ``HTTPHeader`` instance exists for each field-name, and to
        register the header so that it can be found/enumerated.
         N/A self N/A get_header name raiseError False N/A self N/A N/A N/A N/A self name name duplicate registration with different capitalization N/A N/A N/A self category category duplicate registration with different category N/A N/A cls N/A self __class__ duplicate registration with different class N/A self N/A self N/A N/A object __new__ cls N/A N/A self name name N/A N/A isinstance N/A self name str N/A N/A self category N/A category N/A self category N/A N/A self version N/A version N/A self version N/A N/A self reference N/A reference N/A self reference N/A N/A _headers N/A N/A N/A N/A self name lower self N/A N/A self sort_order N/A N/A general request response entity 1 2 3 4 N/A N/A self category N/A N/A self _environ_name N/A getattr self _environ_name N/A HTTP_ N/A N/A N/A N/A N/A self name upper replace - _ N/A N/A self _headers_name N/A getattr self _headers_name N/A N/A N/A self name lower N/A N/A N/A self version N/A 1.1 1.0 0.9 N/A self N/A __str__ N/A N/A self N/A N/A N/A N/A self name N/A __lt__ N/A N/A self other N/A N/A N/A 
        sort header instances as specified by RFC 2616

        Re-define sorting so that general headers are first, followed
        by request/response headers, and then entity headers.  The
        list.sort() methods use the less-than operator for this purpose.
         N/A N/A isinstance other HTTPHeader N/A N/A N/A N/A self sort_order N/A other sort_order N/A N/A N/A N/A self sort_order N/A other sort_order N/A N/A N/A self name N/A other name N/A False N/A __repr__ N/A N/A self N/A N/A N/A ref N/A N/A N/A self reference N/A  (%s) N/A self reference N/A N/A <%s %s%s> N/A N/A N/A self __class__ __name__ N/A self name ref N/A values N/A N/A self N/A args kwargs N/A N/A 
        find/construct field-value(s) for the given header

        Resolution is done according to the following arguments:

        - If only keyword arguments are given, then this is equivalent
          to ``compose(**kwargs)``.

        - If the first (and only) argument is a dict, it is assumed
          to be a WSGI ``environ`` and the result of the corresponding
          ``HTTP_`` entry is returned.

        - If the first (and only) argument is a list, it is assumed
          to be a WSGI ``response_headers`` and the field-value(s)
          for this header are collected and returned.

        - In all other cases, the arguments are collected, checked that
          they are string values, possibly verified by the header's
          logic, and returned.

        At this time it is an error to provide keyword arguments if args
        is present (this might change).  It is an error to provide both
        a WSGI object and also string arguments.  If no arguments are
        provided, then ``compose()`` is called to provide a default
        value for the header; if there is not default it is an error.
         N/A N/A args N/A N/A N/A N/A self compose kwargs N/A N/A list N/A type N/A args N/A 0 N/A N/A N/A 1 N/A len args N/A result N/A N/A name N/A N/A N/A self name lower N/A value N/A value N/A N/A header value N/A args N/A 0 N/A N/A N/A header lower name N/A N/A N/A N/A result append value N/A result N/A N/A dict N/A type N/A args N/A 0 N/A N/A N/A N/A 1 N/A len args N/A wsgi.version N/A args N/A 0 N/A value N/A N/A N/A args N/A 0 get N/A self _environ_name N/A N/A value N/A N/A N/A N/A N/A value N/A item args N/A N/A N/A N/A N/A type item N/A dict list N/A args N/A __call__ N/A N/A self N/A args kwargs N/A N/A 
        converts ``values()`` into a string value

        This method converts the results of ``values()`` into a string
        value for common usage.  By default, it is asserted that only
        one value exists; if you need to access all values then either
        call ``values()`` directly, or inherit ``_MultiValueHeader``
        which overrides this method to return a comma separated list of
        values as described by section 4.2 of RFC 2616.
         N/A values N/A N/A self values args kwargs N/A N/A isinstance values N/A tuple list N/A N/A values N/A N/A N/A N/A N/A len values 1 N/A more than one value: %s N/A repr values N/A N/A N/A N/A str N/A values N/A 0 strip N/A delete N/A N/A self collection N/A N/A N/A 
        removes all occurances of the header from the collection provided
         N/A N/A N/A type collection dict N/A N/A N/A N/A self _environ_name collection N/A N/A N/A collection N/A N/A self _environ_name N/A self N/A N/A list N/A type collection N/A i 0 N/A N/A i N/A len collection N/A N/A N/A N/A N/A N/A N/A collection N/A i N/A 0 lower N/A self _headers_name N/A N/A N/A collection N/A i N/A N/A i 1 N/A update N/A N/A self collection N/A args kwargs N/A N/A 
        updates the collection with the provided header value

        This method replaces (in-place when possible) all occurrences of
        the given header with the provided value.  If no value is
        provided, this is the same as ``remove`` (note that this case
        can only occur if the target is a collection w/o a corresponding
        header value). The return value is the new header value (which
        could be a list for ``_MultiEntryHeader`` instances).
         N/A value N/A N/A self __call__ args kwargs N/A N/A value N/A N/A N/A N/A self delete collection N/A N/A N/A N/A type collection dict N/A N/A N/A collection N/A N/A self _environ_name value N/A N/A N/A list N/A type collection N/A i 0 N/A found False N/A N/A i N/A len collection N/A N/A N/A N/A N/A N/A N/A collection N/A i N/A 0 lower N/A self _headers_name N/A N/A found N/A N/A N/A collection N/A i N/A N/A N/A collection N/A i N/A N/A self name value N/A found True N/A i 1 N/A N/A found N/A N/A N/A N/A collection append N/A N/A self name value N/A tuples N/A N/A self N/A args kwargs N/A N/A value N/A N/A self __call__ args kwargs N/A N/A value N/A N/A N/A N/A N/A N/A N/A self name value N/A N/A _SingleValueHeader N/A HTTPHeader N/A N/A 
    a ``HTTPHeader`` with exactly a single value

    This is the default behavior of ``HTTPHeader`` where returning a
    the string-value of headers via ``__call__`` assumes that only
    a single value exists.
     N/A N/A _MultiValueHeader N/A HTTPHeader N/A N/A 
    a ``HTTPHeader`` with one or more values

    The field-value for these header instances is is allowed to be more
    than one value; whereby the ``__call__`` method returns a comma
    separated list as described by section 4.2 of RFC 2616.
     __call__ N/A N/A self N/A args kwargs N/A N/A results N/A N/A self values args kwargs N/A N/A results N/A N/A N/A N/A N/A ,  join N/A N/A N/A N/A str v strip N/A v results N/A parse N/A N/A self N/A args kwargs N/A N/A value N/A N/A self __call__ args kwargs N/A values N/A N/A value split , N/A N/A N/A N/A v strip N/A v values N/A N/A v strip N/A N/A _MultiEntryHeader N/A HTTPHeader N/A N/A 
    a multi-value ``HTTPHeader`` where items cannot be combined with a comma

    This header is multi-valued, but the values should not be combined
    with a comma since the header is not in compliance with RFC 2616
    (Set-Cookie due to Expires parameter) or which common user-agents do
    not behave well when the header values are combined.
     update N/A N/A self collection N/A args kwargs N/A N/A N/A list N/A type collection ``environ`` may not be updated N/A N/A N/A self delete collection N/A N/A N/A collection extend N/A N/A self tuples args kwargs N/A tuples N/A N/A self N/A args kwargs N/A N/A values N/A N/A self values args kwargs N/A N/A values N/A N/A N/A N/A N/A N/A N/A self name N/A N/A value strip N/A value values N/A N/A get_header N/A N/A name raiseError N/A True N/A N/A 
    find the given ``HTTPHeader`` instance

    This function finds the corresponding ``HTTPHeader`` for the
    ``name`` provided.  So that python-style names can be used,
    underscores are converted to dashes before the lookup.
     N/A retval N/A N/A _headers get N/A N/A N/A N/A N/A N/A N/A str name strip lower replace _ - N/A N/A N/A retval raiseError N/A N/A N/A AssertionError N/A '%s' is an unknown header name N/A retval N/A list_headers N/A N/A general request response entity N/A None None None None N/A N/A  list all headers for a given category  N/A N/A N/A general request response entity N/A N/A general request response entity True N/A search N/A N/A N/A bool strval N/A N/A general general N/A request request N/A response response N/A entity entity N/A N/A bool N/A N/A N/A N/A search append strval N/A N/A head N/A head N/A N/A _headers values N/A N/A head category search N/A normalize_headers N/A N/A response_headers strict N/A True N/A N/A 
    sort headers as suggested by  RFC 2616

    This alters the underlying response_headers to use the common
    name for each header; as well as sorting them with general
    headers first, followed by request/response headers, then
    entity headers, and unknown headers last.
     N/A category N/A N/A idx N/A range N/A len response_headers N/A N/A N/A key val N/A response_headers N/A idx N/A head N/A get_header key strict N/A N/A head N/A N/A newhead N/A N/A - join N/A N/A N/A x capitalize N/A x N/A N/A N/A N/A key replace _ - split - N/A N/A response_headers N/A idx N/A newhead val N/A N/A category N/A newhead 4 N/A N/A N/A response_headers N/A idx N/A N/A str head val N/A N/A category N/A N/A str head N/A head sort_order key_func N/A N/A item N/A N/A N/A value N/A item N/A 0 N/A N/A N/A category N/A value value N/A N/A N/A N/A response_headers sort key key_func N/A _DateHeader N/A _SingleValueHeader N/A N/A 
    handle date-based headers

    This extends the ``_SingleValueHeader`` object with specific
    treatment of time values:

    - It overrides ``compose`` to provide a sole keyword argument
      ``time`` which is an offset in seconds from the current time.

    - A ``time`` method is provided which parses the given value
      and returns the current time value.
     compose N/A N/A self time delta N/A None None N/A N/A time N/A time N/A now N/A delta N/A N/A N/A N/A type delta int N/A time delta N/A N/A N/A formatdate time N/A parse N/A N/A self N/A args kwargs N/A N/A  return the time value (in seconds since 1970)  N/A value N/A N/A self __call__ args kwargs N/A value N/A N/A N/A N/A N/A mktime_tz N/A parsedate_tz value N/A N/A N/A N/A TypeError OverflowError N/A N/A N/A HTTPBadRequest N/A Received an ill-formed timestamp for %s: %s
 N/A N/A self name value N/A N/A _CacheControl N/A _MultiValueHeader N/A N/A 
    Cache-Control, RFC 2616 14.9  (use ``CACHE_CONTROL``)

    This header can be constructed (using keyword arguments), by
    first specifying one of the following mechanisms:

      ``public``

          if True, this argument specifies that the
          response, as a whole, may be cashed.

      ``private``

          if True, this argument specifies that the response, as a
          whole, may be cashed; this implementation does not support
          the enumeration of private fields

      ``no_cache``

          if True, this argument specifies that the response, as a
          whole, may not be cashed; this implementation does not
          support the enumeration of private fields

    In general, only one of the above three may be True, the other 2
    must then be False or None.  If all three are None, then the cache
    is assumed to be ``public``.  Following one of these mechanism
    specifiers are various modifiers:

      ``no_store``

          indicates if content may be stored on disk;
          otherwise cache is limited to memory (note:
          users can still save the data, this applies
          to intermediate caches)

      ``max_age``

          the maximum duration (in seconds) for which
          the content should be cached; if ``no-cache``
          is specified, this defaults to 0 seconds

      ``s_maxage``

          the maximum duration (in seconds) for which the
          content should be allowed in a shared cache.

      ``no_transform``

          specifies that an intermediate cache should
          not convert the content from one type to
          another (e.g. transform a BMP to a PNG).

      ``extensions``

          gives additional cache-control extensions,
          such as items like, community="UCI" (14.9.6)

    The usage of ``apply()`` on this header has side-effects. As
    recommended by RFC 2616, if ``max_age`` is provided, then then the
    ``Expires`` header is also calculated for HTTP/1.0 clients and
    proxies (this is done at the time ``apply()`` is called).  For
    ``no-cache`` and for ``private`` cases, we either do not want the
    response cached or do not want any response accidently returned to
    other users; so to prevent this case, we set the ``Expires`` header
    to the time of the request, signifying to HTTP/1.0 transports that
    the content isn't to be cached.  If you are using SSL, your
    communication is already "private", so to work with HTTP/1.0
    browsers over SSL, consider specifying your cache as ``public`` as
    the distinction between public and private is moot.
     N/A ONE_HOUR N/A 60 60 N/A ONE_DAY N/A ONE_HOUR 24 N/A ONE_WEEK N/A ONE_DAY 7 N/A ONE_MONTH N/A ONE_DAY 30 N/A ONE_YEAR N/A ONE_WEEK 52 _compose N/A N/A self public private no_cache no_store max_age s_maxage no_transform N/A None None None False None None False extensions N/A N/A N/A isinstance max_age N/A N/A type None int N/A N/A isinstance s_maxage N/A N/A type None int N/A expires 0 N/A result N/A N/A N/A private True N/A N/A N/A N/A public N/A no_cache N/A s_maxage N/A N/A N/A result append private N/A N/A N/A no_cache True N/A N/A N/A N/A public N/A private N/A max_age N/A N/A N/A result append no-cache N/A N/A N/A N/A public None N/A public True N/A N/A N/A private N/A no_cache N/A expires max_age N/A N/A N/A result append public N/A no_store N/A N/A N/A N/A result append no-store N/A no_transform N/A N/A N/A N/A result append no-transform N/A N/A max_age None N/A N/A N/A N/A result append N/A max-age=%d max_age N/A N/A s_maxage None N/A N/A N/A N/A result append N/A s-maxage=%d s_maxage N/A N/A k v N/A N/A six iteritems extensions N/A N/A N/A k N/A self extensions N/A N/A N/A AssertionError N/A unexpected extension used: '%s' k N/A N/A N/A result append N/A %s="%s" N/A N/A N/A k replace _ - v N/A N/A result expires N/A compose N/A N/A self N/A kwargs N/A N/A N/A result expires N/A N/A self _compose kwargs N/A result N/A apply N/A N/A self collection N/A kwargs N/A N/A  returns the offset expiration in seconds  N/A N/A result expires N/A N/A self _compose kwargs N/A N/A expires None N/A N/A N/A N/A EXPIRES update collection delta expires N/A N/A N/A self update collection result N/A expires N/A N/A N/A N/A _CacheControl Cache-Control general RFC 2616, 14.9 _ContentType N/A _SingleValueHeader N/A N/A 
    Content-Type, RFC 2616 section 14.17

    Unlike other headers, use the CGI variable instead.
     N/A version 1.0 N/A _environ_name CONTENT_TYPE N/A UNKNOWN application/octet-stream N/A TEXT_PLAIN text/plain N/A TEXT_HTML text/html N/A TEXT_XML text/xml compose N/A N/A self major minor charset N/A None None None N/A N/A N/A major N/A N/A N/A minor N/A plain html xml N/A N/A major text N/A N/A N/A N/A minor N/A charset N/A N/A N/A self UNKNOWN N/A N/A minor N/A N/A minor * N/A result N/A %s/%s N/A major minor N/A charset N/A N/A result N/A ; charset=%s charset N/A N/A result N/A N/A N/A N/A _ContentType Content-Type entity RFC 2616, 14.17 _ContentLength N/A _SingleValueHeader N/A N/A 
    Content-Length, RFC 2616 section 14.13

    Unlike other headers, use the CGI variable instead.
     N/A version 1.0 N/A _environ_name CONTENT_LENGTH N/A N/A N/A _ContentLength Content-Length entity RFC 2616, 14.13 _ContentDisposition N/A _SingleValueHeader N/A N/A 
    Content-Disposition, RFC 2183 (use ``CONTENT_DISPOSITION``)

    This header can be constructed (using keyword arguments),
    by first specifying one of the following mechanisms:

      ``attachment``

          if True, this specifies that the content should not be
          shown in the browser and should be handled externally,
          even if the browser could render the content

      ``inline``

         exclusive with attachment; indicates that the content
         should be rendered in the browser if possible, but
         otherwise it should be handled externally

    Only one of the above 2 may be True.  If both are None, then
    the disposition is assumed to be an ``attachment``. These are
    distinct fields since support for field enumeration may be
    added in the future.

      ``filename``

          the filename parameter, if any, to be reported; if
          this is None, then the current object's filename
          attribute is used

    The usage of ``apply()`` on this header has side-effects. If
    filename is provided, and Content-Type is not set or is
    'application/octet-stream', then the mimetypes.guess is used to
    upgrade the Content-Type setting.
     _compose N/A N/A self attachment inline filename N/A None None None N/A N/A result N/A N/A N/A inline True N/A N/A N/A attachment N/A N/A N/A result append inline N/A N/A N/A inline N/A N/A N/A result append attachment N/A filename N/A N/A N/A " filename N/A filename N/A N/A N/A filename split / N/A -1 N/A filename N/A N/A N/A filename split \ N/A -1 N/A N/A N/A result append N/A filename="%s" filename N/A N/A N/A N/A N/A ;  join result filename N/A compose N/A N/A self N/A kwargs N/A N/A N/A result mimetype N/A N/A self _compose kwargs N/A result N/A apply N/A N/A self collection N/A kwargs N/A N/A  return the new Content-Type side-effect value  N/A N/A result filename N/A N/A self _compose kwargs N/A mimetype N/A CONTENT_TYPE collection N/A N/A filename N/A N/A mimetype N/A N/A CONTENT_TYPE UNKNOWN mimetype N/A N/A N/A mimetype _ N/A N/A mimetypes guess_type filename N/A N/A mimetype N/A N/A CONTENT_TYPE UNKNOWN mimetype N/A N/A N/A N/A CONTENT_TYPE update collection mimetype N/A N/A N/A self update collection result N/A mimetype N/A N/A N/A N/A _ContentDisposition Content-Disposition entity RFC 2183 _IfModifiedSince N/A _DateHeader N/A N/A 
    If-Modified-Since, RFC 2616 section 14.25
     N/A version 1.0 __call__ N/A N/A self N/A args kwargs N/A N/A 
        Split the value on ';' incase the header includes extra attributes. E.g.
        IE 6 is known to send:
        If-Modified-Since: Sun, 25 Jun 2006 20:36:35 GMT; length=1506
         N/A N/A N/A N/A N/A N/A _DateHeader __call__ self args kwargs split ; 1 N/A 0 N/A parse N/A N/A self N/A args kwargs N/A N/A value N/A N/A _DateHeader parse self args kwargs N/A N/A value N/A value N/A now N/A N/A N/A HTTPBadRequest N/A Please check your system clock.
According to this server, the time provided in the
%s header is in the future.
 N/A self name N/A value N/A N/A N/A N/A _IfModifiedSince If-Modified-Since request RFC 2616, 14.25 _Range N/A _MultiValueHeader N/A N/A 
    Range, RFC 2616 14.35 (use ``RANGE``)

    According to section 14.16, the response to this message should be a
    206 Partial Content and that if multiple non-overlapping byte ranges
    are requested (it is an error to request multiple overlapping
    ranges) the result should be sent as multipart/byteranges mimetype.

    The server should respond with '416 Requested Range Not Satisfiable'
    if the requested ranges are out-of-bounds.  The specification also
    indicates that a syntax error in the Range request should result in
    the header being ignored rather than a '400 Bad Request'.
     parse N/A N/A self N/A args kwargs N/A N/A 
        Returns a tuple (units, list), where list is a sequence of
        (begin, end) tuples; and end is None if it was not provided.
         N/A value N/A N/A self __call__ args kwargs N/A N/A value N/A N/A None N/A ranges N/A N/A last_end -1 N/A N/A N/A N/A units range N/A N/A value split = 1 N/A units N/A N/A N/A N/A units strip lower N/A item N/A N/A range split , N/A N/A N/A begin end N/A N/A item split - N/A N/A N/A N/A begin strip N/A N/A begin 0 N/A N/A begin N/A int begin N/A N/A begin last_end N/A N/A N/A ValueError N/A N/A N/A N/A end strip N/A N/A end None N/A N/A end N/A int end N/A last_end end N/A N/A N/A ranges append N/A begin end N/A N/A N/A ValueError N/A N/A None N/A N/A units ranges N/A N/A N/A N/A _Range Range request RFC 2616, 14.35 _AcceptLanguage N/A _MultiValueHeader N/A N/A 
    Accept-Language, RFC 2616 section 14.4
     parse N/A N/A self N/A args kwargs N/A N/A 
        Return a list of language tags sorted by their "q" values.  For example,
        "en-us,en;q=0.5" should return ``["en-us", "en"]``.  If there is no
        ``Accept-Language`` header present, default to ``[]``.
         N/A header N/A N/A self __call__ args kwargs N/A N/A header None N/A N/A N/A N/A langs N/A v N/A v N/A N/A header split , v N/A qs N/A N/A lang langs N/A N/A pieces N/A N/A lang split ; N/A N/A lang params N/A N/A N/A N/A N/A N/A pieces N/A 0 strip lower N/A pieces N/A 1 N/A q 1 N/A param params N/A N/A N/A = param N/A N/A N/A N/A lvalue rvalue N/A N/A param split = N/A lvalue N/A N/A N/A N/A lvalue strip lower N/A rvalue N/A N/A rvalue strip N/A N/A lvalue q N/A N/A q N/A float rvalue N/A N/A N/A qs append N/A lang q N/A N/A N/A qs sort key N/A N/A N/A query N/A N/A query N/A 1 reverse True N/A N/A lang N/A N/A lang q qs N/A N/A N/A N/A _AcceptLanguage Accept-Language request RFC 2616, 14.4 _AcceptRanges N/A _MultiValueHeader N/A N/A 
    Accept-Ranges, RFC 2616 section 14.5
     compose N/A N/A self none bytes N/A None None N/A N/A bytes N/A N/A N/A bytes N/A N/A none N/A N/A N/A N/A _AcceptRanges Accept-Ranges response RFC 2616, 14.5 _ContentRange N/A _SingleValueHeader N/A N/A 
    Content-Range, RFC 2616 section 14.6
     compose N/A N/A self first_byte last_byte total_length N/A None None None N/A N/A retval N/A bytes %d-%d/%d N/A first_byte last_byte total_length N/A N/A N/A last_byte -1 N/A first_byte last_byte N/A N/A last_byte total_length N/A N/A retval N/A N/A N/A N/A _ContentRange Content-Range entity RFC 2616, 14.6 _Authorization N/A _SingleValueHeader N/A N/A 
    Authorization, RFC 2617 (RFC 2616, 14.8)
     compose N/A N/A self digest basic username password challenge path method N/A None None None None None None None N/A N/A N/A username password N/A N/A basic N/A challenge N/A N/A N/A digest N/A userpass N/A %s:%s N/A N/A N/A username strip N/A N/A password strip N/A N/A Basic %s N/A N/A N/A N/A userpass encode base64 strip N/A N/A challenge N/A basic N/A path N/A path / N/A N/A _ realm N/A N/A challenge split realm=" N/A N/A realm _ N/A N/A realm split " 1 N/A auth N/A AbstractDigestAuthHandler N/A N/A N/A auth add_password realm path username password N/A N/A token challenge N/A N/A challenge split 1 N/A chal N/A parse_keqv_list N/A parse_http_list challenge FakeRequest N/A object N/A N/A N/A six PY3 N/A full_url N/A N/A self N/A N/A N/A path N/A property N/A selector full_url data N/A N/A self N/A N/A N/A None N/A property N/A get_full_url N/A N/A self N/A N/A N/A path N/A N/A get_selector get_full_url has_data N/A N/A self N/A N/A N/A False N/A get_method N/A N/A self N/A N/A N/A N/A method GET N/A N/A N/A retval N/A Digest %s N/A N/A auth get_authorization N/A FakeRequest chal N/A N/A retval N/A N/A N/A N/A _Authorization Authorization request RFC 2617 N/A N/A name category version style comment N/A N/A Accept request 1.1 multi-value RFC 2616, 14.1 N/A Accept-Charset request 1.1 multi-value RFC 2616, 14.2 N/A Accept-Encoding request 1.1 multi-value RFC 2616, 14.3 N/A Age response 1.1 singular RFC 2616, 14.6 N/A Allow entity 1.0 multi-value RFC 2616, 14.7 N/A Cookie request 1.0 multi-value RFC 2109/Netscape N/A Connection general 1.1 multi-value RFC 2616, 14.10 N/A Content-Encoding entity 1.0 multi-value RFC 2616, 14.11 N/A Content-Language entity 1.1 multi-value RFC 2616, 14.12 N/A Content-Location entity 1.1 singular RFC 2616, 14.14 N/A Content-MD5 entity 1.1 singular RFC 2616, 14.15 N/A Date general 1.0 date-header RFC 2616, 14.18 N/A ETag response 1.1 singular RFC 2616, 14.19 N/A Expect request 1.1 multi-value RFC 2616, 14.20 N/A Expires entity 1.0 date-header RFC 2616, 14.21 N/A From request 1.0 singular RFC 2616, 14.22 N/A Host request 1.1 singular RFC 2616, 14.23 N/A If-Match request 1.1 multi-value RFC 2616, 14.24 N/A If-None-Match request 1.1 multi-value RFC 2616, 14.26 N/A If-Range request 1.1 singular RFC 2616, 14.27 N/A If-Unmodified-Since request 1.1 date-header RFC 2616, 14.28 N/A Last-Modified entity 1.0 date-header RFC 2616, 14.29 N/A Location response 1.0 singular RFC 2616, 14.30 N/A Max-Forwards request 1.1 singular RFC 2616, 14.31 N/A Pragma general 1.0 multi-value RFC 2616, 14.32 N/A Proxy-Authenticate response 1.1 multi-value RFC 2616, 14.33 N/A Proxy-Authorization request 1.1 singular RFC 2616, 14.34 N/A Referer request 1.0 singular RFC 2616, 14.36 N/A Retry-After response 1.1 singular RFC 2616, 14.37 N/A Server response 1.0 singular RFC 2616, 14.38 N/A Set-Cookie response 1.0 multi-entry RFC 2109/Netscape N/A TE request 1.1 multi-value RFC 2616, 14.39 N/A Trailer general 1.1 multi-value RFC 2616, 14.40 N/A Transfer-Encoding general 1.1 multi-value RFC 2616, 14.41 N/A Upgrade general 1.1 multi-value RFC 2616, 14.42 N/A User-Agent request 1.0 singular RFC 2616, 14.43 N/A Vary response 1.1 multi-value RFC 2616, 14.44 N/A Via general 1.1 multi-value RFC 2616, 14.45 N/A Warning general 1.1 multi-entry RFC 2616, 14.46 N/A WWW-Authenticate response 1.0 multi-entry RFC 2616, 14.47 N/A N/A klass N/A N/A multi-value multi-entry date-header singular _MultiValueHeader _MultiEntryHeader _DateHeader _SingleValueHeader N/A style N/A N/A N/A klass name category comment version __doc__ comment N/A klass N/A head N/A N/A _headers values N/A N/A headname N/A N/A N/A N/A N/A head name replace - _ upper N/A N/A N/A locals N/A headname head N/A N/A N/A __all__ append headname N/A __pudge_all__ N/A __all__ N/A N/A N/A _name _obj N/A N/A six iteritems N/A dict N/A globals N/A N/A N/A N/A isinstance _obj type N/A issubclass _obj HTTPHeader N/A N/A N/A N/A __pudge_all__ append _name