(module (expression_statement (string (string_start) (string_content) (string_end))) (comment) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (comment) (expression_statement (assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (comment) (class_definition name: (identifier) superclasses: (argument_list (attribute object: (identifier) attribute: (identifier))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (false)) (default_parameter name: (identifier) value: (integer))) body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer) (float))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (return_statement))))) (class_definition name: (identifier) superclasses: (argument_list (attribute object: (identifier) attribute: (identifier))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none))) body: (block (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (identifier)))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary))) (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (dictionary))) (comment) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (false))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (integer))) body: (block (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)))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (list (integer)) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (list (integer)) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))) (for_statement left: (identifier) right: (binary_operator left: (identifier) right: (identifier)) (comment) body: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (if_statement condition: (identifier) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (expression_statement (assignment left: (identifier) right: (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)))))) (comment) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) right: (identifier))) (comment))) (comment) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (integer))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (integer))))) (return_statement))) (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 (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (dictionary))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (unary_operator argument: (integer))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (false)) (default_parameter name: (identifier) value: (false)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (comment) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) (comment) (comment) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) (comment) body: (block (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier) format_specifier: (format_specifier)) (string_content) (interpolation expression: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) (string_content) (string_end)))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) alternative: (else_clause body: (block (expression_statement (call function: (identifier) arguments: (argument_list (identifier))))))))) (expression_statement (assignment left: (identifier) right: (dictionary))) (comment) (comment) (for_statement left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) (comment) body: (block (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (integer))) (continue_statement) (comment))) (comment) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (attribute object: (identifier) attribute: (identifier))) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (attribute object: (identifier) attribute: (identifier))) right: (float)))))) (comment) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (integer))) (if_statement condition: (boolean_operator left: (not_operator argument: (attribute object: (identifier) attribute: (identifier))) right: (comparison_operator (identifier) (attribute object: (identifier) attribute: (identifier)))) (comment) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (attribute object: (identifier) attribute: (identifier))) (string_content) (string_end))))))))))) (comment) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) (comment) consequence: (block (if_statement condition: (boolean_operator left: (attribute object: (identifier) attribute: (identifier)) right: (comparison_operator (identifier) (attribute object: (identifier) attribute: (identifier)))) (comment) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (integer)))) alternative: (else_clause body: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (integer))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) (keyword_argument name: (identifier) value: (identifier)))))) (comment) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (comment) (if_statement condition: (identifier) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) (comment) consequence: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (integer))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (identifier) right: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (attribute object: (identifier) attribute: (identifier))) (string_content) (interpolation expression: (attribute object: (identifier) attribute: (identifier))) (string_content) (string_end)))))))))))))))))) (comment) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (integer))))))) (comment) (if_statement condition: (comparison_operator (identifier) (call function: (identifier) arguments: (argument_list (identifier)))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (comment) (if_statement condition: (boolean_operator left: (identifier) right: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment) consequence: (block (expression_statement (assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))))) (expression_statement (augmented_assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))))) (expression_statement (assignment left: (identifier) right: (list))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (if_statement condition: (boolean_operator left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))) (comment) consequence: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (integer))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (if_statement condition: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (attribute object: (identifier) attribute: (identifier))) (string_content) (string_end))))))))))) (for_statement left: (identifier) right: (identifier) (comment) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))))))))))) (comment) (if_statement condition: (comparison_operator (identifier) (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) consequence: (block (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (string_end))))))) (for_statement left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) body: (block (if_statement condition: (comparison_operator (string (string_start) (string_content) (string_end)) (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list))) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment)) alternative: (else_clause body: (block (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment))))))) (expression_statement (augmented_assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))))))) (comment) (if_statement condition: (comparison_operator (identifier) (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) consequence: (block (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (string_end))))))) (expression_statement (augmented_assignment left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment))) (comment) (if_statement condition: (comparison_operator (identifier) (call function: (identifier) arguments: (argument_list (identifier)))) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (comment) (if_statement condition: (boolean_operator left: (identifier) right: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment) consequence: (block (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (identifier)) (string_end))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) (keyword_argument name: (identifier) value: (identifier)))))) (expression_statement (assignment left: (identifier) right: (list))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (if_statement condition: (boolean_operator left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))) consequence: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (integer))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (for_statement left: (identifier) right: (identifier) (comment) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))))))))))))) (comment) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))))) (comment) (if_statement condition: (identifier) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))) (comment) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (true))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (true)))))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content (escape_sequence)) (interpolation expression: (identifier) format_specifier: (format_specifier)) (string_content (escape_sequence)) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) format_specifier: (format_specifier)) (string_content) (interpolation expression: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) format_specifier: (format_specifier)) (string_content) (interpolation expression: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) format_specifier: (format_specifier)) (string_content) (string_end))))))) (if_statement condition: (identifier) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))))) (return_statement (attribute object: (identifier) attribute: (identifier))))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (if_statement condition: (not_operator argument: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (false)) (keyword_argument name: (identifier) value: (identifier))))) (comment))) (expression_statement (assignment left: (identifier) right: (integer))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) body: (block (if_statement condition: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (augmented_assignment left: (identifier) right: (identifier))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier))) (string_content) (interpolation expression: (identifier) format_specifier: (format_specifier)) (string_content) (interpolation expression: (identifier) format_specifier: (format_specifier)) (string_content) (interpolation expression: (identifier) format_specifier: (format_specifier)) (string_content) (interpolation expression: (identifier) format_specifier: (format_specifier)) (string_end))))))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (identifier)) (string_end))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (true)) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (true)) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (if_statement condition: (identifier) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end))))))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (tuple (integer) (integer)))))))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (integer)) (pair key: (string (string_start) (string_content) (string_end)) value: (float))))))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (integer)) (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end)))))))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (float)) (pair key: (string (string_start) (string_content) (string_end)) value: (float)) (pair key: (string (string_start) (string_content) (string_end)) value: (float)) (pair key: (string (string_start) (string_content) (string_end)) value: (float)) (pair key: (string (string_start) (string_content) (string_end)) value: (float)) (pair key: (string (string_start) (string_content) (string_end)) value: (float))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier)))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (integer))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary (comment) (pair key: (string (string_start) (string_content) (string_end)) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end))) (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end))) (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end))) (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end))))))) (pair key: (string (string_start) (string_content) (string_end)) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end))) (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end))) (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end)))))))))))) (expression_statement (assignment left: (identifier) right: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))) (pair key: (string (string_start) (string_content) (string_end)) value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))))) (for_statement left: (pattern_list (identifier) (identifier) (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 (integer) (integer) (binary_operator left: (identifier) right: (integer))))) (for_statement left: (pattern_list (identifier) (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (binary_operator left: (identifier) right: (identifier))))) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (identifier) (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (identifier)) (keyword_argument name: (identifier) value: (identifier))))) (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) (subscript value: (identifier) subscript: (identifier)) (keyword_argument name: (identifier) value: (list (identifier))) (dictionary_splat (identifier))))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (list (tuple (integer) (integer) (integer)))) (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))) (dictionary_splat (identifier))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) (comment) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (comment) (if_statement condition: (identifier) consequence: (block (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (identifier))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (string_end)))) (comment)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (raise_statement (identifier)))))) (comment) (decorated_definition (decorator (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (tuple (attribute object: (identifier) attribute: (identifier)))))) definition: (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (subscript value: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (integer))) subscript: (integer)))))) (decorated_definition (decorator (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (tuple (attribute object: (identifier) attribute: (identifier)))))) definition: (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (comparison_operator (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) (identifier)))))))