Module Expr Str ImportFrom alias alias ImportFrom alias ImportFrom alias alias alias alias ImportFrom alias alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias alias alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias alias alias alias ImportFrom alias Assign NameStore Call NameLoad keyword NameLoad FunctionDef arguments args NameParam defaults body Return BoolOpOr Call NameLoad NameLoad TupleLoad NameLoad NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str If UnaryOpNot AttributeLoad NameLoad attr body Return If AttributeLoad UnaryOpUSub NameLoad attr body Assign NameStore Call NameLoad UnaryOpUSub NameLoad Return IfExp CompareIs NameLoad NameLoad NameLoad UnaryOpUSub NameLoad If BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr AttributeLoad SubscriptLoad Call AttributeLoad NameLoad attr Index Num attr body Assign NameStore NameLoad If AttributeLoad NameLoad attr body If AttributeLoad NameLoad attr body Return Call NameLoad Num orelse Return Call NameLoad Num orelse If AttributeLoad NameLoad attr body If AttributeLoad NameLoad attr body Return Call NameLoad Num orelse If AttributeLoad NameLoad attr body Return AttributeLoad NameLoad attr orelse Return NameLoad orelse If AttributeLoad NameLoad attr body If AttributeLoad NameLoad attr body Return Call NameLoad Num orelse If AttributeLoad NameLoad attr body Return AttributeLoad NameLoad attr orelse Return UnaryOpUSub NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return AttributeLoad NameLoad attr Return NameLoad Assign NameStore AttributeLoad NameLoad attr If CompareEq Call NameLoad NameLoad Num body If Call AttributeLoad NameLoad attr body ImportFrom alias ImportFrom alias ImportFrom alias Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad If BoolOpOr CompareEq NameLoad NameLoad CompareEq NameLoad UnaryOpUSub NameLoad body Assign NameStore AttributeLoad NameLoad attr If CompareIsNot NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If AttributeLoad NameLoad attr body Assign NameStore ListLoad orelse TryExcept body Assign NameStore Call NameLoad NameLoad handlers ExceptHandler type TupleLoad NameLoad NameLoad body Assign NameStore ListComp NameLoad comprehension NameStore Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If BoolOpAnd AttributeLoad NameLoad attr Call NameLoad GeneratorExp CompareLtE NameLoad NameLoad comprehension NameStore NameLoad body If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If NameLoad body Return IfExp AttributeLoad NameLoad attr NameLoad Call NameLoad Str keyword NameLoad orelse Return Call NameLoad Str keyword NameLoad If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If NameLoad body Return IfExp AttributeLoad NameLoad attr NameLoad Call NameLoad Str keyword NameLoad orelse Return Call NameLoad Str keyword NameLoad orelse If BoolOpAnd AttributeLoad NameLoad attr Call NameLoad GeneratorExp CompareGtE NameLoad NameLoad comprehension NameStore NameLoad body If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If NameLoad body Return Call NameLoad Str keyword NameLoad orelse Return Call NameLoad Str keyword NameLoad If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If NameLoad body Return Call NameLoad Str keyword NameLoad orelse Return Call NameLoad Str keyword NameLoad orelse Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad orelse If UnaryOpNot AttributeLoad NameLoad attr body If CompareIsNot Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad If BoolOpAnd CompareIsNot NameLoad NameLoad BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore BinOpMult NameLoad NameLoad If AttributeLoad NameLoad attr body Return Call NameLoad Str keyword NameLoad orelse If AttributeLoad NameLoad attr body Return Call NameLoad Str keyword NameLoad orelse If AttributeLoad NameLoad attr body Return Call NameLoad Str keyword NameLoad orelse If AttributeLoad NameLoad attr body Return Call NameLoad Str keyword NameLoad Return NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If UnaryOpNot BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return If BoolOpAnd BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad GeneratorExp AttributeLoad AttributeLoad NameLoad attr attr comprehension NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call NameLoad Num For NameStore Call AttributeLoad NameLoad attr NameLoad body If AttributeLoad NameLoad attr body AugAssignMult NameStore NameLoad Continue Assign NameStore Dict For NameStore AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index NameLoad Call NameLoad NameLoad If CompareIs SubscriptLoad NameLoad Index NameLoad NameLoad body Return AugAssignMult NameStore Call AttributeLoad NameLoad attr NameLoad orelse If NameLoad body If BoolOpAnd UnaryOpNot Call NameLoad GeneratorExp NameLoad comprehension NameStore Call AttributeLoad NameLoad attr NameLoad UnaryOpNot AttributeLoad NameLoad attr BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Dict For NameStore NameLoad body Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return Assign SubscriptStore NameLoad Index NameLoad BoolOpOr NameLoad IfExp AttributeLoad NameLoad attr NameLoad UnaryOpUSub NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore BinOpAdd NameLoad NameLoad If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Num If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body If AttributeLoad NameLoad attr body If UnaryOpNot AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad Call NameLoad Num AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr orelse Assign TupleStore NameStore NameStore TupleLoad NameLoad Num orelse Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr keyword NameLoad If CompareIs NameLoad AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad NameLoad Num orelse If CompareIsNot NameLoad AttributeLoad NameLoad attr body Assign NameStore Call NameLoad Call NameLoad Num AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr orelse Assign TupleStore NameStore NameStore TupleLoad NameLoad Num Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body If UnaryOpNot AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore TupleLoad NameLoad Num orelse Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr keyword NameLoad If CompareIs NameLoad AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad NameLoad Num orelse If CompareIsNot NameLoad AttributeLoad NameLoad attr body Assign NameStore Call NameLoad Call NameLoad Num AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr orelse Assign TupleStore NameStore NameStore TupleLoad NameLoad Num Return TupleLoad NameLoad NameLoad decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore ListLoad Str Str FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If Call NameLoad NameLoad TupleLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr orelse If BoolOpOr CompareIs NameLoad NameLoad CompareIs NameLoad AttributeLoad NameLoad attr body Assign NameStore Dict orelse If BoolOpOr CompareIs NameLoad AttributeLoad NameLoad attr CompareEq NameLoad Num body Assign NameStore Dict AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore Dict If CompareLt NameLoad Num body Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore UnaryOpUSub NameLoad If CompareIsNot NameLoad AttributeLoad NameLoad attr body If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareIs NameLoad AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index NameLoad AttributeLoad NameLoad attr orelse If AttributeLoad NameLoad attr body If CompareNotEq AttributeLoad NameLoad attr Num body Assign SubscriptStore NameLoad Index Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Raise Call NameLoad BinOpMod Str NameLoad orelse If BoolOpAnd Call NameLoad NameLoad NameLoad UnaryOpNot AttributeLoad NameLoad attr body Assign NameStore Dict NameLoad AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad For NameStore Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr If NameLoad body Assign SubscriptStore NameLoad Index NameLoad BinOpMult AttributeLoad NameLoad attr NameLoad If NameLoad body Assign SubscriptStore NameLoad Index Call NameLoad keyword NameLoad NameLoad AttributeLoad NameLoad attr orelse Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore ListLoad For NameStore NameLoad body If BoolOpOr CompareIs NameLoad NameLoad CompareIn NameLoad TupleLoad Num Num body Expr Call AttributeLoad NameLoad attr NameLoad If NameLoad body Assign NameStore AttributeLoad NameLoad attr For NameStore NameLoad body If UnaryOpNot Call NameLoad SubscriptLoad NameLoad Index NameLoad body Continue AugAssignMult NameStore BinOpPow NameLoad Call AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad AttributeLoad NameLoad attr body For NameStore IfExp AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad NameLoad body If CompareIs NameLoad AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index NameLoad AttributeLoad NameLoad attr orelse If CompareIs NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad AttributeLoad NameLoad attr orelse If AttributeLoad NameLoad attr body If CompareNotIn AttributeLoad NameLoad attr NameLoad body Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr AttributeLoad NameLoad attr AugAssignAdd SubscriptStore NameLoad Index AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq NameLoad Num body Assign SubscriptStore NameLoad Index NameLoad AttributeLoad NameLoad attr orelse If CompareEq NameLoad Num body Assign SubscriptStore NameLoad Index UnaryOpUSub NameLoad AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Raise Call NameLoad BinOpMod Str NameLoad Assign AttributeStore NameLoad attr NameLoad TryExcept body Assign AttributeStore NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise Call NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListComp SubscriptLoad AttributeLoad NameLoad attr Index NameLoad comprehension NameStore NameLoad Return Call NameLoad TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str Call AttributeLoad Str attr ListComp BinOpMod Str TupleLoad NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr Return BoolOpAnd CompareEq Call NameLoad NameLoad Num CompareIn AttributeLoad NameLoad attr NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Return UnaryOpNot AttributeLoad NameLoad attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If CompareNotEq NameLoad Num body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad Call NameLoad NameLoad NameLoad orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad orelse AugAssignMult NameStore NameLoad Expr Call AttributeLoad NameLoad attr BinOpPow NameLoad NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad If Call NameLoad GeneratorExp AttributeLoad NameLoad attr comprehension NameStore TupleLoad NameLoad NameLoad body Return Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If CompareIn NameLoad NameLoad body Assign NameStore BinOpAdd SubscriptLoad NameLoad Index NameLoad NameLoad If UnaryOpNot NameLoad body Delete SubscriptDel NameLoad Index NameLoad Continue Assign SubscriptStore NameLoad Index NameLoad NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad If AttributeLoad NameLoad attr body Return TupleLoad Call NameLoad Call NameLoad AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Return TupleLoad Call NameLoad AttributeLoad NameLoad attr Call NameLoad Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body TryExcept body Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad handlers ExceptHandler type NameLoad body Continue Assign NameStore BinOpSub NameLoad NameLoad If UnaryOpNot NameLoad body Delete SubscriptDel NameLoad Index NameLoad Delete SubscriptDel NameLoad Index NameLoad orelse If Call NameLoad NameLoad body If CompareGt NameLoad Num body Assign SubscriptStore NameLoad Index NameLoad NameLoad Delete SubscriptDel NameLoad Index NameLoad orelse Delete SubscriptDel NameLoad Index NameLoad Assign SubscriptStore NameLoad Index NameLoad UnaryOpUSub NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body If NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad Delete SubscriptDel NameLoad Index NameLoad orelse Delete SubscriptDel NameLoad Index NameLoad Delete SubscriptDel NameLoad Index NameLoad orelse Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore BinOpSub NameLoad NameLoad If CompareGt NameLoad Num body AugAssignSub SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore NameLoad orelse If CompareLt NameLoad Num body AugAssignSub SubscriptStore NameLoad Index NameLoad NameLoad AugAssignSub SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore BinOpSub NameLoad NameLoad orelse Assign SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore NameLoad If NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad orelse Delete SubscriptDel NameLoad Index NameLoad Return TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore TupleLoad Call NameLoad AttributeLoad NameLoad attr Dict If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad If AttributeLoad NameLoad attr body Raise NameLoad If AttributeLoad NameLoad attr body Return TupleLoad Call NameLoad AttributeLoad NameLoad attr Call NameLoad For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If CompareIn NameLoad NameLoad body Assign NameStore BinOpSub SubscriptLoad NameLoad Index NameLoad NameLoad If Call NameLoad NameLoad body If CompareLtE NameLoad Num body Delete SubscriptDel NameLoad Index NameLoad If CompareGtE NameLoad Num body If NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad Continue Assign NameStore UnaryOpUSub NameLoad orelse Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Index NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body If NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad orelse Delete SubscriptDel NameLoad Index NameLoad orelse Assign NameStore NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad NameLoad Index NameLoad attr If NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore BinOpSub NameLoad NameLoad If CompareGt NameLoad Num body AugAssignSub SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore NameLoad orelse If CompareLt NameLoad Num body AugAssignSub SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore BinOpSub NameLoad NameLoad orelse Assign SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore NameLoad If NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad orelse Assert CompareNotIn NameLoad NameLoad Continue Assign SubscriptStore NameLoad Index NameLoad NameLoad Return TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad If BoolOpAnd Call NameLoad NameLoad NameLoad CompareGtE NameLoad Num body Assign NameStore Dict If NameLoad body For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body Assign SubscriptStore NameLoad Index NameLoad BinOpMult NameLoad NameLoad Return Call NameLoad NameLoad orelse Raise Call NameLoad BinOpMod Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad If AttributeLoad NameLoad attr body Return Call NameLoad AttributeLoad NameLoad attr Assign NameStore Dict For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad If CompareIn NameLoad AttributeLoad NameLoad attr body Assign NameStore AttributeLoad BinOpSub NameLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr If CompareEq NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad orelse If CompareEq NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad If Call NameLoad GeneratorExp AttributeLoad NameLoad attr comprehension NameStore TupleLoad NameLoad NameLoad body Return Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If CompareIn NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad SubscriptLoad NameLoad Index NameLoad Assign SubscriptStore NameLoad Index NameLoad NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad Return CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return UnaryOpNot Call AttributeLoad NameLoad attr NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore ListLoad Str Str Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body If BoolOpAnd CompareIs NameLoad NameLoad CompareIs NameLoad NameLoad body If UnaryOpNot AttributeLoad NameLoad attr body Raise Call NameLoad Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad For NameStore NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad If AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr AugAssignMult NameStore BinOpPow NameLoad NameLoad If CompareGt NameLoad Num body AugAssignAdd SubscriptStore NameLoad Index NameLoad NameLoad orelse AugAssignAdd SubscriptStore NameLoad Index NameLoad UnaryOpUSub NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad orelse Assign NameStore NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMult AttributeLoad NameLoad attr BinOpDiv Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BinOpMult AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Return Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad BinOpDiv Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareLt NameLoad Num body Return Call AttributeLoad Call AttributeLoad NameLoad attr attr UnaryOpUSub NameLoad orelse Return Call NameLoad BinOpPow AttributeLoad NameLoad attr NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad orelse Return NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam defaults body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return BoolOpAnd CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return UnaryOpNot Call AttributeLoad NameLoad attr NameLoad decorator_list decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If BoolOpAnd Call NameLoad NameLoad NameLoad UnaryOpNot Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call NameLoad NameLoad ListComp NameLoad comprehension NameStore NameLoad NameLoad If CompareEq Call NameLoad NameLoad Num body Return TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq Call NameLoad NameLoad Num body Assign NameStore AttributeLoad SubscriptLoad NameLoad Index Num attr Assign NameStore Call AttributeLoad AttributeLoad SubscriptLoad NameLoad Index Num attr attr Assign NameStore Call AttributeLoad AttributeLoad SubscriptLoad NameLoad Index Num attr attr orelse Assign NameStore SubscriptLoad NameLoad Index Num For NameStore SubscriptLoad NameLoad Slice Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad Call AttributeLoad NameLoad attr NameLoad If NameLoad body Assign NameStore AttributeLoad SubscriptLoad NameLoad Index Num attr For NameStore SubscriptLoad NameLoad Slice Num body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore ListLoad For NameStore NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpMult AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr orelse Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore NameLoad Assign NameStore AttributeLoad Call NameLoad Call NameLoad Num attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr If BoolOpAnd UnaryOpNot NameLoad AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr AugAssignMult NameStore NameLoad Return TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListComp IfExp AttributeLoad NameLoad attr TupleLoad NameLoad ListLoad Call AttributeLoad NameLoad attr comprehension NameStore NameLoad Assign NameStore ListLoad For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad NameLoad body If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign SubscriptStore NameLoad Index NameLoad Call AttributeLoad NameLoad attr NameLoad orelse Assign SubscriptStore NameLoad Index NameLoad NameLoad Return TupleLoad NameLoad Call NameLoad NameLoad decorator_list Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore BoolOpOr NameLoad BoolOpAnd UnaryOpNot Call NameLoad NameLoad NameLoad Call NameLoad NameLoad keyword NameLoad UnaryOpNot Call NameLoad NameLoad NameLoad If NameLoad body If NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If UnaryOpNot NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot NameLoad AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore BinOpDiv NameLoad NameLoad If Call NameLoad GeneratorExp AttributeLoad SubscriptLoad Call AttributeLoad NameLoad attr Index Num attr comprehension NameStore AttributeLoad NameLoad attr body Assign NameStore NameLoad Assign NameStore BinOpMult NameLoad NameLoad Return Call NameLoad NameLoad BinOpDiv BinOpMult NameLoad NameLoad NameLoad keyword NameLoad If UnaryOpNot Call NameLoad NameLoad NameLoad body Return NameLoad If AttributeLoad NameLoad attr body Return NameLoad If AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Return Call NameLoad NameLoad Call NameLoad ListComp Call NameLoad NameLoad NameLoad NameLoad NameLoad comprehension NameStore NameLoad keyword NameLoad FunctionDef arguments args NameParam defaults body If UnaryOpNot Call NameLoad NameLoad NameLoad body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr ListComp Call NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr Return Call Call NameLoad NameLoad ListComp Call NameLoad NameLoad comprehension NameStore NameLoad Return Call NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list If Call NameLoad NameLoad NameLoad body Return Call NameLoad ListComp TupleLoad NameLoad Call NameLoad NameLoad comprehension TupleStore NameStore NameStore AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr ListComp Call NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad NameLoad If BoolOpOr UnaryOpNot Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr body If NameLoad body Return Call Call NameLoad NameLoad ListComp Call NameLoad NameLoad comprehension NameStore NameLoad Return NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad UnaryOpNot Call NameLoad NameLoad Str body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad ListComp Call NameLoad NameLoad comprehension NameStore NameLoad If CompareEq NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad If AttributeLoad NameLoad attr body Assign NameStore ListComp Call NameLoad NameLoad comprehension NameStore Call AttributeLoad NameLoad attr NameLoad If Call NameLoad GeneratorExp CompareLt SubscriptLoad Call AttributeLoad NameLoad attr Index Num Num comprehension NameStore NameLoad body Assign NameStore UnaryOpUSub NameLoad Assign NameStore ListComp UnaryOpUSub NameLoad comprehension NameStore NameLoad Assign NameStore Dict For TupleStore NameStore NameStore Call NameLoad NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr CompareNotEq NameLoad Call NameLoad AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index NameLoad Call NameLoad Assign SubscriptStore NameLoad Index SubscriptLoad NameLoad Index NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad Call NameLoad NameLoad keyword NameLoad keyword NameLoad keyword NameLoad attr NameLoad orelse If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr ListComp Call NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad Return NameLoad decorator_list Assign NameStore Call NameLoad NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Str FunctionDef arguments args defaults body Assign NameStore Num While NameLoad body Expr Yield BinOpAdd NameLoad Call NameLoad NameLoad AugAssignAdd NameStore Num decorator_list Assign NameStore Call NameLoad FunctionDef arguments args defaults vararg kwarg body ImportFrom alias Return Call NameLoad Call NameLoad NameLoad NameLoad NameLoad decorator_list Assign NameStore NameLoad If AttributeLoad NameLoad attr body Return TupleLoad NameLoad Dict ListLoad Assign NameStore ListLoad Assign NameStore Call NameLoad Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body If Call NameLoad GeneratorExp CompareEq NameLoad SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad body Expr Call AttributeLoad NameLoad attr orelse If UnaryOpNot AttributeLoad NameLoad attr body If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad orelse If UnaryOpNot BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If Call NameLoad GeneratorExp AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad Call NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr If BoolOpAnd CompareEq Call NameLoad NameLoad Num UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad Call AttributeLoad NameLoad attr Call NameLoad orelse If BoolOpAnd CompareEq Call NameLoad NameLoad Num UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad Call AttributeLoad NameLoad attr Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad For NameStore NameLoad body Assign NameStore Call NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr keyword NameLoad Return TupleLoad NameLoad BoolOpOr DictComp NameLoad NameLoad comprehension TupleStore NameStore NameStore NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str ImportFrom alias ImportFrom alias alias FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad decorator_list Assign NameStore Call NameLoad NameLoad If BoolOpOr UnaryOpNot Call NameLoad NameLoad NameLoad UnaryOpNot AttributeLoad NameLoad attr body Return NameLoad If UnaryOpNot AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr ListComp Call NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad If NameLoad body Return Call AttributeLoad Call NameLoad NameLoad attr NameLoad orelse Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore NameStore NameStore NameStore AttributeLoad NameLoad attr Assign NameStore NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body If CompareEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num orelse If SubscriptLoad NameLoad Index Num body Assign NameStore Call NameLoad NameLoad Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num orelse Assign NameStore AttributeLoad NameLoad attr If CompareIsNot NameLoad AttributeLoad NameLoad attr body Assign NameStore NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If CompareIsNot NameLoad AttributeLoad NameLoad attr body For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad NameLoad body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Assign SubscriptStore SubscriptLoad NameLoad Index NameLoad Index Num NameLoad For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad NameLoad body Assign SubscriptStore NameLoad Index Num BinOpDiv SubscriptLoad NameLoad Index Num NameLoad Assign SubscriptStore SubscriptLoad NameLoad Index NameLoad Index Num NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body If CompareEq NameLoad Num body Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index Num Slice orelse Assign NameStore Call NameLoad NameLoad SubscriptLoad NameLoad Index Num If UnaryOpNot NameLoad body If UnaryOpNot SubscriptLoad SubscriptLoad NameLoad Index Num Index Num body Break Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Index Num attr Assign NameStore NameLoad If AttributeLoad NameLoad attr body For NameStore NameLoad body If UnaryOpNot SubscriptLoad NameLoad Index Num body Break Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num attr If BoolOpAnd AttributeLoad NameLoad attr CompareEq NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad orelse Break orelse Assign NameStore NameStore NameLoad Assign NameStore BinOpPow NameLoad NameLoad Assign NameStore BinOpPow NameLoad UnaryOpUSub NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body Assign SubscriptStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Index Num BinOpMult NameLoad SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Index Num Break If UnaryOpNot NameLoad body Break orelse Assign NameStore NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body Assign SubscriptStore SubscriptLoad NameLoad Index NameLoad Index Num SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Slice NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body If CompareEq NameLoad Num body Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index Num Slice orelse Assign NameStore Call NameLoad NameLoad SubscriptLoad NameLoad Index Num If UnaryOpNot NameLoad body If UnaryOpNot SubscriptLoad SubscriptLoad NameLoad Index Num Index Num body Break Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Index Num attr Assign NameStore NameLoad If AttributeLoad NameLoad attr body For NameStore NameLoad body If UnaryOpNot SubscriptLoad NameLoad Index Num body Break Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num attr If BoolOpAnd AttributeLoad NameLoad attr CompareEq NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad orelse Break orelse Assign NameStore NameStore NameLoad Assign NameStore BinOpPow NameLoad NameLoad Assign NameStore BinOpPow NameLoad UnaryOpUSub NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body Assign SubscriptStore SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Index Num BinOpMult SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Index Num NameLoad Break If UnaryOpNot NameLoad body Break orelse Assign NameStore NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body Assign SubscriptStore SubscriptLoad NameLoad Index NameLoad Index Num SubscriptLoad SubscriptLoad NameLoad Index Num Slice BinOpSub Call NameLoad SubscriptLoad NameLoad Index Num NameLoad If NameLoad body Assign NameStore Call NameLoad ListComp BinOpMult Call NameLoad NameLoad Call NameLoad NameLoad comprehension TupleStore NameStore NameStore NameLoad orelse Assign NameStore NameLoad Assign NameStore ListComp TupleLoad NameLoad Call NameLoad comprehension NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore ListComp TupleLoad NameLoad NameLoad comprehension TupleStore NameStore NameStore NameLoad Expr Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr NameLoad If AttributeLoad NameLoad attr body Return Call NameLoad NameLoad BinOpMult BinOpMult BinOpMult NameLoad NameLoad NameLoad NameLoad If AttributeLoad NameLoad attr body Assign NameStore ListLoad Assign NameStore ListLoad For NameStore AttributeLoad NameLoad attr body If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad orelse Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpMult ListLoad NameLoad NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMult BinOpMult NameLoad Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad BinOpDiv NameLoad NameLoad For NameStore Call NameLoad NameLoad Call NameLoad NameLoad body Assign NameStore BinOpMult BinOpMult NameLoad Call NameLoad NameLoad NameLoad If CompareEq Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad Return Call NameLoad NameLoad BinOpMult BinOpMult BinOpMult NameLoad NameLoad NameLoad NameLoad decorator_list
N/A N/A Tools for manipulating of large commutative expressions.  __future__ print_function division sympy.core.add Add sympy.core.compatibility iterable is_sequence SYMPY_INTS range sympy.core.mul Mul _keep_coeff sympy.core.power Pow sympy.core.basic Basic preorder_traversal sympy.core.expr Expr sympy.core.sympify sympify sympy.core.numbers Rational Integer Number I sympy.core.singleton S sympy.core.symbol Dummy sympy.core.coreerrors NonCommutativeExpression sympy.core.containers Tuple Dict sympy.utilities default_sort_key sympy.utilities.iterables common_prefix common_suffix variations ordered collections defaultdict N/A _eps N/A Dummy positive True _isnumber N/A N/A i N/A N/A N/A N/A N/A isinstance i N/A SYMPY_INTS float N/A i is_Number N/A _monotonic_sign N/A N/A self N/A N/A N/A Return the value closest to 0 that ``self`` may have if all symbols
    are signed and the result is uniformly the same sign for all values of symbols.
    If a symbol is only signed but not known to be an
    integer or the result is 0 then a symbol representative of the sign of self
    will be returned. Otherwise, None is returned if a) the sign could be positive
    or negative or b) self is not in one of the following forms:

    - L(x, y, ...) + A: a function linear in all symbols x, y, ... with an
      additive constant; if A is zero then the function can be a monomial whose
      sign is monotonic over the range of the variables, e.g. (x + 1)**3 if x is
      nonnegative.
    - A/L(x, y, ...) + B: the inverse of a function linear in all symbols x, y, ...
      that does not have a sign change from positive to negative for any set
      of values for the variables.
    - M(x, y, ...) + A: a monomial M whose factors are all signed and a constant, A.
    - A/M(x, y, ...) + B: the inverse of a monomial and constants A and B.
    - P(x): a univariate polynomial

    Examples
    ========

    >>> from sympy.core.exprtools import _monotonic_sign as F
    >>> from sympy import Dummy, S
    >>> nn = Dummy(integer=True, nonnegative=True)
    >>> p = Dummy(integer=True, positive=True)
    >>> p2 = Dummy(integer=True, positive=True)
    >>> F(nn + 1)
    1
    >>> F(p - 1)
    _nneg
    >>> F(nn*p + 1)
    1
    >>> F(p2*p + 1)
    2
    >>> F(nn - 1)  # could be negative, zero or positive
     N/A N/A N/A self is_real N/A N/A N/A N/A N/A self is_Symbol N/A N/A rv N/A _monotonic_sign N/A self N/A N/A N/A rv None rv N/A rv N/A N/A N/A N/A self is_Add N/A N/A N/A N/A self as_numer_denom N/A 1 is_number N/A N/A s self N/A N/A s is_prime N/A N/A N/A s is_odd N/A N/A N/A S 3 N/A N/A N/A S 2 N/A N/A N/A s is_positive N/A N/A N/A s is_even N/A N/A N/A S 2 N/A N/A N/A s is_integer N/A N/A N/A S One N/A N/A _eps N/A N/A N/A s is_negative N/A N/A N/A s is_even N/A N/A N/A S -2 N/A N/A N/A s is_integer N/A N/A N/A S NegativeOne N/A N/A N/A _eps N/A N/A N/A s is_zero N/A s is_nonpositive N/A s is_nonnegative N/A N/A N/A S Zero N/A None N/A free N/A self free_symbols N/A N/A N/A len free 1 N/A N/A N/A N/A self is_polynomial N/A sympy.polys.polytools real_roots sympy.polys.polyroots roots sympy.polys.polyerrors PolynomialError N/A x N/A N/A free pop N/A x0 N/A _monotonic_sign x N/A N/A N/A x0 _eps N/A x0 N/A _eps N/A N/A x0 N/A S Zero N/A N/A x0 None N/A N/A d N/A N/A self diff x N/A N/A d is_number N/A N/A roots N/A N/A N/A N/A N/A roots N/A real_roots d N/A N/A N/A N/A PolynomialError NotImplementedError N/A N/A roots N/A r N/A r N/A roots d x N/A r is_real N/A y N/A N/A self subs x x0 N/A N/A N/A x is_nonnegative N/A all N/A N/A r x0 N/A r roots N/A N/A N/A N/A y is_nonnegative N/A d is_positive N/A N/A y N/A N/A N/A N/A y is_positive y N/A Dummy pos positive True N/A N/A N/A Dummy nneg nonnegative True N/A N/A N/A y is_nonpositive N/A d is_negative N/A N/A y N/A N/A N/A N/A y is_negative y N/A Dummy neg negative True N/A N/A N/A Dummy npos nonpositive True N/A N/A N/A N/A x is_nonpositive N/A all N/A N/A r x0 N/A r roots N/A N/A N/A N/A y is_nonnegative N/A d is_negative N/A N/A y N/A N/A N/A Dummy pos positive True N/A N/A N/A Dummy nneg nonnegative True N/A N/A N/A y is_nonpositive N/A d is_positive N/A N/A y N/A N/A N/A Dummy neg negative True N/A N/A N/A Dummy npos nonpositive True N/A N/A N/A n d N/A N/A self as_numer_denom N/A den None N/A N/A n is_number N/A N/A den N/A _monotonic_sign d N/A N/A N/A N/A d is_number N/A N/A N/A N/A _monotonic_sign n None N/A N/A den N/A _monotonic_sign d N/A N/A N/A den None N/A N/A den is_positive N/A den is_negative N/A N/A v N/A n den N/A N/A v is_positive N/A N/A N/A Dummy pos positive True N/A N/A N/A v is_nonnegative N/A N/A N/A Dummy nneg nonnegative True N/A N/A N/A v is_negative N/A N/A N/A Dummy neg negative True N/A N/A N/A v is_nonpositive N/A N/A N/A Dummy npos nonpositive True N/A None N/A N/A c a N/A N/A self as_coeff_Add N/A v None N/A N/A N/A N/A a is_polynomial N/A N/A N/A n d N/A N/A a as_numer_denom N/A N/A N/A N/A n is_number N/A d is_number N/A N/A N/A N/A N/A N/A a is_Mul N/A a is_Pow N/A a is_rational N/A all N/A N/A N/A p exp is_Integer N/A p N/A N/A a atoms Pow N/A p is_Pow N/A N/A a is_positive N/A a is_negative N/A N/A v N/A S 1 N/A ai N/A N/A Mul make_args a N/A N/A N/A ai is_number N/A N/A v ai N/A N/A reps N/A N/A x N/A ai free_symbols N/A N/A N/A reps N/A x N/A _monotonic_sign x N/A N/A N/A reps N/A x None N/A N/A N/A v N/A N/A ai subs reps N/A N/A c N/A N/A N/A N/A N/A any N/A p N/A p N/A N/A a atoms Pow N/A N/A p is_number N/A N/A a is_nonpositive N/A a is_nonnegative N/A N/A free N/A list N/A a free_symbols N/A p N/A N/A i free N/A N/A v N/A _monotonic_sign i N/A N/A v None N/A N/A N/A N/A p N/A i N/A v N/A N/A i is_nonnegative _eps N/A _eps N/A v N/A N/A a xreplace p N/A N/A v None N/A N/A rv N/A v c N/A N/A N/A v is_nonnegative N/A rv is_positive N/A N/A N/A N/A rv subs _eps 0 N/A N/A N/A v is_nonpositive N/A rv is_negative N/A N/A N/A N/A rv subs _eps 0 N/A decompose_power N/A N/A expr N/A N/A N/A 
    Decompose power into symbolic base and integer exponent.

    This is strictly only valid if the exponent from which
    the integer is extracted is itself an integer or the
    base is positive. These conditions are assumed and not
    checked here.

    Examples
    ========

    >>> from sympy.core.exprtools import decompose_power
    >>> from sympy.abc import x, y

    >>> decompose_power(x)
    (x, 1)
    >>> decompose_power(x**2)
    (x, 2)
    >>> decompose_power(x**(2*y))
    (x**y, 2)
    >>> decompose_power(x**(2*y/3))
    (x**(y/3), 2)

     N/A N/A base exp N/A N/A expr as_base_exp N/A N/A exp is_Number N/A N/A N/A exp is_Rational N/A N/A N/A N/A exp is_Integer N/A N/A base N/A Pow base N/A Rational 1 N/A exp q N/A exp N/A exp p N/A N/A N/A base exp N/A expr 1 N/A N/A N/A exp tail N/A N/A exp as_coeff_Mul rational True N/A N/A exp N/A S NegativeOne N/A N/A N/A base exp N/A N/A Pow base tail -1 N/A N/A N/A exp N/A S One N/A N/A tail N/A _keep_coeff N/A Rational 1 N/A exp q tail N/A N/A base exp N/A N/A Pow base tail N/A exp p N/A N/A N/A base exp N/A expr 1 N/A N/A base exp N/A decompose_power_rat N/A N/A expr N/A N/A N/A 
    Decompose power into symbolic base and rational exponent.

     N/A N/A base exp N/A N/A expr as_base_exp N/A N/A exp is_Number N/A N/A N/A N/A exp is_Rational N/A N/A N/A base exp N/A expr 1 N/A N/A N/A exp tail N/A N/A exp as_coeff_Mul rational True N/A N/A exp N/A S NegativeOne N/A N/A N/A base exp N/A N/A Pow base tail -1 N/A N/A N/A exp N/A S One N/A N/A tail N/A _keep_coeff N/A Rational 1 N/A exp q tail N/A N/A base exp N/A N/A Pow base tail N/A exp p N/A N/A N/A base exp N/A expr 1 N/A N/A base exp N/A Factors N/A object N/A N/A Efficient representation of ``f_1*f_2*...*f_n``. N/A __slots__ N/A factors gens __init__ N/A N/A self factors N/A None N/A N/A Initialize Factors from dict or expr.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x
        >>> from sympy import I
        >>> e = 2*x**3
        >>> Factors(e)
        Factors({2: 1, x: 3})
        >>> Factors(e.as_powers_dict())
        Factors({2: 1, x: 3})
        >>> f = _
        >>> f.factors  # underlying dictionary
        {2: 1, x: 3}
        >>> f.gens  # base of each factor
        frozenset([2, x])
        >>> Factors(0)
        Factors({0: 1})
        >>> Factors(I)
        Factors({I: 1})

        Notes
        =====

        Although a dictionary can be passed, only minimal checking is
        performed: powers of -1 and I are made canonical.

         N/A N/A isinstance factors N/A SYMPY_INTS float N/A N/A factors N/A S factors N/A N/A isinstance factors Factors N/A N/A factors N/A N/A N/A factors factors copy N/A N/A N/A N/A factors None N/A factors N/A S One N/A N/A factors N/A N/A N/A N/A N/A factors N/A S Zero N/A factors 0 N/A N/A factors N/A N/A S Zero N/A S One N/A N/A N/A isinstance factors Number N/A N/A n factors N/A factors N/A N/A N/A n 0 N/A N/A N/A factors N/A N/A S NegativeOne N/A S One N/A n N/A n N/A N/A n N/A S One N/A N/A N/A N/A n is_Float N/A n is_Integer N/A n N/A S Infinity N/A N/A N/A factors N/A n N/A S One N/A N/A N/A n is_Rational N/A N/A N/A N/A n p 1 N/A N/A N/A factors N/A N/A Integer N/A n p N/A S One N/A N/A factors N/A N/A Integer N/A n q N/A S NegativeOne N/A N/A N/A ValueError N/A Expected Float|Rational|Integer, not %s n N/A N/A N/A N/A isinstance factors Basic N/A N/A factors args N/A N/A factors N/A factors N/A S One N/A N/A N/A isinstance factors Expr N/A N/A N/A c nc N/A N/A factors args_cnc N/A i N/A N/A c count I N/A _ N/A range i N/A N/A N/A N/A c remove I N/A factors N/A dict N/A N/A N/A N/A Mul _from_args c as_powers_dict N/A i N/A N/A N/A factors N/A I N/A N/A S One i N/A nc N/A N/A N/A factors N/A N/A Mul evaluate False nc N/A S One N/A N/A factors N/A N/A factors copy N/A handle N/A N/A k factors N/A N/A N/A N/A k I N/A k N/A -1 1 N/A N/A N/A N/A handle append k N/A handle N/A N/A i1 N/A S One N/A k handle N/A N/A N/A N/A _isnumber N/A factors N/A k N/A N/A N/A i1 N/A k N/A N/A factors pop k N/A N/A i1 N/A S One N/A N/A a N/A N/A i1 is_Mul N/A i1 args N/A i1 N/A N/A N/A a N/A S NegativeOne N/A N/A N/A factors N/A a N/A S One N/A N/A N/A a I N/A N/A N/A factors N/A I N/A S One N/A N/A N/A a is_Pow N/A N/A N/A N/A S NegativeOne factors N/A N/A N/A factors N/A N/A S NegativeOne N/A S Zero N/A N/A factors N/A N/A S NegativeOne N/A a exp N/A N/A N/A a 1 N/A N/A N/A factors N/A a N/A S One N/A N/A N/A a -1 N/A N/A N/A factors N/A N/A a N/A S One N/A N/A factors N/A N/A S NegativeOne N/A S One N/A N/A N/A ValueError N/A unexpected factor in i1: %s a N/A N/A self factors factors N/A N/A N/A N/A self gens N/A frozenset N/A N/A factors keys N/A N/A N/A AttributeError N/A N/A N/A TypeError expecting Expr or dictionary N/A __hash__ N/A N/A self N/A N/A N/A keys N/A tuple N/A ordered N/A N/A N/A self factors keys N/A values N/A N/A N/A self factors N/A k N/A k keys N/A N/A hash N/A keys values N/A __repr__ N/A N/A self N/A N/A N/A N/A Factors({%s}) N/A N/A ,  join N/A N/A %s: %s N/A k v N/A N/A k v N/A ordered N/A N/A N/A self factors items N/A is_zero N/A N/A self N/A N/A N/A 
        >>> from sympy.core.exprtools import Factors
        >>> Factors(0).is_zero
        True
         N/A f N/A self factors N/A N/A N/A N/A len f 1 N/A N/A S Zero f N/A property is_one N/A N/A self N/A N/A N/A 
        >>> from sympy.core.exprtools import Factors
        >>> Factors(1).is_one
        True
         N/A N/A N/A self factors N/A property as_expr N/A N/A self N/A N/A N/A Return the underlying expression.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x, y
        >>> Factors((x*y**2).as_powers_dict()).as_expr()
        x*y**2

         N/A args N/A N/A N/A factor exp N/A N/A N/A self factors items N/A N/A N/A exp 1 N/A N/A N/A b e N/A N/A factor as_base_exp N/A N/A isinstance exp int N/A N/A e N/A _keep_coeff N/A Integer exp e N/A N/A N/A isinstance exp Rational N/A N/A e N/A _keep_coeff exp e N/A N/A e exp N/A N/A N/A args append N/A b e N/A N/A N/A N/A args append factor N/A N/A Mul args N/A mul N/A N/A self other N/A N/A N/A Return Factors of ``self * other``.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x, y, z
        >>> a = Factors((x*y**2).as_powers_dict())
        >>> b = Factors((x*y/z).as_powers_dict())
        >>> a.mul(b)
        Factors({x: 2, y: 3, z: -1})
        >>> a*b
        Factors({x: 2, y: 3, z: -1})
         N/A N/A N/A isinstance other Factors N/A N/A other N/A Factors other N/A N/A any N/A N/A f is_zero N/A f N/A self other N/A N/A N/A Factors N/A S Zero N/A factors N/A dict N/A self factors N/A N/A factor exp N/A N/A N/A other factors items N/A N/A N/A factor factors N/A N/A exp N/A N/A factors N/A factor exp N/A N/A exp N/A N/A N/A factors N/A factor N/A N/A N/A factors N/A factor exp N/A N/A Factors factors N/A normal N/A N/A self other N/A N/A N/A Return ``self`` and ``other`` with ``gcd`` removed from each.
        The only differences between this and method ``div`` is that this
        is 1) optimized for the case when there are few factors in common and
        2) this does not raise an error if ``other`` is zero.

        See Also
        ========
        div

         N/A N/A N/A isinstance other Factors N/A N/A other N/A Factors other N/A N/A other is_zero N/A N/A N/A N/A Factors N/A Factors N/A S Zero N/A N/A self is_zero N/A N/A N/A N/A Factors N/A S Zero N/A Factors N/A self_factors N/A dict N/A self factors N/A other_factors N/A dict N/A other factors N/A N/A factor self_exp N/A N/A N/A self factors items N/A N/A N/A N/A other_exp N/A N/A other factors N/A factor N/A N/A N/A KeyError N/A N/A N/A exp N/A self_exp other_exp N/A N/A exp N/A N/A N/A self_factors N/A factor N/A N/A other_factors N/A factor N/A N/A N/A _isnumber exp N/A N/A N/A exp 0 N/A N/A N/A self_factors N/A factor exp N/A N/A other_factors N/A factor N/A N/A N/A self_factors N/A factor N/A N/A other_factors N/A factor N/A exp N/A N/A r N/A N/A self_exp extract_additively other_exp N/A N/A r None N/A N/A r N/A N/A N/A self_factors N/A factor r N/A N/A other_factors N/A factor N/A N/A N/A self_factors N/A factor N/A N/A other_factors N/A factor N/A N/A N/A sc sa N/A N/A self_exp as_coeff_Add N/A sc N/A N/A N/A oc oa N/A N/A other_exp as_coeff_Add N/A diff N/A sc oc N/A N/A diff 0 N/A N/A N/A self_factors N/A factor oc N/A other_exp oa N/A N/A N/A diff 0 N/A N/A N/A self_factors N/A factor sc N/A N/A other_factors N/A factor sc N/A other_exp N/A oa diff N/A N/A N/A self_factors N/A factor sa N/A other_exp oa N/A other_exp N/A N/A N/A other_factors N/A factor other_exp N/A N/A N/A other_factors N/A factor N/A N/A N/A Factors self_factors N/A Factors other_factors N/A div N/A N/A self other N/A N/A N/A Return ``self`` and ``other`` with ``gcd`` removed from each.
        This is optimized for the case when there are many factors in common.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x, y, z
        >>> from sympy import S

        >>> a = Factors((x*y**2).as_powers_dict())
        >>> a.div(a)
        (Factors({}), Factors({}))
        >>> a.div(x*z)
        (Factors({y: 2}), Factors({z: 1}))

        The ``/`` operator only gives ``quo``:

        >>> a/x
        Factors({y: 2})

        Factors treats its factors as though they are all in the numerator, so
        if you violate this assumption the results will be correct but will
        not strictly correspond to the numerator and denominator of the ratio:

        >>> a.div(x/z)
        (Factors({y: 2}), Factors({z: -1}))

        Factors is also naive about bases: it does not attempt any denesting
        of Rational-base terms, for example the following does not become
        2**(2*x)/2.

        >>> Factors(2**(2*x + 2)).div(S(8))
        (Factors({2: 2*x + 2}), Factors({8: 1}))

        factor_terms can clean up such Rational-bases powers:

        >>> from sympy.core.exprtools import factor_terms
        >>> n, d = Factors(2**(2*x + 2)).div(S(8))
        >>> n.as_expr()/d.as_expr()
        2**(2*x + 2)/8
        >>> factor_terms(_)
        2**(2*x)/2

         N/A N/A quo rem N/A N/A dict N/A self factors N/A N/A N/A N/A isinstance other Factors N/A N/A other N/A Factors other N/A N/A other is_zero N/A N/A ZeroDivisionError N/A N/A self is_zero N/A N/A N/A N/A Factors N/A S Zero N/A Factors N/A N/A factor exp N/A N/A N/A other factors items N/A N/A N/A factor quo N/A N/A d N/A N/A quo N/A factor exp N/A N/A _isnumber d N/A N/A N/A d 0 N/A N/A N/A quo N/A factor N/A N/A d 0 N/A N/A d N/A N/A N/A quo N/A factor d N/A N/A exp N/A d N/A N/A r N/A N/A N/A quo N/A factor extract_additively exp N/A N/A r None N/A N/A r N/A N/A N/A quo N/A factor r N/A N/A N/A quo N/A factor N/A N/A other_exp exp N/A N/A sc sa N/A N/A N/A quo N/A factor as_coeff_Add N/A sc N/A N/A N/A oc oa N/A N/A other_exp as_coeff_Add N/A diff N/A sc oc N/A N/A diff 0 N/A N/A N/A quo N/A factor oc N/A other_exp oa N/A N/A N/A diff 0 N/A N/A N/A quo N/A factor sc N/A other_exp N/A oa diff N/A N/A N/A quo N/A factor sa N/A other_exp oa N/A other_exp N/A N/A N/A rem N/A factor other_exp N/A N/A N/A factor rem N/A N/A N/A rem N/A factor exp N/A N/A N/A Factors quo N/A Factors rem N/A quo N/A N/A self other N/A N/A N/A Return numerator Factor of ``self / other``.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x, y, z
        >>> a = Factors((x*y**2).as_powers_dict())
        >>> b = Factors((x*y/z).as_powers_dict())
        >>> a.quo(b)  # same as a/b
        Factors({y: 1})
         N/A N/A N/A N/A self div other N/A 0 N/A rem N/A N/A self other N/A N/A N/A Return denominator Factors of ``self / other``.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x, y, z
        >>> a = Factors((x*y**2).as_powers_dict())
        >>> b = Factors((x*y/z).as_powers_dict())
        >>> a.rem(b)
        Factors({z: -1})
        >>> a.rem(a)
        Factors({})
         N/A N/A N/A N/A self div other N/A 1 N/A pow N/A N/A self other N/A N/A N/A Return self raised to a non-negative integer power.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x, y
        >>> a = Factors((x*y**2).as_powers_dict())
        >>> a**2
        Factors({x: 2, y: 4})

         N/A N/A isinstance other Factors N/A N/A other N/A N/A other as_expr N/A N/A other is_Integer N/A N/A other N/A int other N/A N/A N/A isinstance other SYMPY_INTS N/A other 0 N/A N/A factors N/A N/A other N/A N/A N/A factor exp N/A N/A N/A self factors items N/A N/A N/A factors N/A factor N/A exp other N/A N/A Factors factors N/A N/A N/A ValueError N/A expected non-negative integer, got %s other N/A gcd N/A N/A self other N/A N/A N/A Return Factors of ``gcd(self, other)``. The keys are
        the intersection of factors with the minimum exponent for
        each factor.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x, y, z
        >>> a = Factors((x*y**2).as_powers_dict())
        >>> b = Factors((x*y/z).as_powers_dict())
        >>> a.gcd(b)
        Factors({x: 1, y: 1})
         N/A N/A N/A isinstance other Factors N/A N/A other N/A Factors other N/A N/A other is_zero N/A N/A N/A Factors N/A self factors N/A factors N/A N/A N/A factor exp N/A N/A N/A self factors items N/A N/A N/A factor exp N/A N/A sympify factor N/A sympify exp N/A N/A factor N/A other factors N/A N/A lt N/A N/A exp N/A N/A other factors N/A factor is_negative N/A N/A lt True N/A N/A N/A factors N/A factor exp N/A N/A N/A lt False N/A N/A N/A factors N/A factor N/A N/A other factors N/A factor N/A N/A Factors factors N/A lcm N/A N/A self other N/A N/A N/A Return Factors of ``lcm(self, other)`` which are
        the union of factors with the maximum exponent for
        each factor.

        Examples
        ========

        >>> from sympy.core.exprtools import Factors
        >>> from sympy.abc import x, y, z
        >>> a = Factors((x*y**2).as_powers_dict())
        >>> b = Factors((x*y/z).as_powers_dict())
        >>> a.lcm(b)
        Factors({x: 1, y: 2, z: -1})
         N/A N/A N/A isinstance other Factors N/A N/A other N/A Factors other N/A N/A any N/A N/A f is_zero N/A f N/A self other N/A N/A N/A Factors N/A S Zero N/A factors N/A dict N/A self factors N/A N/A factor exp N/A N/A N/A other factors items N/A N/A N/A factor factors N/A N/A exp N/A max exp N/A factors N/A factor N/A N/A factors N/A factor exp N/A N/A Factors factors N/A __mul__ N/A N/A self other N/A N/A N/A N/A N/A self mul other N/A __divmod__ N/A N/A self other N/A N/A N/A N/A N/A self div other N/A __div__ N/A N/A self other N/A N/A N/A N/A N/A self quo other N/A N/A __truediv__ __div__ __mod__ N/A N/A self other N/A N/A N/A N/A N/A self rem other N/A __pow__ N/A N/A self other N/A N/A N/A N/A N/A self pow other N/A __eq__ N/A N/A self other N/A N/A N/A N/A N/A isinstance other Factors N/A N/A other N/A Factors other N/A N/A N/A self factors N/A other factors N/A __ne__ N/A N/A self other N/A N/A N/A N/A N/A N/A self __eq__ other N/A N/A Term N/A object N/A N/A Efficient representation of ``coeff*(numer/denom)``.  N/A __slots__ N/A coeff numer denom __init__ N/A N/A self term numer denom N/A None None N/A N/A N/A N/A numer None N/A denom None N/A N/A N/A N/A term is_commutative N/A N/A N/A NonCommutativeExpression commutative expression expected N/A N/A coeff factors N/A N/A term as_coeff_mul N/A N/A numer denom N/A N/A defaultdict int N/A defaultdict int N/A factor factors N/A N/A N/A base exp N/A decompose_power factor N/A N/A base is_Add N/A N/A N/A cont base N/A N/A base primitive N/A coeff N/A cont exp N/A N/A exp 0 N/A N/A N/A numer N/A base exp N/A N/A N/A denom N/A base N/A exp N/A numer N/A Factors numer N/A denom N/A Factors denom N/A N/A coeff term N/A N/A numer None N/A N/A numer N/A Factors N/A N/A denom None N/A N/A denom N/A Factors N/A N/A self coeff coeff N/A N/A self numer numer N/A N/A self denom denom N/A __hash__ N/A N/A self N/A N/A N/A N/A hash N/A N/A self coeff N/A self numer N/A self denom N/A __repr__ N/A N/A self N/A N/A N/A N/A Term(%s, %s, %s) N/A N/A self coeff N/A self numer N/A self denom N/A as_expr N/A N/A self N/A N/A N/A N/A N/A self coeff N/A N/A N/A N/A self numer as_expr N/A N/A N/A self denom as_expr N/A mul N/A N/A self other N/A N/A N/A coeff N/A N/A self coeff N/A other coeff N/A numer N/A N/A N/A self numer mul N/A other numer N/A denom N/A N/A N/A self denom mul N/A other denom N/A N/A numer denom N/A N/A numer normal denom N/A N/A Term coeff numer denom N/A inv N/A N/A self N/A N/A N/A N/A Term N/A 1 N/A self coeff N/A self denom N/A self numer N/A quo N/A N/A self other N/A N/A N/A N/A N/A self mul N/A N/A other inv N/A pow N/A N/A self other N/A N/A N/A N/A other 0 N/A N/A N/A N/A N/A N/A self inv pow N/A other N/A N/A N/A Term N/A N/A self coeff other N/A N/A N/A self numer pow other N/A N/A N/A self denom pow other N/A gcd N/A N/A self other N/A N/A N/A N/A Term N/A N/A N/A self coeff gcd N/A other coeff N/A N/A N/A self numer gcd N/A other numer N/A N/A N/A self denom gcd N/A other denom N/A lcm N/A N/A self other N/A N/A N/A N/A Term N/A N/A N/A self coeff lcm N/A other coeff N/A N/A N/A self numer lcm N/A other numer N/A N/A N/A self denom lcm N/A other denom N/A __mul__ N/A N/A self other N/A N/A N/A N/A isinstance other Term N/A N/A N/A N/A self mul other N/A N/A NotImplemented N/A __div__ N/A N/A self other N/A N/A N/A N/A isinstance other Term N/A N/A N/A N/A self quo other N/A N/A NotImplemented N/A N/A __truediv__ __div__ __pow__ N/A N/A self other N/A N/A N/A N/A isinstance other SYMPY_INTS N/A N/A N/A N/A self pow other N/A N/A NotImplemented N/A __eq__ N/A N/A self other N/A N/A N/A N/A N/A N/A self coeff N/A other coeff N/A N/A self numer N/A other numer N/A N/A self denom N/A other denom N/A __ne__ N/A N/A self other N/A N/A N/A N/A N/A N/A self __eq__ other N/A N/A _gcd_terms N/A N/A terms isprimitive fraction N/A False True N/A N/A Helper function for :func:`gcd_terms`.

    If ``isprimitive`` is True then the call to primitive
    for an Add will be skipped. This is useful when the
    content has already been extrated.

    If ``fraction`` is True then the expression will appear over a common
    denominator, the lcm of all term denominators.
     N/A N/A N/A isinstance terms Basic N/A N/A isinstance terms Tuple N/A N/A terms N/A N/A Add make_args terms N/A terms N/A list N/A map Term N/A t N/A t terms t N/A N/A N/A len terms 0 N/A N/A N/A N/A S Zero N/A S Zero N/A S One N/A N/A N/A len terms 1 N/A N/A cont N/A N/A terms N/A 0 coeff N/A numer N/A N/A N/A N/A terms N/A 0 numer as_expr N/A denom N/A N/A N/A N/A terms N/A 0 denom as_expr N/A N/A cont N/A terms N/A 0 N/A term N/A terms N/A 1 N/A N/A cont N/A N/A cont gcd term N/A N/A i term N/A enumerate terms N/A N/A N/A terms N/A i N/A N/A term quo cont N/A fraction N/A N/A denom N/A N/A terms N/A 0 denom N/A term N/A terms N/A 1 N/A N/A denom N/A N/A denom lcm N/A term denom N/A numers N/A N/A term terms N/A N/A numer N/A N/A N/A term numer mul N/A N/A denom quo N/A term denom N/A N/A N/A numers append N/A N/A term coeff N/A N/A numer as_expr N/A N/A numers N/A N/A N/A t as_expr N/A t terms N/A denom N/A N/A Term N/A S 1 numer N/A cont N/A N/A cont as_expr N/A numer N/A Add numers N/A denom N/A N/A denom as_expr N/A N/A N/A isprimitive N/A numer is_Add N/A N/A N/A _cont numer N/A N/A numer primitive N/A cont _cont N/A N/A cont numer denom N/A gcd_terms N/A N/A terms isprimitive clear fraction N/A False True True N/A N/A Compute the GCD of ``terms`` and put them together.

    ``terms`` can be an expression or a non-Basic sequence of expressions
    which will be handled as though they are terms from a sum.

    If ``isprimitive`` is True the _gcd_terms will not run the primitive
    method on the terms.

    ``clear`` controls the removal of integers from the denominator of an Add
    expression. When True (default), all numerical denominator will be cleared;
    when False the denominators will be cleared only if all terms had numerical
    denominators other than 1.

    ``fraction``, when True (default), will put the expression over a common
    denominator.

    Examples
    ========

    >>> from sympy.core import gcd_terms
    >>> from sympy.abc import x, y

    >>> gcd_terms((x + 1)**2*y + (x + 1)*y**2)
    y*(x + 1)*(x + y + 1)
    >>> gcd_terms(x/2 + 1)
    (x + 2)/2
    >>> gcd_terms(x/2 + 1, clear=False)
    x/2 + 1
    >>> gcd_terms(x/2 + y/2, clear=False)
    (x + y)/2
    >>> gcd_terms(x/2 + 1/x)
    (x**2 + 2)/(2*x)
    >>> gcd_terms(x/2 + 1/x, fraction=False)
    (x + 2/x)/2
    >>> gcd_terms(x/2 + 1/x, fraction=False, clear=False)
    x/2 + 1/x

    >>> gcd_terms(x/2/y + 1/x/y)
    (x**2 + 2)/(2*x*y)
    >>> gcd_terms(x/2/y + 1/x/y, clear=False)
    (x**2/2 + 1)/(x*y)
    >>> gcd_terms(x/2/y + 1/x/y, clear=False, fraction=False)
    (x/2 + 1/x)/y

    The ``clear`` flag was ignored in this case because the returned
    expression was a rational expression, not a simple sum.

    See Also
    ========
    factor_terms, sympy.polys.polytools.terms_gcd

     mask N/A N/A terms N/A N/A N/A replace nc portions of each term with a unique Dummy symbols
        and return the replacements to restore them N/A args N/A N/A N/A a is_commutative N/A a N/A N/A N/A a args_cnc N/A a terms N/A reps N/A N/A N/A i N/A c nc N/A enumerate args N/A N/A nc N/A N/A nc N/A N/A Mul _from_args nc N/A d N/A Dummy N/A N/A N/A reps append N/A d nc N/A N/A N/A c append d N/A N/A args N/A i N/A N/A Mul _from_args c N/A N/A N/A args N/A i c N/A N/A args N/A dict reps N/A N/A isadd N/A isinstance terms Add N/A addlike N/A isadd N/A N/A N/A isinstance terms Basic N/A is_sequence terms include set N/A N/A isinstance terms Dict N/A addlike N/A N/A isadd N/A N/A terms N/A list N/A terms args N/A N/A terms N/A sympify terms N/A N/A terms reps N/A mask terms N/A N/A cont numer denom N/A _gcd_terms terms isprimitive fraction N/A numer N/A N/A numer xreplace reps N/A N/A coeff factors N/A N/A cont as_coeff_Mul N/A N/A clear N/A N/A N/A c _coeff N/A N/A coeff as_coeff_Mul N/A N/A N/A N/A c is_Integer N/A clear N/A numer is_Add N/A N/A N/A n d N/A N/A c as_numer_denom N/A _numer N/A numer d N/A N/A any N/A N/A N/A N/A N/A a as_coeff_Mul N/A 0 is_Integer N/A a N/A _numer args N/A N/A numer _numer N/A coeff N/A n _coeff N/A N/A _keep_coeff coeff N/A N/A factors numer denom clear clear N/A N/A N/A isinstance terms Basic N/A N/A terms N/A N/A terms is_Atom N/A N/A terms N/A N/A terms is_Mul N/A N/A N/A c args N/A N/A terms as_coeff_mul N/A N/A _keep_coeff c N/A Mul N/A N/A gcd_terms i isprimitive clear fraction N/A i args clear clear handle N/A N/A a N/A N/A N/A N/A N/A isinstance a Expr N/A N/A N/A isinstance a Basic N/A N/A N/A N/A a func N/A N/A handle i N/A i N/A a args N/A N/A N/A type a N/A N/A handle i N/A i a N/A N/A gcd_terms a isprimitive clear fraction N/A N/A N/A isinstance terms Dict N/A N/A N/A Dict N/A N/A k N/A handle v N/A N/A k v N/A terms args N/A N/A N/A terms func N/A N/A handle i N/A i N/A terms args N/A factor_terms N/A N/A expr radical clear fraction sign N/A False False False True N/A N/A Remove common factors from terms in all arguments without
    changing the underlying structure of the expr. No expansion or
    simplification (and no processing of non-commutatives) is performed.

    If radical=True then a radical common to all terms will be factored
    out of any Add sub-expressions of the expr.

    If clear=False (default) then coefficients will not be separated
    from a single Add if they can be distributed to leave one or more
    terms with integer coefficients.

    If fraction=True (default is False) then a common denominator will be
    constructed for the expression.

    If sign=True (default) then even if the only factor in common is a -1,
    it will be factored out of the expression.

    Examples
    ========

    >>> from sympy import factor_terms, Symbol
    >>> from sympy.abc import x, y
    >>> factor_terms(x + x*(2 + 4*y)**3)
    x*(8*(2*y + 1)**3 + 1)
    >>> A = Symbol('A', commutative=False)
    >>> factor_terms(x*A + x*A + x*y*A)
    x*(y*A + 2*A)

    When ``clear`` is False, a rational will only be factored out of an
    Add expression if all terms of the Add have coefficients that are
    fractions:

    >>> factor_terms(x/2 + 1, clear=False)
    x/2 + 1
    >>> factor_terms(x/2 + 1, clear=True)
    (x + 2)/2

    If a -1 is all that can be factored out, to *not* factor it out, the
    flag ``sign`` must be False:

    >>> factor_terms(-x - y)
    -(x + y)
    >>> factor_terms(-x - y, sign=False)
    -x - y
    >>> factor_terms(-2*x - 2*y, sign=False)
    -2*(x + y)

    See Also
    ========
    gcd_terms, sympy.polys.polytools.terms_gcd

     do N/A N/A expr N/A N/A N/A is_iterable N/A iterable expr N/A N/A N/A N/A isinstance expr Basic N/A expr is_Atom N/A N/A is_iterable N/A N/A N/A N/A type expr N/A N/A do i N/A i expr N/A expr N/A N/A N/A expr is_Pow N/A expr is_Function is_iterable N/A N/A hasattr expr args_cnc N/A N/A args N/A expr args N/A newargs N/A tuple N/A N/A do i N/A i args N/A N/A newargs args N/A N/A expr N/A N/A N/A expr func newargs N/A N/A cont p N/A N/A expr as_content_primitive radical radical clear clear N/A N/A p is_Add N/A N/A list_args N/A N/A do a N/A a N/A N/A Add make_args p N/A N/A all N/A N/A N/A N/A N/A a as_coeff_Mul N/A 0 0 N/A a list_args N/A N/A cont N/A cont N/A list_args N/A N/A a N/A a list_args N/A special N/A N/A N/A i a N/A enumerate list_args N/A N/A N/A b e N/A N/A a as_base_exp N/A N/A N/A e is_Mul N/A e N/A Mul N/A e args N/A N/A N/A list_args N/A i N/A Dummy N/A N/A special N/A N/A list_args N/A i a N/A p N/A N/A Add _from_args list_args N/A p N/A N/A N/A gcd_terms p isprimitive True clear clear fraction fraction xreplace special N/A N/A N/A p args N/A N/A p N/A N/A p func N/A N/A do a N/A a N/A p args N/A rv N/A _keep_coeff cont p clear clear sign sign N/A rv N/A N/A expr N/A sympify expr N/A N/A do expr N/A _mask_nc N/A N/A eq name N/A None N/A N/A 
    Return ``eq`` with non-commutative objects replaced with Dummy
    symbols. A dictionary that can be used to restore the original
    values is returned: if it is None, the expression is noncommutative
    and cannot be made commutative. The third value returned is a list
    of any non-commutative symbols that appear in the returned equation.

    ``name``, if given, is the name that will be used with numered Dummy
    variables that will replace the non-commutative objects and is mainly
    used for doctesting purposes.

    Notes
    =====
    All non-commutative objects other than Symbols are replaced with
    a non-commutative Symbol. Identical objects will be identified
    by identical symbols.

    If there is only 1 non-commutative object in an expression it will
    be replaced with a commutative symbol. Otherwise, the non-commutative
    entities are retained and the calling routine should handle
    replacements in this case since some care must be taken to keep
    track of the ordering of symbols when they occur within Muls.

    Examples
    ========

    >>> from sympy.physics.secondquant import Commutator, NO, F, Fd
    >>> from sympy import symbols, Mul
    >>> from sympy.core.exprtools import _mask_nc
    >>> from sympy.abc import x, y
    >>> A, B, C = symbols('A,B,C', commutative=False)

    One nc-symbol:

    >>> _mask_nc(A**2 - x**2, 'd')
    (_d0**2 - x**2, {_d0: A}, [])

    Multiple nc-symbols:

    >>> _mask_nc(A**2 - B**2, 'd')
    (A**2 - B**2, None, [A, B])

    An nc-object with nc-symbols but no others outside of it:

    >>> _mask_nc(1 + x*Commutator(A, B), 'd')
    (_d0*x + 1, {_d0: Commutator(A, B)}, [])
    >>> _mask_nc(NO(Fd(x)*F(y)), 'd')
    (_d0, {_d0: NO(CreateFermion(x)*AnnihilateFermion(y))}, [])

    Multiple nc-objects:

    >>> eq = x*Commutator(A, B) + x*Commutator(A, C)*Commutator(A, B)
    >>> _mask_nc(eq, 'd')
    (x*_d0 + x*_d1*_d0, {_d0: Commutator(A, B), _d1: Commutator(A, C)}, [_d0, _d1])

    Multiple nc-objects and nc-symbols:

    >>> eq = A*Commutator(A, B) + B*Commutator(A, C)
    >>> _mask_nc(eq, 'd')
    (A*_d0 + B*_d1, {_d0: Commutator(A, B), _d1: Commutator(A, C)}, [_d0, _d1, A, B])

    If there is an object that:

        - doesn't contain nc-symbols
        - but has arguments which derive from Basic, not Expr
        - and doesn't define an _eval_is_commutative routine

    then it will give False (or None?) for the is_commutative test. Such
    objects are also removed by this routine:

    >>> from sympy import Basic
    >>> eq = (1 + Mul(Basic(), Basic(), evaluate=False))
    >>> eq.is_commutative
    False
    >>> _mask_nc(eq, 'd')
    (_d0**2 + 1, {_d0: Basic()}, [])

     N/A name N/A name mask numbered_names N/A N/A N/A N/A N/A i 0 N/A True N/A N/A N/A N/A name N/A str i N/A i 1 N/A N/A names N/A numbered_names Dummy N/A N/A N/A args kwargs N/A sympy Dummy N/A N/A Dummy N/A next names args kwargs N/A N/A expr eq N/A N/A expr is_commutative N/A N/A N/A eq N/A N/A N/A rep N/A N/A nc_obj N/A set N/A nc_syms N/A set N/A pot N/A preorder_traversal expr keys default_sort_key N/A N/A i a N/A enumerate pot N/A N/A N/A any N/A N/A a N/A r N/A 0 N/A r rep N/A N/A N/A N/A pot skip N/A N/A N/A N/A a is_commutative N/A N/A N/A a is_Symbol N/A N/A N/A N/A nc_syms add a N/A N/A N/A N/A N/A a is_Add N/A a is_Mul N/A a is_Pow N/A N/A N/A all N/A N/A s is_commutative N/A s N/A a free_symbols N/A N/A N/A N/A rep append N/A a N/A Dummy N/A N/A N/A N/A nc_obj add a N/A N/A N/A pot skip N/A N/A N/A N/A len nc_obj 1 N/A nc_syms N/A N/A N/A N/A rep append N/A N/A N/A nc_obj pop N/A Dummy N/A N/A N/A N/A N/A len nc_syms 1 N/A nc_obj N/A N/A N/A N/A rep append N/A N/A N/A nc_syms pop N/A Dummy N/A nc_obj N/A sorted nc_obj key default_sort_key N/A n nc_obj N/A N/A nc N/A Dummy commutative False N/A N/A N/A rep append N/A n nc N/A N/A N/A nc_syms add nc N/A expr N/A N/A expr subs rep N/A nc_syms N/A list nc_syms N/A N/A N/A nc_syms sort key default_sort_key N/A N/A expr N/A N/A v k N/A N/A k v rep None nc_syms N/A factor_nc N/A N/A expr N/A N/A N/A Return the factored form of ``expr`` while handling non-commutative
    expressions.

    Examples
    ========

    >>> from sympy.core.exprtools import factor_nc
    >>> from sympy import Symbol
    >>> from sympy.abc import x
    >>> A = Symbol('A', commutative=False)
    >>> B = Symbol('B', commutative=False)
    >>> factor_nc((x**2 + 2*A*x + A**2).expand())
    (x + A)**2
    >>> factor_nc(((x + A)*(x + B)).expand())
    (x + A)*(x + B)
     sympy.simplify.simplify powsimp sympy.polys gcd factor _pemexpand N/A N/A expr N/A N/A N/A Expand with the minimal set of hints necessary to check the result. N/A N/A N/A expr expand deep True mul True power_exp True power_base False basic False multinomial True log False N/A N/A expr N/A sympify expr N/A N/A N/A N/A isinstance expr Expr N/A N/A expr args N/A N/A expr N/A N/A N/A expr is_Add N/A N/A N/A N/A expr func N/A N/A factor_nc a N/A a N/A expr args N/A N/A expr rep nc_symbols N/A _mask_nc expr N/A rep N/A N/A N/A N/A N/A factor expr subs rep N/A N/A args N/A N/A N/A a args_cnc N/A a N/A N/A Add make_args expr N/A c g l r N/A S One N/A hit False N/A N/A i a N/A enumerate args N/A N/A N/A i 0 N/A N/A c N/A N/A Mul _from_args N/A a N/A 0 N/A N/A N/A a N/A 0 N/A N/A c N/A gcd c N/A N/A Mul _from_args N/A a N/A 0 N/A N/A c N/A S One N/A N/A c N/A S One N/A N/A hit True N/A N/A c g N/A N/A c as_coeff_Mul N/A N/A g N/A S One N/A N/A N/A i N/A cc _ N/A enumerate args N/A N/A cc N/A list N/A N/A Mul make_args N/A N/A N/A Mul _from_args N/A list cc g N/A N/A N/A args N/A i N/A 0 cc N/A N/A i N/A cc _ N/A enumerate args N/A N/A N/A cc N/A 0 N/A N/A cc N/A 0 c N/A N/A N/A args N/A i N/A 0 cc N/A N/A i a N/A enumerate args N/A N/A N/A i 0 N/A N/A n N/A N/A a N/A 1 N/A N/A N/A n N/A common_prefix n N/A a N/A 1 N/A N/A n N/A N/A N/A N/A N/A args N/A 0 N/A 1 N/A N/A N/A N/A b e N/A N/A N/A N/A N/A args N/A 0 N/A 1 N/A 0 as_base_exp N/A ok False N/A N/A e is_Integer N/A N/A t args N/A N/A N/A N/A t N/A 1 N/A N/A N/A N/A bt et N/A N/A N/A N/A t N/A 1 N/A 0 as_base_exp N/A N/A N/A et is_Integer N/A bt b N/A N/A e N/A min e et N/A N/A N/A N/A ok hit True N/A l N/A b e N/A il N/A b N/A e N/A N/A i a N/A enumerate args N/A N/A N/A N/A N/A args N/A i N/A 1 N/A 0 N/A il N/A N/A N/A args N/A i N/A 1 N/A 0 N/A N/A N/A ok N/A N/A N/A N/A hit True N/A lenn N/A len n N/A l N/A Mul n N/A N/A i a N/A enumerate args N/A N/A N/A N/A args N/A i N/A 1 N/A N/A N/A args N/A i N/A 1 N/A lenn N/A N/A i a N/A enumerate args N/A N/A N/A i 0 N/A N/A n N/A N/A a N/A 1 N/A N/A N/A n N/A common_suffix n N/A a N/A 1 N/A N/A n N/A N/A N/A N/A N/A args N/A 0 N/A 1 N/A N/A N/A N/A b e N/A N/A N/A N/A N/A args N/A 0 N/A 1 N/A -1 as_base_exp N/A ok False N/A N/A e is_Integer N/A N/A t args N/A N/A N/A N/A t N/A 1 N/A N/A N/A N/A bt et N/A N/A N/A N/A t N/A 1 N/A -1 as_base_exp N/A N/A N/A et is_Integer N/A bt b N/A N/A e N/A min e et N/A N/A N/A N/A ok hit True N/A r N/A b e N/A il N/A b N/A e N/A N/A i a N/A enumerate args N/A N/A N/A N/A N/A args N/A i N/A 1 N/A -1 N/A N/A N/A N/A args N/A i N/A 1 N/A -1 il N/A N/A N/A ok N/A N/A N/A N/A hit True N/A lenn N/A len n N/A r N/A Mul n N/A N/A i a N/A enumerate args N/A N/A N/A N/A args N/A i N/A 1 N/A N/A a N/A 1 N/A N/A N/A len N/A a N/A 1 lenn N/A hit N/A N/A mid N/A Add N/A N/A N/A Mul cc N/A Mul nc N/A N/A cc nc args N/A N/A mid expr N/A rep1 N/A N/A n N/A Dummy N/A n N/A sorted nc_symbols key default_sort_key N/A unrep1 N/A N/A v k N/A N/A k v rep1 N/A N/A N/A unrep1 reverse N/A N/A new_mid r2 _ N/A _mask_nc N/A N/A mid subs rep1 N/A new_mid N/A powsimp N/A factor new_mid N/A new_mid N/A N/A N/A N/A new_mid subs r2 subs unrep1 N/A N/A new_mid is_Pow N/A N/A N/A _keep_coeff c N/A N/A N/A g l new_mid r N/A N/A new_mid is_Mul N/A N/A cfac N/A N/A ncfac N/A N/A f N/A new_mid args N/A N/A N/A f is_commutative N/A N/A N/A N/A cfac append f N/A N/A N/A b e N/A N/A f as_base_exp N/A N/A e is_Integer N/A N/A N/A N/A ncfac extend N/A N/A b e N/A N/A N/A N/A ncfac append f N/A pre_mid N/A N/A g N/A Mul cfac l N/A target N/A _pemexpand N/A expr c N/A s N/A variations ncfac N/A len ncfac N/A N/A ok N/A N/A pre_mid N/A Mul s r N/A N/A N/A _pemexpand ok target N/A N/A N/A _keep_coeff c ok N/A N/A _keep_coeff c N/A N/A N/A g l mid r N/A