(module (expression_statement (string (string_start) (string_content) (string_end))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) (wildcard_import)) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (binary_operator left: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) right: (integer)) right: (binary_operator left: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) right: (integer)))))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (function_definition name: (identifier) parameters: (parameters (identifier) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (list))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (integer))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (integer))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (integer))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (float))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (float))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (float))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (float))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (float))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (dictionary (pair key: (attribute object: (identifier) attribute: (identifier)) value: (integer)) (pair key: (attribute object: (identifier) attribute: (identifier)) value: (integer)) (pair key: (attribute object: (identifier) attribute: (identifier)) value: (integer))))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (float))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (float))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (list))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (list))))) (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (binary_operator left: (integer) right: (integer)))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (identifier))) (integer) (attribute object: (identifier) attribute: (identifier))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (identifier))) (integer) (attribute object: (identifier) attribute: (identifier))))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (attribute object: (identifier) attribute: (identifier))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)))))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer)) right: (parenthesized_expression (binary_operator left: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (integer))) right: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer)))))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer)) right: (parenthesized_expression (binary_operator left: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (integer))) right: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer)))))))))) (return_statement (expression_list (identifier) (identifier))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (integer) (integer) (integer))) right: (integer)))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (binary_operator left: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (integer))) right: (integer)) right: (integer)))))) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier))))))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (call function: (identifier) arguments: (argument_list (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier))))))) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (comment) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (call function: (identifier) arguments: (argument_list (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier))))))) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (comment) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (comment) (for_statement left: (identifier) right: (list (integer) (integer) (integer) (integer) (integer)) body: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (float) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (integer) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier))) (if_clause (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (integer))))))))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (identifier)))) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (lambda parameters: (lambda_parameters (identifier)) body: (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (integer)))) (attribute object: (identifier) attribute: (identifier)))) body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (if_statement condition: (comparison_operator (identifier) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (list))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) right: (parenthesized_expression (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) right: (parenthesized_expression (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))))) consequence: (block (return_statement))) (for_statement left: (identifier) right: (identifier) body: (block (if_statement condition: (call function: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (pattern_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) right: (call function: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) arguments: (argument_list (identifier))))) (return_statement))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (integer))) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier)))))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (integer))) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier)))))))) (if_statement condition: (boolean_operator left: (comparison_operator (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (integer)) right: (comparison_operator (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (attribute object: (identifier) attribute: (identifier)))) consequence: (block (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))) alternative: (else_clause body: (block (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))))) (if_statement condition: (boolean_operator left: (comparison_operator (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (integer)) right: (comparison_operator (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (attribute object: (identifier) attribute: (identifier)))) consequence: (block (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))) alternative: (else_clause body: (block (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (binary_operator left: (identifier) right: (integer)) right: (binary_operator left: (identifier) right: (integer))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (integer))))) (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (binary_operator left: (binary_operator left: (identifier) right: (identifier)) right: (attribute object: (identifier) attribute: (identifier))) right: (subscript value: (identifier) subscript: (attribute object: (identifier) attribute: (identifier)))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) consequence: (block (return_statement))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (integer))) (expression_statement (assignment left: (identifier) right: (conditional_expression (binary_operator left: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer)) right: (integer)) (comparison_operator (attribute object: (identifier) attribute: (identifier)) (integer)) (integer)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) consequence: (block (if_statement condition: (comparison_operator (subscript value: (identifier) subscript: (identifier)) (identifier)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier))))))) alternative: (elif_clause condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) consequence: (block (if_statement condition: (comparison_operator (subscript value: (identifier) subscript: (identifier)) (identifier)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))) (if_statement condition: (comparison_operator (binary_operator left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier))))))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)))) (if_statement condition: (comparison_operator (subscript value: (identifier) subscript: (identifier)) (identifier)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (return_statement))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (integer)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (integer))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))))))) (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (identifier) subscript: (attribute object: (identifier) attribute: (identifier)))))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (list_comprehension body: (identifier) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier))) (if_clause (comparison_operator (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (string (string_start) (string_content) (string_end))))))) (expression_statement (assignment left: (identifier) right: (list_comprehension body: (identifier) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier))) (if_clause (comparison_operator (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (string (string_start) (string_content) (string_end))))))) (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (identifier))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) (for_statement left: (identifier) right: (identifier) body: (block (if_statement condition: (call function: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (call function: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))))))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (tuple (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (identifier) right: (list))) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (attribute object: (identifier) attribute: (identifier)))) body: (block (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (integer)) (attribute object: (identifier) attribute: (identifier)))) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier) (identifier))) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (tuple (identifier) (identifier))))))))))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (subscript value: (identifier) subscript: (integer))))) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (subscript value: (identifier) subscript: (integer))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) (integer)) consequence: (block (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (if_statement condition: (call function: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (call function: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (list_comprehension body: (list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (false))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (identifier) consequence: (block (return_statement (list_comprehension body: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))))) alternative: (else_clause body: (block (return_statement (list_comprehension body: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (string (string_start) (string_content) (string_end)))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) right: (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (integer) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier))) (if_clause (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier)))))) right: (attribute object: (identifier) attribute: (identifier))))))) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (lambda parameters: (lambda_parameters (identifier)) body: (comparison_operator (identifier) (attribute object: (identifier) attribute: (identifier)))) (identifier))) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) right: (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (integer) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier))) (if_clause (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))))) right: (attribute object: (identifier) attribute: (identifier))))))) (for_statement left: (identifier) right: (list (integer) (integer) (integer) (integer) (integer)) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (call function: (attribute object: (string (string_start) (string_content) (string_end)) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (integer))))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (attribute object: (identifier) attribute: (identifier)) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier))) (if_clause (boolean_operator left: (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (integer))) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))))))))))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (if_statement condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (return_statement (dictionary_comprehension body: (pair key: (identifier) value: (identifier)) (for_in_clause left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list))) (if_clause (boolean_operator left: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end))))) right: (comparison_operator (identifier) (tuple (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))))))) alternative: (elif_clause condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (return_statement (dictionary_comprehension body: (pair key: (identifier) value: (identifier)) (for_in_clause left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list))) (if_clause (boolean_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)))) right: (comparison_operator (identifier) (tuple (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)))))))))) alternative: (else_clause body: (block (return_statement (attribute object: (identifier) attribute: (identifier)))))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (return_statement (call function: (identifier) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (function_definition name: (identifier) parameters: (parameters (identifier) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (list))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (list))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (integer))))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (assignment left: (identifier) right: (list))) (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier)))) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier)))) (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (dictionary_splat_pattern (identifier))) body: (block (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) body: (block (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (integer)) (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) body: (block (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)))) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list)) subscript: (identifier)))) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)))) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list)) subscript: (identifier)))) (if_statement condition: (comparison_operator (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (binary_operator left: (parenthesized_expression (binary_operator left: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (integer)))) right: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (integer)))))) right: (integer)) right: (binary_operator left: (parenthesized_expression (binary_operator left: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (integer)))) right: (parenthesized_expression (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (integer)))))) right: (integer))))) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))))))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (assignment left: (identifier) right: (list))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) body: (block (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (integer))) (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (integer))))))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (false))) body: (block (expression_statement (assignment left: (identifier) right: (list))) (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (if_statement condition: (identifier) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))) alternative: (else_clause body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (string (string_start) (string_content) (string_end)))) body: (block (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary))) (for_statement left: (identifier) right: (identifier) body: (block (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (integer) (for_in_clause left: (identifier) right: (call function: (identifier) arguments: (argument_list (lambda parameters: (lambda_parameters (identifier)) body: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier))) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))))))))) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) right: (attribute object: (identifier) attribute: (identifier)))))) (for_statement left: (identifier) right: (identifier) body: (block (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (integer) (for_in_clause left: (identifier) right: (call function: (identifier) arguments: (argument_list (lambda parameters: (lambda_parameters (identifier)) body: (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))))))))) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) right: (attribute object: (identifier) attribute: (identifier)))))) (for_statement left: (identifier) right: (list (integer) (integer) (integer) (integer) (integer)) body: (block (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (string (string_start) (string_content) (string_end)) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (integer)))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (attribute object: (identifier) attribute: (identifier)) (for_in_clause left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))) (if_clause (boolean_operator left: (boolean_operator left: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (integer))) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))))))))))))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (return_statement (call function: (identifier) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))))))))