(module (expression_statement (string (string_start) (string_content) (string_end))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_statement name: (dotted_name (identifier))) (import_statement name: (dotted_name (identifier))) (import_from_statement module_name: (relative_import (import_prefix) (dotted_name (identifier))) name: (dotted_name (identifier))) (expression_statement (assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (decorated_definition (decorator (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) definition: (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end)))))) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end)))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (call function: (attribute object: (string (string_start) (string_content) (string_end)) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))) (keyword_argument name: (identifier) value: (identifier))))))))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (identifier))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (boolean_operator left: (comparison_operator (identifier) (identifier)) right: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (call function: (attribute object: (string (string_start) (string_content) (string_end)) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))) (keyword_argument name: (identifier) value: (identifier))))))))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (identifier))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (not_operator argument: (call function: (identifier) arguments: (argument_list (identifier) (identifier)))) consequence: (block (return_statement (identifier)))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (identifier) (identifier))) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (not_operator argument: (call function: (identifier) arguments: (argument_list (identifier) (identifier)))) consequence: (block (return_statement (identifier)))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (identifier) (identifier))) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))))) alternative: (elif_clause condition: (parenthesized_expression (boolean_operator left: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) right: (not_operator argument: (call function: (identifier) arguments: (argument_list (identifier) (tuple (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)) (none))))) (if_statement condition: (identifier) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (generator_expression body: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) (for_in_clause left: (identifier) right: (identifier))))))))))) (return_statement (identifier)))) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (parenthesized_expression (boolean_operator left: (boolean_operator left: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) right: (not_operator argument: (call function: (identifier) arguments: (argument_list (identifier) (identifier))))))))))))) (decorated_definition (decorator (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) definition: (class_definition name: (identifier) superclasses: (argument_list (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier)))) alternative: (elif_clause condition: (call function: (identifier) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)) (true))) consequence: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))))) alternative: (else_clause body: (block (raise_statement (call function: (identifier) arguments: (argument_list (call function: (attribute object: (string (string_start) (string_content) (string_end)) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))))))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (false))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (delete_statement (subscript value: (identifier) subscript: (identifier)))) alternative: (elif_clause condition: (call function: (identifier) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)) (true))) consequence: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list (identifier)))))) alternative: (else_clause body: (block (raise_statement (call function: (identifier) arguments: (argument_list (call function: (attribute object: (string (string_start) (string_content) (string_end)) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))))))))))))))