(module (future_import_statement name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier) (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier) (identifier)) name: (dotted_name (identifier))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (float)) (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: (identifier))))) (decorated_definition (decorator (identifier)) definition: (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)))))) (decorated_definition (decorator (attribute object: (identifier) attribute: (identifier))) definition: (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (binary_operator left: (unary_operator argument: (attribute object: (identifier) attribute: (identifier))) right: (parenthesized_expression (binary_operator left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier)))))))))))))))