Skip to content

Instantly share code, notes, and snippets.

@BethanyG
Last active April 23, 2024 20:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BethanyG/08f5bbd36ddf3ccadfcff599b0ed53ec to your computer and use it in GitHub Desktop.
Save BethanyG/08f5bbd36ddf3ccadfcff599b0ed53ec to your computer and use it in GitHub Desktop.
Exercism Python Representations for Timus

Grep Exercise

 Solution Code
import re


def grep(pattern, flags, files):
    if "-x" in flags:
        pattern = f"^{pattern}$"
    re_pattern = re.compile(pattern, re.I if "-i" in flags else re.NOFLAG)
    if "-v" in flags:
        def check(line):
            return re_pattern.search(line) is None
    else:
        check = re_pattern.search

    if "-l" not in flags:
        match len(files), "-n" in flags:
            case 1, True:
                fmt = "{n}:{line}\n"
            case 1, _:
                fmt = "{line}\n"
            case _, True:
                fmt = "{name}:{n}:{line}\n"
            case _:
                fmt = "{name}:{line}\n"

        def msg(name, n, line):
            return fmt.format(name=name, n=n, line=line.rstrip("\n"))

    out = []
    for name in files:
        with open(name, "r") as file:
            if "-l" in flags:
                if any(map(check, file)):
                    out.append(f"{name}\n")
            else:
                ls = enumerate(file, 1)
                out.extend(msg(name, n, line) for n, line in ls if check(line))
    return "".join(out)
 representation.out File Content
## BEGIN NORMALIZED CODE ##
import re


def placeholder_0(placeholder_1, placeholder_2, placeholder_3):
  if "-x" in placeholder_2:
      placeholder_1 = f"^{placeholder_1}$"
  placeholder_4 = re.compile(
      placeholder_1, re.I if "-i" in placeholder_2 else re.NOFLAG
  )
  if "-v" in placeholder_2:

      def placeholder_5(placeholder_6):
          return placeholder_4.search(placeholder_6) is None

  else:
      placeholder_5 = placeholder_4.search
  if "-l" not in placeholder_2:
      match (len(placeholder_3), "-n" in placeholder_2):
          case [1, True]:
              placeholder_7 = "{n}:{line}\n"
          case [1, _]:
              placeholder_7 = "{line}\n"
          case [_, True]:
              placeholder_7 = "{name}:{n}:{line}\n"
          case _:
              placeholder_7 = "{name}:{line}\n"

      def placeholder_8(placeholder_9, placeholder_10, placeholder_6):
          return placeholder_7.format(
              placeholder_9=placeholder_9,
              placeholder_10=placeholder_10,
              placeholder_6=placeholder_6.rstrip("\n"),
          )

  placeholder_11 = []
  for placeholder_9 in placeholder_3:
      with open(placeholder_9, "r") as placeholder_12:
          if "-l" in placeholder_2:
              if any(map(placeholder_5, placeholder_12)):
                  placeholder_11.append(f"{placeholder_9}\n")
          else:
              placeholder_13 = enumerate(placeholder_12, 1)
              placeholder_11.extend(
                  (
                      placeholder_8(placeholder_9, placeholder_10, placeholder_6)
                      for placeholder_10, placeholder_6 in placeholder_13
                      if placeholder_5(placeholder_6)
                  )
              )
  return "".join(placeholder_11)

## END NORMALIZED CODE ##

## BEGIN TREE BEFORE ##
Module(
[
  Import(
    [
      alias(
        're',
        lineno=58,
        col_offset=7,
        end_lineno=58,
        end_col_offset=9)],
    lineno=58,
    col_offset=0,
    end_lineno=58,
    end_col_offset=9),
  FunctionDef(
    'grep',
    arguments(
      [],
      [
        arg(
          'pattern',
          lineno=61,
          col_offset=9,
          end_lineno=61,
          end_col_offset=16),
        arg(
          'flags',
          lineno=61,
          col_offset=18,
          end_lineno=61,
          end_col_offset=23),
        arg(
          'files',
          lineno=61,
          col_offset=25,
          end_lineno=61,
          end_col_offset=30)],
      kwonlyargs=[],
      kw_defaults=[],
      defaults=[]),
    [
      If(
        Compare(
          Constant(
            '-x',
            lineno=62,
            col_offset=7,
            end_lineno=62,
            end_col_offset=11),
          [
            In()],
          [
            Name(
              'flags',
              Load(),
              lineno=62,
              col_offset=15,
              end_lineno=62,
              end_col_offset=20)],
          lineno=62,
          col_offset=7,
          end_lineno=62,
          end_col_offset=20),
        [
          Assign(
            [
              Name(
                'pattern',
                Store(),
                lineno=63,
                col_offset=8,
                end_lineno=63,
                end_col_offset=15)],
            JoinedStr(
              [
                Constant(
                  '^',
                  lineno=63,
                  col_offset=18,
                  end_lineno=63,
                  end_col_offset=32),
                FormattedValue(
                  Name(
                    'pattern',
                    Load(),
                    lineno=63,
                    col_offset=22,
                    end_lineno=63,
                    end_col_offset=29),
                  -1,
                  lineno=63,
                  col_offset=18,
                  end_lineno=63,
                  end_col_offset=32),
                Constant(
                  '$',
                  lineno=63,
                  col_offset=18,
                  end_lineno=63,
                  end_col_offset=32)],
              lineno=63,
              col_offset=18,
              end_lineno=63,
              end_col_offset=32),
            lineno=63,
            col_offset=8,
            end_lineno=63,
            end_col_offset=32)],
        [],
        lineno=62,
        col_offset=4,
        end_lineno=63,
        end_col_offset=32),
      Assign(
        [
          Name(
            're_pattern',
            Store(),
            lineno=64,
            col_offset=4,
            end_lineno=64,
            end_col_offset=14)],
        Call(
          Attribute(
            Name(
              're',
              Load(),
              lineno=64,
              col_offset=17,
              end_lineno=64,
              end_col_offset=19),
            'compile',
            Load(),
            lineno=64,
            col_offset=17,
            end_lineno=64,
            end_col_offset=27),
          [
            Name(
              'pattern',
              Load(),
              lineno=64,
              col_offset=28,
              end_lineno=64,
              end_col_offset=35),
            IfExp(
              Compare(
                Constant(
                  '-i',
                  lineno=64,
                  col_offset=45,
                  end_lineno=64,
                  end_col_offset=49),
                [
                  In()],
                [
                  Name(
                    'flags',
                    Load(),
                    lineno=64,
                    col_offset=53,
                    end_lineno=64,
                    end_col_offset=58)],
                lineno=64,
                col_offset=45,
                end_lineno=64,
                end_col_offset=58),
              Attribute(
                Name(
                  're',
                  Load(),
                  lineno=64,
                  col_offset=37,
                  end_lineno=64,
                  end_col_offset=39),
                'I',
                Load(),
                lineno=64,
                col_offset=37,
                end_lineno=64,
                end_col_offset=41),
              Attribute(
                Name(
                  're',
                  Load(),
                  lineno=64,
                  col_offset=64,
                  end_lineno=64,
                  end_col_offset=66),
                'NOFLAG',
                Load(),
                lineno=64,
                col_offset=64,
                end_lineno=64,
                end_col_offset=73),
              lineno=64,
              col_offset=37,
              end_lineno=64,
              end_col_offset=73)],
          [],
          lineno=64,
          col_offset=17,
          end_lineno=64,
          end_col_offset=74),
        lineno=64,
        col_offset=4,
        end_lineno=64,
        end_col_offset=74),
      If(
        Compare(
          Constant(
            '-v',
            lineno=65,
            col_offset=7,
            end_lineno=65,
            end_col_offset=11),
          [
            In()],
          [
            Name(
              'flags',
              Load(),
              lineno=65,
              col_offset=15,
              end_lineno=65,
              end_col_offset=20)],
          lineno=65,
          col_offset=7,
          end_lineno=65,
          end_col_offset=20),
        [
          FunctionDef(
            'check',
            arguments(
              [],
              [
                arg(
                  'line',
                  lineno=66,
                  col_offset=18,
                  end_lineno=66,
                  end_col_offset=22)],
              kwonlyargs=[],
              kw_defaults=[],
              defaults=[]),
            [
              Return(
                Compare(
                  Call(
                    Attribute(
                      Name(
                        're_pattern',
                        Load(),
                        lineno=67,
                        col_offset=19,
                        end_lineno=67,
                        end_col_offset=29),
                      'search',
                      Load(),
                      lineno=67,
                      col_offset=19,
                      end_lineno=67,
                      end_col_offset=36),
                    [
                      Name(
                        'line',
                        Load(),
                        lineno=67,
                        col_offset=37,
                        end_lineno=67,
                        end_col_offset=41)],
                    [],
                    lineno=67,
                    col_offset=19,
                    end_lineno=67,
                    end_col_offset=42),
                  [
                    Is()],
                  [
                    Constant(
                      None,
                      lineno=67,
                      col_offset=46,
                      end_lineno=67,
                      end_col_offset=50)],
                  lineno=67,
                  col_offset=19,
                  end_lineno=67,
                  end_col_offset=50),
                lineno=67,
                col_offset=12,
                end_lineno=67,
                end_col_offset=50)],
            [],
            lineno=66,
            col_offset=8,
            end_lineno=67,
            end_col_offset=50)],
        [
          Assign(
            [
              Name(
                'check',
                Store(),
                lineno=69,
                col_offset=8,
                end_lineno=69,
                end_col_offset=13)],
            Attribute(
              Name(
                're_pattern',
                Load(),
                lineno=69,
                col_offset=16,
                end_lineno=69,
                end_col_offset=26),
              'search',
              Load(),
              lineno=69,
              col_offset=16,
              end_lineno=69,
              end_col_offset=33),
            lineno=69,
            col_offset=8,
            end_lineno=69,
            end_col_offset=33)],
        lineno=65,
        col_offset=4,
        end_lineno=69,
        end_col_offset=33),
      If(
        Compare(
          Constant(
            '-l',
            lineno=71,
            col_offset=7,
            end_lineno=71,
            end_col_offset=11),
          [
            NotIn()],
          [
            Name(
              'flags',
              Load(),
              lineno=71,
              col_offset=19,
              end_lineno=71,
              end_col_offset=24)],
          lineno=71,
          col_offset=7,
          end_lineno=71,
          end_col_offset=24),
        [
          Match(
            Tuple(
              [
                Call(
                  Name(
                    'len',
                    Load(),
                    lineno=72,
                    col_offset=14,
                    end_lineno=72,
                    end_col_offset=17),
                  [
                    Name(
                      'files',
                      Load(),
                      lineno=72,
                      col_offset=18,
                      end_lineno=72,
                      end_col_offset=23)],
                  [],
                  lineno=72,
                  col_offset=14,
                  end_lineno=72,
                  end_col_offset=24),
                Compare(
                  Constant(
                    '-n',
                    lineno=72,
                    col_offset=26,
                    end_lineno=72,
                    end_col_offset=30),
                  [
                    In()],
                  [
                    Name(
                      'flags',
                      Load(),
                      lineno=72,
                      col_offset=34,
                      end_lineno=72,
                      end_col_offset=39)],
                  lineno=72,
                  col_offset=26,
                  end_lineno=72,
                  end_col_offset=39)],
              Load(),
              lineno=72,
              col_offset=14,
              end_lineno=72,
              end_col_offset=39),
            [
              match_case(
                MatchSequence(
                  [
                    MatchValue(
                      Constant(
                        1,
                        lineno=73,
                        col_offset=17,
                        end_lineno=73,
                        end_col_offset=18),
                      lineno=73,
                      col_offset=17,
                      end_lineno=73,
                      end_col_offset=18),
                    MatchSingleton(
                      True,
                      lineno=73,
                      col_offset=20,
                      end_lineno=73,
                      end_col_offset=24)],
                  lineno=73,
                  col_offset=17,
                  end_lineno=73,
                  end_col_offset=24),
                body=[
                  Assign(
                    [
                      Name(
                        'fmt',
                        Store(),
                        lineno=74,
                        col_offset=16,
                        end_lineno=74,
                        end_col_offset=19)],
                    Constant(
                      '{n}:{line}\n',
                      lineno=74,
                      col_offset=22,
                      end_lineno=74,
                      end_col_offset=36),
                    lineno=74,
                    col_offset=16,
                    end_lineno=74,
                    end_col_offset=36)]),
              match_case(
                MatchSequence(
                  [
                    MatchValue(
                      Constant(
                        1,
                        lineno=75,
                        col_offset=17,
                        end_lineno=75,
                        end_col_offset=18),
                      lineno=75,
                      col_offset=17,
                      end_lineno=75,
                      end_col_offset=18),
                    MatchAs(
                      lineno=75,
                      col_offset=20,
                      end_lineno=75,
                      end_col_offset=21)],
                  lineno=75,
                  col_offset=17,
                  end_lineno=75,
                  end_col_offset=21),
                body=[
                  Assign(
                    [
                      Name(
                        'fmt',
                        Store(),
                        lineno=76,
                        col_offset=16,
                        end_lineno=76,
                        end_col_offset=19)],
                    Constant(
                      '{line}\n',
                      lineno=76,
                      col_offset=22,
                      end_lineno=76,
                      end_col_offset=32),
                    lineno=76,
                    col_offset=16,
                    end_lineno=76,
                    end_col_offset=32)]),
              match_case(
                MatchSequence(
                  [
                    MatchAs(
                      lineno=77,
                      col_offset=17,
                      end_lineno=77,
                      end_col_offset=18),
                    MatchSingleton(
                      True,
                      lineno=77,
                      col_offset=20,
                      end_lineno=77,
                      end_col_offset=24)],
                  lineno=77,
                  col_offset=17,
                  end_lineno=77,
                  end_col_offset=24),
                body=[
                  Assign(
                    [
                      Name(
                        'fmt',
                        Store(),
                        lineno=78,
                        col_offset=16,
                        end_lineno=78,
                        end_col_offset=19)],
                    Constant(
                      '{name}:{n}:{line}\n',
                      lineno=78,
                      col_offset=22,
                      end_lineno=78,
                      end_col_offset=43),
                    lineno=78,
                    col_offset=16,
                    end_lineno=78,
                    end_col_offset=43)]),
              match_case(
                MatchAs(
                  lineno=79,
                  col_offset=17,
                  end_lineno=79,
                  end_col_offset=18),
                body=[
                  Assign(
                    [
                      Name(
                        'fmt',
                        Store(),
                        lineno=80,
                        col_offset=16,
                        end_lineno=80,
                        end_col_offset=19)],
                    Constant(
                      '{name}:{line}\n',
                      lineno=80,
                      col_offset=22,
                      end_lineno=80,
                      end_col_offset=39),
                    lineno=80,
                    col_offset=16,
                    end_lineno=80,
                    end_col_offset=39)])],
            lineno=72,
            col_offset=8,
            end_lineno=80,
            end_col_offset=39),
          FunctionDef(
            'msg',
            arguments(
              [],
              [
                arg(
                  'name',
                  lineno=82,
                  col_offset=16,
                  end_lineno=82,
                  end_col_offset=20),
                arg(
                  'n',
                  lineno=82,
                  col_offset=22,
                  end_lineno=82,
                  end_col_offset=23),
                arg(
                  'line',
                  lineno=82,
                  col_offset=25,
                  end_lineno=82,
                  end_col_offset=29)],
              kwonlyargs=[],
              kw_defaults=[],
              defaults=[]),
            [
              Return(
                Call(
                  Attribute(
                    Name(
                      'fmt',
                      Load(),
                      lineno=83,
                      col_offset=19,
                      end_lineno=83,
                      end_col_offset=22),
                    'format',
                    Load(),
                    lineno=83,
                    col_offset=19,
                    end_lineno=83,
                    end_col_offset=29),
                  [],
                  [
                    keyword(
                      'name',
                      Name(
                        'name',
                        Load(),
                        lineno=83,
                        col_offset=35,
                        end_lineno=83,
                        end_col_offset=39),
                      lineno=83,
                      col_offset=30,
                      end_lineno=83,
                      end_col_offset=39),
                    keyword(
                      'n',
                      Name(
                        'n',
                        Load(),
                        lineno=83,
                        col_offset=43,
                        end_lineno=83,
                        end_col_offset=44),
                      lineno=83,
                      col_offset=41,
                      end_lineno=83,
                      end_col_offset=44),
                    keyword(
                      'line',
                      Call(
                        Attribute(
                          Name(
                            'line',
                            Load(),
                            lineno=83,
                            col_offset=51,
                            end_lineno=83,
                            end_col_offset=55),
                          'rstrip',
                          Load(),
                          lineno=83,
                          col_offset=51,
                          end_lineno=83,
                          end_col_offset=62),
                        [
                          Constant(
                            '\n',
                            lineno=83,
                            col_offset=63,
                            end_lineno=83,
                            end_col_offset=67)],
                        [],
                        lineno=83,
                        col_offset=51,
                        end_lineno=83,
                        end_col_offset=68),
                      lineno=83,
                      col_offset=46,
                      end_lineno=83,
                      end_col_offset=68)],
                  lineno=83,
                  col_offset=19,
                  end_lineno=83,
                  end_col_offset=69),
                lineno=83,
                col_offset=12,
                end_lineno=83,
                end_col_offset=69)],
            [],
            lineno=82,
            col_offset=8,
            end_lineno=83,
            end_col_offset=69)],
        [],
        lineno=71,
        col_offset=4,
        end_lineno=83,
        end_col_offset=69),
      Assign(
        [
          Name(
            'out',
            Store(),
            lineno=85,
            col_offset=4,
            end_lineno=85,
            end_col_offset=7)],
        List(
          [],
          Load(),
          lineno=85,
          col_offset=10,
          end_lineno=85,
          end_col_offset=12),
        lineno=85,
        col_offset=4,
        end_lineno=85,
        end_col_offset=12),
      For(
        Name(
          'name',
          Store(),
          lineno=86,
          col_offset=8,
          end_lineno=86,
          end_col_offset=12),
        Name(
          'files',
          Load(),
          lineno=86,
          col_offset=16,
          end_lineno=86,
          end_col_offset=21),
        [
          With(
            [
              withitem(
                Call(
                  Name(
                    'open',
                    Load(),
                    lineno=87,
                    col_offset=13,
                    end_lineno=87,
                    end_col_offset=17),
                  [
                    Name(
                      'name',
                      Load(),
                      lineno=87,
                      col_offset=18,
                      end_lineno=87,
                      end_col_offset=22),
                    Constant(
                      'r',
                      lineno=87,
                      col_offset=24,
                      end_lineno=87,
                      end_col_offset=27)],
                  [],
                  lineno=87,
                  col_offset=13,
                  end_lineno=87,
                  end_col_offset=28),
                Name(
                  'file',
                  Store(),
                  lineno=87,
                  col_offset=32,
                  end_lineno=87,
                  end_col_offset=36))],
            [
              If(
                Compare(
                  Constant(
                    '-l',
                    lineno=88,
                    col_offset=15,
                    end_lineno=88,
                    end_col_offset=19),
                  [
                    In()],
                  [
                    Name(
                      'flags',
                      Load(),
                      lineno=88,
                      col_offset=23,
                      end_lineno=88,
                      end_col_offset=28)],
                  lineno=88,
                  col_offset=15,
                  end_lineno=88,
                  end_col_offset=28),
                [
                  If(
                    Call(
                      Name(
                        'any',
                        Load(),
                        lineno=89,
                        col_offset=19,
                        end_lineno=89,
                        end_col_offset=22),
                      [
                        Call(
                          Name(
                            'map',
                            Load(),
                            lineno=89,
                            col_offset=23,
                            end_lineno=89,
                            end_col_offset=26),
                          [
                            Name(
                              'check',
                              Load(),
                              lineno=89,
                              col_offset=27,
                              end_lineno=89,
                              end_col_offset=32),
                            Name(
                              'file',
                              Load(),
                              lineno=89,
                              col_offset=34,
                              end_lineno=89,
                              end_col_offset=38)],
                          [],
                          lineno=89,
                          col_offset=23,
                          end_lineno=89,
                          end_col_offset=39)],
                      [],
                      lineno=89,
                      col_offset=19,
                      end_lineno=89,
                      end_col_offset=40),
                    [
                      Expr(
                        Call(
                          Attribute(
                            Name(
                              'out',
                              Load(),
                              lineno=90,
                              col_offset=20,
                              end_lineno=90,
                              end_col_offset=23),
                            'append',
                            Load(),
                            lineno=90,
                            col_offset=20,
                            end_lineno=90,
                            end_col_offset=30),
                          [
                            JoinedStr(
                              [
                                FormattedValue(
                                  Name(
                                    'name',
                                    Load(),
                                    lineno=90,
                                    col_offset=34,
                                    end_lineno=90,
                                    end_col_offset=38),
                                  -1,
                                  lineno=90,
                                  col_offset=31,
                                  end_lineno=90,
                                  end_col_offset=42),
                                Constant(
                                  '\n',
                                  lineno=90,
                                  col_offset=31,
                                  end_lineno=90,
                                  end_col_offset=42)],
                              lineno=90,
                              col_offset=31,
                              end_lineno=90,
                              end_col_offset=42)],
                          [],
                          lineno=90,
                          col_offset=20,
                          end_lineno=90,
                          end_col_offset=43),
                        lineno=90,
                        col_offset=20,
                        end_lineno=90,
                        end_col_offset=43)],
                    [],
                    lineno=89,
                    col_offset=16,
                    end_lineno=90,
                    end_col_offset=43)],
                [
                  Assign(
                    [
                      Name(
                        'ls',
                        Store(),
                        lineno=92,
                        col_offset=16,
                        end_lineno=92,
                        end_col_offset=18)],
                    Call(
                      Name(
                        'enumerate',
                        Load(),
                        lineno=92,
                        col_offset=21,
                        end_lineno=92,
                        end_col_offset=30),
                      [
                        Name(
                          'file',
                          Load(),
                          lineno=92,
                          col_offset=31,
                          end_lineno=92,
                          end_col_offset=35),
                        Constant(
                          1,
                          lineno=92,
                          col_offset=37,
                          end_lineno=92,
                          end_col_offset=38)],
                      [],
                      lineno=92,
                      col_offset=21,
                      end_lineno=92,
                      end_col_offset=39),
                    lineno=92,
                    col_offset=16,
                    end_lineno=92,
                    end_col_offset=39),
                  Expr(
                    Call(
                      Attribute(
                        Name(
                          'out',
                          Load(),
                          lineno=93,
                          col_offset=16,
                          end_lineno=93,
                          end_col_offset=19),
                        'extend',
                        Load(),
                        lineno=93,
                        col_offset=16,
                        end_lineno=93,
                        end_col_offset=26),
                      [
                        GeneratorExp(
                          Call(
                            Name(
                              'msg',
                              Load(),
                              lineno=93,
                              col_offset=27,
                              end_lineno=93,
                              end_col_offset=30),
                            [
                              Name(
                                'name',
                                Load(),
                                lineno=93,
                                col_offset=31,
                                end_lineno=93,
                                end_col_offset=35),
                              Name(
                                'n',
                                Load(),
                                lineno=93,
                                col_offset=37,
                                end_lineno=93,
                                end_col_offset=38),
                              Name(
                                'line',
                                Load(),
                                lineno=93,
                                col_offset=40,
                                end_lineno=93,
                                end_col_offset=44)],
                            [],
                            lineno=93,
                            col_offset=27,
                            end_lineno=93,
                            end_col_offset=45),
                          [
                            comprehension(
                              Tuple(
                                [
                                  Name(
                                    'n',
                                    Store(),
                                    lineno=93,
                                    col_offset=50,
                                    end_lineno=93,
                                    end_col_offset=51),
                                  Name(
                                    'line',
                                    Store(),
                                    lineno=93,
                                    col_offset=53,
                                    end_lineno=93,
                                    end_col_offset=57)],
                                Store(),
                                lineno=93,
                                col_offset=50,
                                end_lineno=93,
                                end_col_offset=57),
                              Name(
                                'ls',
                                Load(),
                                lineno=93,
                                col_offset=61,
                                end_lineno=93,
                                end_col_offset=63),
                              [
                                Call(
                                  Name(
                                    'check',
                                    Load(),
                                    lineno=93,
                                    col_offset=67,
                                    end_lineno=93,
                                    end_col_offset=72),
                                  [
                                    Name(
                                      'line',
                                      Load(),
                                      lineno=93,
                                      col_offset=73,
                                      end_lineno=93,
                                      end_col_offset=77)],
                                  [],
                                  lineno=93,
                                  col_offset=67,
                                  end_lineno=93,
                                  end_col_offset=78)],
                              0)],
                          lineno=93,
                          col_offset=26,
                          end_lineno=93,
                          end_col_offset=79)],
                      [],
                      lineno=93,
                      col_offset=16,
                      end_lineno=93,
                      end_col_offset=79),
                    lineno=93,
                    col_offset=16,
                    end_lineno=93,
                    end_col_offset=79)],
                lineno=88,
                col_offset=12,
                end_lineno=93,
                end_col_offset=79)],
            lineno=87,
            col_offset=8,
            end_lineno=93,
            end_col_offset=79)],
        [],
        lineno=86,
        col_offset=4,
        end_lineno=93,
        end_col_offset=79),
      Return(
        Call(
          Attribute(
            Constant(
              '',
              lineno=94,
              col_offset=11,
              end_lineno=94,
              end_col_offset=13),
            'join',
            Load(),
            lineno=94,
            col_offset=11,
            end_lineno=94,
            end_col_offset=18),
          [
            Name(
              'out',
              Load(),
              lineno=94,
              col_offset=19,
              end_lineno=94,
              end_col_offset=22)],
          [],
          lineno=94,
          col_offset=11,
          end_lineno=94,
          end_col_offset=23),
        lineno=94,
        col_offset=4,
        end_lineno=94,
        end_col_offset=23)],
    [],
    lineno=61,
    col_offset=0,
    end_lineno=94,
    end_col_offset=23)],
[])
## END TREE BEFORE ##

## BEGIN NORMALIZED TREE ##
Module(
[
  Import(
    [
      alias(
        're',
        lineno=58,
        col_offset=7,
        end_lineno=58,
        end_col_offset=9)],
    lineno=58,
    col_offset=0,
    end_lineno=58,
    end_col_offset=9),
  FunctionDef(
    'placeholder_0',
    arguments(
      [],
      [
        arg(
          'placeholder_1',
          lineno=61,
          col_offset=9,
          end_lineno=61,
          end_col_offset=16),
        arg(
          'placeholder_2',
          lineno=61,
          col_offset=18,
          end_lineno=61,
          end_col_offset=23),
        arg(
          'placeholder_3',
          lineno=61,
          col_offset=25,
          end_lineno=61,
          end_col_offset=30)],
      kwonlyargs=[],
      kw_defaults=[],
      defaults=[]),
    [
      If(
        Compare(
          Constant(
            '-x',
            lineno=62,
            col_offset=7,
            end_lineno=62,
            end_col_offset=11),
          [
            In()],
          [
            Name(
              'placeholder_2',
              Load(),
              lineno=62,
              col_offset=15,
              end_lineno=62,
              end_col_offset=20)],
          lineno=62,
          col_offset=7,
          end_lineno=62,
          end_col_offset=20),
        [
          Assign(
            [
              Name(
                'placeholder_1',
                Store(),
                lineno=63,
                col_offset=8,
                end_lineno=63,
                end_col_offset=15)],
            JoinedStr(
              [
                Constant(
                  '^',
                  lineno=63,
                  col_offset=18,
                  end_lineno=63,
                  end_col_offset=32),
                FormattedValue(
                  Name(
                    'placeholder_1',
                    Load(),
                    lineno=63,
                    col_offset=22,
                    end_lineno=63,
                    end_col_offset=29),
                  -1,
                  lineno=63,
                  col_offset=18,
                  end_lineno=63,
                  end_col_offset=32),
                Constant(
                  '$',
                  lineno=63,
                  col_offset=18,
                  end_lineno=63,
                  end_col_offset=32)],
              lineno=63,
              col_offset=18,
              end_lineno=63,
              end_col_offset=32),
            lineno=63,
            col_offset=8,
            end_lineno=63,
            end_col_offset=32)],
        [],
        lineno=62,
        col_offset=4,
        end_lineno=63,
        end_col_offset=32),
      Assign(
        [
          Name(
            'placeholder_4',
            Store(),
            lineno=64,
            col_offset=4,
            end_lineno=64,
            end_col_offset=14)],
        Call(
          Attribute(
            Name(
              're',
              Load(),
              lineno=64,
              col_offset=17,
              end_lineno=64,
              end_col_offset=19),
            'compile',
            Load(),
            lineno=64,
            col_offset=17,
            end_lineno=64,
            end_col_offset=27),
          [
            Name(
              'placeholder_1',
              Load(),
              lineno=64,
              col_offset=28,
              end_lineno=64,
              end_col_offset=35),
            IfExp(
              Compare(
                Constant(
                  '-i',
                  lineno=64,
                  col_offset=45,
                  end_lineno=64,
                  end_col_offset=49),
                [
                  In()],
                [
                  Name(
                    'placeholder_2',
                    Load(),
                    lineno=64,
                    col_offset=53,
                    end_lineno=64,
                    end_col_offset=58)],
                lineno=64,
                col_offset=45,
                end_lineno=64,
                end_col_offset=58),
              Attribute(
                Name(
                  're',
                  Load(),
                  lineno=64,
                  col_offset=37,
                  end_lineno=64,
                  end_col_offset=39),
                'I',
                Load(),
                lineno=64,
                col_offset=37,
                end_lineno=64,
                end_col_offset=41),
              Attribute(
                Name(
                  're',
                  Load(),
                  lineno=64,
                  col_offset=64,
                  end_lineno=64,
                  end_col_offset=66),
                'NOFLAG',
                Load(),
                lineno=64,
                col_offset=64,
                end_lineno=64,
                end_col_offset=73),
              lineno=64,
              col_offset=37,
              end_lineno=64,
              end_col_offset=73)],
          [],
          lineno=64,
          col_offset=17,
          end_lineno=64,
          end_col_offset=74),
        lineno=64,
        col_offset=4,
        end_lineno=64,
        end_col_offset=74),
      If(
        Compare(
          Constant(
            '-v',
            lineno=65,
            col_offset=7,
            end_lineno=65,
            end_col_offset=11),
          [
            In()],
          [
            Name(
              'placeholder_2',
              Load(),
              lineno=65,
              col_offset=15,
              end_lineno=65,
              end_col_offset=20)],
          lineno=65,
          col_offset=7,
          end_lineno=65,
          end_col_offset=20),
        [
          FunctionDef(
            'placeholder_5',
            arguments(
              [],
              [
                arg(
                  'placeholder_6',
                  lineno=66,
                  col_offset=18,
                  end_lineno=66,
                  end_col_offset=22)],
              kwonlyargs=[],
              kw_defaults=[],
              defaults=[]),
            [
              Return(
                Compare(
                  Call(
                    Attribute(
                      Name(
                        'placeholder_4',
                        Load(),
                        lineno=67,
                        col_offset=19,
                        end_lineno=67,
                        end_col_offset=29),
                      'search',
                      Load(),
                      lineno=67,
                      col_offset=19,
                      end_lineno=67,
                      end_col_offset=36),
                    [
                      Name(
                        'placeholder_6',
                        Load(),
                        lineno=67,
                        col_offset=37,
                        end_lineno=67,
                        end_col_offset=41)],
                    [],
                    lineno=67,
                    col_offset=19,
                    end_lineno=67,
                    end_col_offset=42),
                  [
                    Is()],
                  [
                    Constant(
                      None,
                      lineno=67,
                      col_offset=46,
                      end_lineno=67,
                      end_col_offset=50)],
                  lineno=67,
                  col_offset=19,
                  end_lineno=67,
                  end_col_offset=50),
                lineno=67,
                col_offset=12,
                end_lineno=67,
                end_col_offset=50)],
            [],
            lineno=66,
            col_offset=8,
            end_lineno=67,
            end_col_offset=50)],
        [
          Assign(
            [
              Name(
                'placeholder_5',
                Store(),
                lineno=69,
                col_offset=8,
                end_lineno=69,
                end_col_offset=13)],
            Attribute(
              Name(
                'placeholder_4',
                Load(),
                lineno=69,
                col_offset=16,
                end_lineno=69,
                end_col_offset=26),
              'search',
              Load(),
              lineno=69,
              col_offset=16,
              end_lineno=69,
              end_col_offset=33),
            lineno=69,
            col_offset=8,
            end_lineno=69,
            end_col_offset=33)],
        lineno=65,
        col_offset=4,
        end_lineno=69,
        end_col_offset=33),
      If(
        Compare(
          Constant(
            '-l',
            lineno=71,
            col_offset=7,
            end_lineno=71,
            end_col_offset=11),
          [
            NotIn()],
          [
            Name(
              'placeholder_2',
              Load(),
              lineno=71,
              col_offset=19,
              end_lineno=71,
              end_col_offset=24)],
          lineno=71,
          col_offset=7,
          end_lineno=71,
          end_col_offset=24),
        [
          Match(
            Tuple(
              [
                Call(
                  Name(
                    'len',
                    Load(),
                    lineno=72,
                    col_offset=14,
                    end_lineno=72,
                    end_col_offset=17),
                  [
                    Name(
                      'placeholder_3',
                      Load(),
                      lineno=72,
                      col_offset=18,
                      end_lineno=72,
                      end_col_offset=23)],
                  [],
                  lineno=72,
                  col_offset=14,
                  end_lineno=72,
                  end_col_offset=24),
                Compare(
                  Constant(
                    '-n',
                    lineno=72,
                    col_offset=26,
                    end_lineno=72,
                    end_col_offset=30),
                  [
                    In()],
                  [
                    Name(
                      'placeholder_2',
                      Load(),
                      lineno=72,
                      col_offset=34,
                      end_lineno=72,
                      end_col_offset=39)],
                  lineno=72,
                  col_offset=26,
                  end_lineno=72,
                  end_col_offset=39)],
              Load(),
              lineno=72,
              col_offset=14,
              end_lineno=72,
              end_col_offset=39),
            [
              match_case(
                MatchSequence(
                  [
                    MatchValue(
                      Constant(
                        1,
                        lineno=73,
                        col_offset=17,
                        end_lineno=73,
                        end_col_offset=18),
                      lineno=73,
                      col_offset=17,
                      end_lineno=73,
                      end_col_offset=18),
                    MatchSingleton(
                      True,
                      lineno=73,
                      col_offset=20,
                      end_lineno=73,
                      end_col_offset=24)],
                  lineno=73,
                  col_offset=17,
                  end_lineno=73,
                  end_col_offset=24),
                body=[
                  Assign(
                    [
                      Name(
                        'placeholder_7',
                        Store(),
                        lineno=74,
                        col_offset=16,
                        end_lineno=74,
                        end_col_offset=19)],
                    Constant(
                      '{n}:{line}\n',
                      lineno=74,
                      col_offset=22,
                      end_lineno=74,
                      end_col_offset=36),
                    lineno=74,
                    col_offset=16,
                    end_lineno=74,
                    end_col_offset=36)]),
              match_case(
                MatchSequence(
                  [
                    MatchValue(
                      Constant(
                        1,
                        lineno=75,
                        col_offset=17,
                        end_lineno=75,
                        end_col_offset=18),
                      lineno=75,
                      col_offset=17,
                      end_lineno=75,
                      end_col_offset=18),
                    MatchAs(
                      lineno=75,
                      col_offset=20,
                      end_lineno=75,
                      end_col_offset=21)],
                  lineno=75,
                  col_offset=17,
                  end_lineno=75,
                  end_col_offset=21),
                body=[
                  Assign(
                    [
                      Name(
                        'placeholder_7',
                        Store(),
                        lineno=76,
                        col_offset=16,
                        end_lineno=76,
                        end_col_offset=19)],
                    Constant(
                      '{line}\n',
                      lineno=76,
                      col_offset=22,
                      end_lineno=76,
                      end_col_offset=32),
                    lineno=76,
                    col_offset=16,
                    end_lineno=76,
                    end_col_offset=32)]),
              match_case(
                MatchSequence(
                  [
                    MatchAs(
                      lineno=77,
                      col_offset=17,
                      end_lineno=77,
                      end_col_offset=18),
                    MatchSingleton(
                      True,
                      lineno=77,
                      col_offset=20,
                      end_lineno=77,
                      end_col_offset=24)],
                  lineno=77,
                  col_offset=17,
                  end_lineno=77,
                  end_col_offset=24),
                body=[
                  Assign(
                    [
                      Name(
                        'placeholder_7',
                        Store(),
                        lineno=78,
                        col_offset=16,
                        end_lineno=78,
                        end_col_offset=19)],
                    Constant(
                      '{name}:{n}:{line}\n',
                      lineno=78,
                      col_offset=22,
                      end_lineno=78,
                      end_col_offset=43),
                    lineno=78,
                    col_offset=16,
                    end_lineno=78,
                    end_col_offset=43)]),
              match_case(
                MatchAs(
                  lineno=79,
                  col_offset=17,
                  end_lineno=79,
                  end_col_offset=18),
                body=[
                  Assign(
                    [
                      Name(
                        'placeholder_7',
                        Store(),
                        lineno=80,
                        col_offset=16,
                        end_lineno=80,
                        end_col_offset=19)],
                    Constant(
                      '{name}:{line}\n',
                      lineno=80,
                      col_offset=22,
                      end_lineno=80,
                      end_col_offset=39),
                    lineno=80,
                    col_offset=16,
                    end_lineno=80,
                    end_col_offset=39)])],
            lineno=72,
            col_offset=8,
            end_lineno=80,
            end_col_offset=39),
          FunctionDef(
            'placeholder_8',
            arguments(
              [],
              [
                arg(
                  'placeholder_9',
                  lineno=82,
                  col_offset=16,
                  end_lineno=82,
                  end_col_offset=20),
                arg(
                  'placeholder_10',
                  lineno=82,
                  col_offset=22,
                  end_lineno=82,
                  end_col_offset=23),
                arg(
                  'placeholder_6',
                  lineno=82,
                  col_offset=25,
                  end_lineno=82,
                  end_col_offset=29)],
              kwonlyargs=[],
              kw_defaults=[],
              defaults=[]),
            [
              Return(
                Call(
                  Attribute(
                    Name(
                      'placeholder_7',
                      Load(),
                      lineno=83,
                      col_offset=19,
                      end_lineno=83,
                      end_col_offset=22),
                    'format',
                    Load(),
                    lineno=83,
                    col_offset=19,
                    end_lineno=83,
                    end_col_offset=29),
                  [],
                  [
                    keyword(
                      'placeholder_9',
                      Name(
                        'placeholder_9',
                        Load(),
                        lineno=83,
                        col_offset=35,
                        end_lineno=83,
                        end_col_offset=39),
                      lineno=83,
                      col_offset=30,
                      end_lineno=83,
                      end_col_offset=39),
                    keyword(
                      'placeholder_10',
                      Name(
                        'placeholder_10',
                        Load(),
                        lineno=83,
                        col_offset=43,
                        end_lineno=83,
                        end_col_offset=44),
                      lineno=83,
                      col_offset=41,
                      end_lineno=83,
                      end_col_offset=44),
                    keyword(
                      'placeholder_6',
                      Call(
                        Attribute(
                          Name(
                            'placeholder_6',
                            Load(),
                            lineno=83,
                            col_offset=51,
                            end_lineno=83,
                            end_col_offset=55),
                          'rstrip',
                          Load(),
                          lineno=83,
                          col_offset=51,
                          end_lineno=83,
                          end_col_offset=62),
                        [
                          Constant(
                            '\n',
                            lineno=83,
                            col_offset=63,
                            end_lineno=83,
                            end_col_offset=67)],
                        [],
                        lineno=83,
                        col_offset=51,
                        end_lineno=83,
                        end_col_offset=68),
                      lineno=83,
                      col_offset=46,
                      end_lineno=83,
                      end_col_offset=68)],
                  lineno=83,
                  col_offset=19,
                  end_lineno=83,
                  end_col_offset=69),
                lineno=83,
                col_offset=12,
                end_lineno=83,
                end_col_offset=69)],
            [],
            lineno=82,
            col_offset=8,
            end_lineno=83,
            end_col_offset=69)],
        [],
        lineno=71,
        col_offset=4,
        end_lineno=83,
        end_col_offset=69),
      Assign(
        [
          Name(
            'placeholder_11',
            Store(),
            lineno=85,
            col_offset=4,
            end_lineno=85,
            end_col_offset=7)],
        List(
          [],
          Load(),
          lineno=85,
          col_offset=10,
          end_lineno=85,
          end_col_offset=12),
        lineno=85,
        col_offset=4,
        end_lineno=85,
        end_col_offset=12),
      For(
        Name(
          'placeholder_9',
          Store(),
          lineno=86,
          col_offset=8,
          end_lineno=86,
          end_col_offset=12),
        Name(
          'placeholder_3',
          Load(),
          lineno=86,
          col_offset=16,
          end_lineno=86,
          end_col_offset=21),
        [
          With(
            [
              withitem(
                Call(
                  Name(
                    'open',
                    Load(),
                    lineno=87,
                    col_offset=13,
                    end_lineno=87,
                    end_col_offset=17),
                  [
                    Name(
                      'placeholder_9',
                      Load(),
                      lineno=87,
                      col_offset=18,
                      end_lineno=87,
                      end_col_offset=22),
                    Constant(
                      'r',
                      lineno=87,
                      col_offset=24,
                      end_lineno=87,
                      end_col_offset=27)],
                  [],
                  lineno=87,
                  col_offset=13,
                  end_lineno=87,
                  end_col_offset=28),
                Name(
                  'placeholder_12',
                  Store(),
                  lineno=87,
                  col_offset=32,
                  end_lineno=87,
                  end_col_offset=36))],
            [
              If(
                Compare(
                  Constant(
                    '-l',
                    lineno=88,
                    col_offset=15,
                    end_lineno=88,
                    end_col_offset=19),
                  [
                    In()],
                  [
                    Name(
                      'placeholder_2',
                      Load(),
                      lineno=88,
                      col_offset=23,
                      end_lineno=88,
                      end_col_offset=28)],
                  lineno=88,
                  col_offset=15,
                  end_lineno=88,
                  end_col_offset=28),
                [
                  If(
                    Call(
                      Name(
                        'any',
                        Load(),
                        lineno=89,
                        col_offset=19,
                        end_lineno=89,
                        end_col_offset=22),
                      [
                        Call(
                          Name(
                            'map',
                            Load(),
                            lineno=89,
                            col_offset=23,
                            end_lineno=89,
                            end_col_offset=26),
                          [
                            Name(
                              'placeholder_5',
                              Load(),
                              lineno=89,
                              col_offset=27,
                              end_lineno=89,
                              end_col_offset=32),
                            Name(
                              'placeholder_12',
                              Load(),
                              lineno=89,
                              col_offset=34,
                              end_lineno=89,
                              end_col_offset=38)],
                          [],
                          lineno=89,
                          col_offset=23,
                          end_lineno=89,
                          end_col_offset=39)],
                      [],
                      lineno=89,
                      col_offset=19,
                      end_lineno=89,
                      end_col_offset=40),
                    [
                      Expr(
                        Call(
                          Attribute(
                            Name(
                              'placeholder_11',
                              Load(),
                              lineno=90,
                              col_offset=20,
                              end_lineno=90,
                              end_col_offset=23),
                            'append',
                            Load(),
                            lineno=90,
                            col_offset=20,
                            end_lineno=90,
                            end_col_offset=30),
                          [
                            JoinedStr(
                              [
                                FormattedValue(
                                  Name(
                                    'placeholder_9',
                                    Load(),
                                    lineno=90,
                                    col_offset=34,
                                    end_lineno=90,
                                    end_col_offset=38),
                                  -1,
                                  lineno=90,
                                  col_offset=31,
                                  end_lineno=90,
                                  end_col_offset=42),
                                Constant(
                                  '\n',
                                  lineno=90,
                                  col_offset=31,
                                  end_lineno=90,
                                  end_col_offset=42)],
                              lineno=90,
                              col_offset=31,
                              end_lineno=90,
                              end_col_offset=42)],
                          [],
                          lineno=90,
                          col_offset=20,
                          end_lineno=90,
                          end_col_offset=43),
                        lineno=90,
                        col_offset=20,
                        end_lineno=90,
                        end_col_offset=43)],
                    [],
                    lineno=89,
                    col_offset=16,
                    end_lineno=90,
                    end_col_offset=43)],
                [
                  Assign(
                    [
                      Name(
                        'placeholder_13',
                        Store(),
                        lineno=92,
                        col_offset=16,
                        end_lineno=92,
                        end_col_offset=18)],
                    Call(
                      Name(
                        'enumerate',
                        Load(),
                        lineno=92,
                        col_offset=21,
                        end_lineno=92,
                        end_col_offset=30),
                      [
                        Name(
                          'placeholder_12',
                          Load(),
                          lineno=92,
                          col_offset=31,
                          end_lineno=92,
                          end_col_offset=35),
                        Constant(
                          1,
                          lineno=92,
                          col_offset=37,
                          end_lineno=92,
                          end_col_offset=38)],
                      [],
                      lineno=92,
                      col_offset=21,
                      end_lineno=92,
                      end_col_offset=39),
                    lineno=92,
                    col_offset=16,
                    end_lineno=92,
                    end_col_offset=39),
                  Expr(
                    Call(
                      Attribute(
                        Name(
                          'placeholder_11',
                          Load(),
                          lineno=93,
                          col_offset=16,
                          end_lineno=93,
                          end_col_offset=19),
                        'extend',
                        Load(),
                        lineno=93,
                        col_offset=16,
                        end_lineno=93,
                        end_col_offset=26),
                      [
                        GeneratorExp(
                          Call(
                            Name(
                              'placeholder_8',
                              Load(),
                              lineno=93,
                              col_offset=27,
                              end_lineno=93,
                              end_col_offset=30),
                            [
                              Name(
                                'placeholder_9',
                                Load(),
                                lineno=93,
                                col_offset=31,
                                end_lineno=93,
                                end_col_offset=35),
                              Name(
                                'placeholder_10',
                                Load(),
                                lineno=93,
                                col_offset=37,
                                end_lineno=93,
                                end_col_offset=38),
                              Name(
                                'placeholder_6',
                                Load(),
                                lineno=93,
                                col_offset=40,
                                end_lineno=93,
                                end_col_offset=44)],
                            [],
                            lineno=93,
                            col_offset=27,
                            end_lineno=93,
                            end_col_offset=45),
                          [
                            comprehension(
                              Tuple(
                                [
                                  Name(
                                    'placeholder_10',
                                    Store(),
                                    lineno=93,
                                    col_offset=50,
                                    end_lineno=93,
                                    end_col_offset=51),
                                  Name(
                                    'placeholder_6',
                                    Store(),
                                    lineno=93,
                                    col_offset=53,
                                    end_lineno=93,
                                    end_col_offset=57)],
                                Store(),
                                lineno=93,
                                col_offset=50,
                                end_lineno=93,
                                end_col_offset=57),
                              Name(
                                'placeholder_13',
                                Load(),
                                lineno=93,
                                col_offset=61,
                                end_lineno=93,
                                end_col_offset=63),
                              [
                                Call(
                                  Name(
                                    'placeholder_5',
                                    Load(),
                                    lineno=93,
                                    col_offset=67,
                                    end_lineno=93,
                                    end_col_offset=72),
                                  [
                                    Name(
                                      'placeholder_6',
                                      Load(),
                                      lineno=93,
                                      col_offset=73,
                                      end_lineno=93,
                                      end_col_offset=77)],
                                  [],
                                  lineno=93,
                                  col_offset=67,
                                  end_lineno=93,
                                  end_col_offset=78)],
                              0)],
                          lineno=93,
                          col_offset=26,
                          end_lineno=93,
                          end_col_offset=79)],
                      [],
                      lineno=93,
                      col_offset=16,
                      end_lineno=93,
                      end_col_offset=79),
                    lineno=93,
                    col_offset=16,
                    end_lineno=93,
                    end_col_offset=79)],
                lineno=88,
                col_offset=12,
                end_lineno=93,
                end_col_offset=79)],
            lineno=87,
            col_offset=8,
            end_lineno=93,
            end_col_offset=79)],
        [],
        lineno=86,
        col_offset=4,
        end_lineno=93,
        end_col_offset=79),
      Return(
        Call(
          Attribute(
            Constant(
              '',
              lineno=94,
              col_offset=11,
              end_lineno=94,
              end_col_offset=13),
            'join',
            Load(),
            lineno=94,
            col_offset=11,
            end_lineno=94,
            end_col_offset=18),
          [
            Name(
              'placeholder_11',
              Load(),
              lineno=94,
              col_offset=19,
              end_lineno=94,
              end_col_offset=22)],
          [],
          lineno=94,
          col_offset=11,
          end_lineno=94,
          end_col_offset=23),
        lineno=94,
        col_offset=4,
        end_lineno=94,
        end_col_offset=23)],
    [],
    lineno=61,
    col_offset=0,
    end_lineno=94,
    end_col_offset=23)],
[])
## END NORMALIZED TREE ##
 JSON Mapping
{
 "placeholder_0": "grep",
 "placeholder_1": "pattern",
 "placeholder_2": "flags",
 "placeholder_3": "files",
 "placeholder_4": "re_pattern",
 "placeholder_5": "check",
 "placeholder_6": "line",
 "placeholder_7": "fmt",
 "placeholder_8": "msg",
 "placeholder_9": "name",
 "placeholder_10": "n",
 "placeholder_11": "out",
 "placeholder_12": "file",
 "placeholder_13": "ls"
}

SGF-Parsing Exercise

 Solution Code
import re
from functools import partial
  
  
class SgfTree:

  def __init__(self, properties=None, children=None):
      self.properties = properties or {}
      self.children = children or []

  def __eq__(self, other):
      if not isinstance(other, SgfTree):
          return False
      for key, value in self.properties.items():
          if key not in other.properties:
              return False
          if other.properties[key] != value:
              return False
      for key in other.properties.keys():
          if key not in self.properties:
              return False
      if len(self.children) != len(other.children):
          return False
      for child, other_child in zip(self.children, other.children):
          if child != other_child:
              return False
      return True

  def __ne__(self, other):
      return not self == other


def repl(m):
  backslashes, end = m.groups()
  n, r = divmod(len(backslashes), 2)
  string = n * "\\"
  match end:
      case "\n":
          string += "" if r else "\n"
      case "\t" | "\r" | "\x0b" | "\x0c":
          string += " "
      case _:
          string += end

  return string


clean_value = partial(re.compile(r"(\\*)(.)", re.S).sub, repl)


def parse(string):
  match string.strip():
      case "" | ";":
          raise ValueError("tree missing")
      case "()":
          raise ValueError("tree with no nodes")

  re_out, re_in = map(re.compile, (r"\(?;|\)|\[|[^[]+", r"[^\]]*?(\\*)\]"))
  nodes, string, in_val, substr = [SgfTree()], string[2:], False, ""
  while True:
      m = (re_in if in_val else re_out).match(string)
      part, string = m[0], string[m.end():]
      if not in_val:
          match part:
              case "(;" | ";":
                  node = SgfTree()
                  nodes[-1].children.append(node)
                  if part == "(;" or len(nodes) == 1:
                      nodes.append(node)
                  else:
                      nodes[-1] = node
              case ")":
                  if string == "":
                      return nodes[0]
                  nodes.pop()
              case "[":
                  in_val = True
              case _:
                  if ")" in part:
                      raise ValueError("properties without delimiter")
                  if not part.isupper():
                      raise ValueError("property must be in uppercase")
                  values = nodes[-1].properties.setdefault(part, [])
      else:
          if (backslashes := m[1]) and len(backslashes) % 2:
              substr += part
          else:
              values.append(clean_value(substr + part[:-1]))
              in_val, substr = False, ""
 representation.out File Content
## BEGIN NORMALIZED CODE ##
import re
from functools import partial


class placeholder_0:
  def placeholder_1(self, placeholder_2=None, placeholder_3=None):
      self.placeholder_2 = placeholder_2 or {}
      self.placeholder_3 = placeholder_3 or []

  def placeholder_4(self, placeholder_5):
      if not isinstance(placeholder_5, placeholder_0):
          return False
      for placeholder_6, placeholder_7 in self.placeholder_2.items():
          if placeholder_6 not in placeholder_5.placeholder_2:
              return False
          if placeholder_5.placeholder_2[placeholder_6] != placeholder_7:
              return False
      for placeholder_6 in placeholder_5.placeholder_2.keys():
          if placeholder_6 not in self.placeholder_2:
              return False
      if len(self.placeholder_3) != len(placeholder_5.placeholder_3):
          return False
      for placeholder_8, placeholder_9 in zip(
          self.placeholder_3, placeholder_5.placeholder_3
      ):
          if placeholder_8 != placeholder_9:
              return False
      return True

  def placeholder_10(self, placeholder_5):
      return not self == placeholder_5


def placeholder_11(placeholder_12):
  placeholder_13, placeholder_14 = placeholder_12.groups()
  placeholder_15, placeholder_16 = divmod(len(placeholder_13), 2)
  placeholder_17 = placeholder_15 * "\\"
  match placeholder_14:
      case "\n":
          placeholder_17 += "" if placeholder_16 else "\n"
      case "\t" | "\r" | "\x0b" | "\x0c":
          placeholder_17 += " "
      case _:
          placeholder_17 += placeholder_14
  return placeholder_17


placeholder_18 = partial(re.compile("(\\\\*)(.)", re.S).sub, placeholder_11)


def placeholder_19(placeholder_17):
  match placeholder_17.strip():
      case "" | ";":
          raise ValueError("tree missing")
      case "()":
          raise ValueError("tree with no nodes")
  placeholder_20, placeholder_21 = map(
      re.compile, ("\\(?;|\\)|\\[|[^[]+", "[^\\]]*?(\\\\*)\\]")
  )
  placeholder_22, placeholder_17, placeholder_23, placeholder_24 = (
      [placeholder_0()],
      placeholder_17[2:],
      False,
      "",
  )
  while True:
      placeholder_12 = (placeholder_21 if placeholder_23 else placeholder_20).match(
          placeholder_17
      )
      placeholder_25, placeholder_17 = (
          placeholder_12[0],
          placeholder_17[placeholder_12.placeholder_14() :],
      )
      if not placeholder_23:
          match placeholder_25:
              case "(;" | ";":
                  placeholder_26 = placeholder_0()
                  placeholder_22[-1].placeholder_3.append(placeholder_26)
                  if placeholder_25 == "(;" or len(placeholder_22) == 1:
                      placeholder_22.append(placeholder_26)
                  else:
                      placeholder_22[-1] = placeholder_26
              case ")":
                  if placeholder_17 == "":
                      return placeholder_22[0]
                  placeholder_22.pop()
              case "[":
                  placeholder_23 = True
              case _:
                  if ")" in placeholder_25:
                      raise ValueError("properties without delimiter")
                  if not placeholder_25.isupper():
                      raise ValueError("property must be in uppercase")
                  placeholder_27 = placeholder_22[-1].placeholder_2.setdefault(
                      placeholder_25, []
                  )
      elif (placeholder_13 := placeholder_12[1]) and len(placeholder_13) % 2:
          placeholder_24 += placeholder_25
      else:
          placeholder_27.append(placeholder_18(placeholder_24 + placeholder_25[:-1]))
          placeholder_23, placeholder_24 = (False, "")

## END NORMALIZED CODE ##

## BEGIN TREE BEFORE ##
Module(
[
  Import(
    [
      alias(
        're',
        lineno=116,
        col_offset=7,
        end_lineno=116,
        end_col_offset=9)],
    lineno=116,
    col_offset=0,
    end_lineno=116,
    end_col_offset=9),
  ImportFrom(
    'functools',
    [
      alias(
        'partial',
        lineno=117,
        col_offset=22,
        end_lineno=117,
        end_col_offset=29)],
    0,
    lineno=117,
    col_offset=0,
    end_lineno=117,
    end_col_offset=29),
  ClassDef(
    'SgfTree',
    [],
    [],
    [
      FunctionDef(
        '__init__',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=122,
              col_offset=17,
              end_lineno=122,
              end_col_offset=21),
            arg(
              'properties',
              lineno=122,
              col_offset=23,
              end_lineno=122,
              end_col_offset=33),
            arg(
              'children',
              lineno=122,
              col_offset=40,
              end_lineno=122,
              end_col_offset=48)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[
            Constant(
              None,
              lineno=122,
              col_offset=34,
              end_lineno=122,
              end_col_offset=38),
            Constant(
              None,
              lineno=122,
              col_offset=49,
              end_lineno=122,
              end_col_offset=53)]),
        [
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=123,
                  col_offset=8,
                  end_lineno=123,
                  end_col_offset=12),
                'properties',
                Store(),
                lineno=123,
                col_offset=8,
                end_lineno=123,
                end_col_offset=23)],
            BoolOp(
              Or(),
              [
                Name(
                  'properties',
                  Load(),
                  lineno=123,
                  col_offset=26,
                  end_lineno=123,
                  end_col_offset=36),
                Dict(
                  [],
                  [],
                  lineno=123,
                  col_offset=40,
                  end_lineno=123,
                  end_col_offset=42)],
              lineno=123,
              col_offset=26,
              end_lineno=123,
              end_col_offset=42),
            lineno=123,
            col_offset=8,
            end_lineno=123,
            end_col_offset=42),
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=124,
                  col_offset=8,
                  end_lineno=124,
                  end_col_offset=12),
                'children',
                Store(),
                lineno=124,
                col_offset=8,
                end_lineno=124,
                end_col_offset=21)],
            BoolOp(
              Or(),
              [
                Name(
                  'children',
                  Load(),
                  lineno=124,
                  col_offset=24,
                  end_lineno=124,
                  end_col_offset=32),
                List(
                  [],
                  Load(),
                  lineno=124,
                  col_offset=36,
                  end_lineno=124,
                  end_col_offset=38)],
              lineno=124,
              col_offset=24,
              end_lineno=124,
              end_col_offset=38),
            lineno=124,
            col_offset=8,
            end_lineno=124,
            end_col_offset=38)],
        [],
        lineno=122,
        col_offset=4,
        end_lineno=124,
        end_col_offset=38),
      FunctionDef(
        '__eq__',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=126,
              col_offset=15,
              end_lineno=126,
              end_col_offset=19),
            arg(
              'other',
              lineno=126,
              col_offset=21,
              end_lineno=126,
              end_col_offset=26)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          If(
            UnaryOp(
              Not(),
              Call(
                Name(
                  'isinstance',
                  Load(),
                  lineno=127,
                  col_offset=15,
                  end_lineno=127,
                  end_col_offset=25),
                [
                  Name(
                    'other',
                    Load(),
                    lineno=127,
                    col_offset=26,
                    end_lineno=127,
                    end_col_offset=31),
                  Name(
                    'SgfTree',
                    Load(),
                    lineno=127,
                    col_offset=33,
                    end_lineno=127,
                    end_col_offset=40)],
                [],
                lineno=127,
                col_offset=15,
                end_lineno=127,
                end_col_offset=41),
              lineno=127,
              col_offset=11,
              end_lineno=127,
              end_col_offset=41),
            [
              Return(
                Constant(
                  False,
                  lineno=128,
                  col_offset=19,
                  end_lineno=128,
                  end_col_offset=24),
                lineno=128,
                col_offset=12,
                end_lineno=128,
                end_col_offset=24)],
            [],
            lineno=127,
            col_offset=8,
            end_lineno=128,
            end_col_offset=24),
          For(
            Tuple(
              [
                Name(
                  'key',
                  Store(),
                  lineno=129,
                  col_offset=12,
                  end_lineno=129,
                  end_col_offset=15),
                Name(
                  'value',
                  Store(),
                  lineno=129,
                  col_offset=17,
                  end_lineno=129,
                  end_col_offset=22)],
              Store(),
              lineno=129,
              col_offset=12,
              end_lineno=129,
              end_col_offset=22),
            Call(
              Attribute(
                Attribute(
                  Name(
                    'self',
                    Load(),
                    lineno=129,
                    col_offset=26,
                    end_lineno=129,
                    end_col_offset=30),
                  'properties',
                  Load(),
                  lineno=129,
                  col_offset=26,
                  end_lineno=129,
                  end_col_offset=41),
                'items',
                Load(),
                lineno=129,
                col_offset=26,
                end_lineno=129,
                end_col_offset=47),
              [],
              [],
              lineno=129,
              col_offset=26,
              end_lineno=129,
              end_col_offset=49),
            [
              If(
                Compare(
                  Name(
                    'key',
                    Load(),
                    lineno=130,
                    col_offset=15,
                    end_lineno=130,
                    end_col_offset=18),
                  [
                    NotIn()],
                  [
                    Attribute(
                      Name(
                        'other',
                        Load(),
                        lineno=130,
                        col_offset=26,
                        end_lineno=130,
                        end_col_offset=31),
                      'properties',
                      Load(),
                      lineno=130,
                      col_offset=26,
                      end_lineno=130,
                      end_col_offset=42)],
                  lineno=130,
                  col_offset=15,
                  end_lineno=130,
                  end_col_offset=42),
                [
                  Return(
                    Constant(
                      False,
                      lineno=131,
                      col_offset=23,
                      end_lineno=131,
                      end_col_offset=28),
                    lineno=131,
                    col_offset=16,
                    end_lineno=131,
                    end_col_offset=28)],
                [],
                lineno=130,
                col_offset=12,
                end_lineno=131,
                end_col_offset=28),
              If(
                Compare(
                  Subscript(
                    Attribute(
                      Name(
                        'other',
                        Load(),
                        lineno=132,
                        col_offset=15,
                        end_lineno=132,
                        end_col_offset=20),
                      'properties',
                      Load(),
                      lineno=132,
                      col_offset=15,
                      end_lineno=132,
                      end_col_offset=31),
                    Name(
                      'key',
                      Load(),
                      lineno=132,
                      col_offset=32,
                      end_lineno=132,
                      end_col_offset=35),
                    Load(),
                    lineno=132,
                    col_offset=15,
                    end_lineno=132,
                    end_col_offset=36),
                  [
                    NotEq()],
                  [
                    Name(
                      'value',
                      Load(),
                      lineno=132,
                      col_offset=40,
                      end_lineno=132,
                      end_col_offset=45)],
                  lineno=132,
                  col_offset=15,
                  end_lineno=132,
                  end_col_offset=45),
                [
                  Return(
                    Constant(
                      False,
                      lineno=133,
                      col_offset=23,
                      end_lineno=133,
                      end_col_offset=28),
                    lineno=133,
                    col_offset=16,
                    end_lineno=133,
                    end_col_offset=28)],
                [],
                lineno=132,
                col_offset=12,
                end_lineno=133,
                end_col_offset=28)],
            [],
            lineno=129,
            col_offset=8,
            end_lineno=133,
            end_col_offset=28),
          For(
            Name(
              'key',
              Store(),
              lineno=134,
              col_offset=12,
              end_lineno=134,
              end_col_offset=15),
            Call(
              Attribute(
                Attribute(
                  Name(
                    'other',
                    Load(),
                    lineno=134,
                    col_offset=19,
                    end_lineno=134,
                    end_col_offset=24),
                  'properties',
                  Load(),
                  lineno=134,
                  col_offset=19,
                  end_lineno=134,
                  end_col_offset=35),
                'keys',
                Load(),
                lineno=134,
                col_offset=19,
                end_lineno=134,
                end_col_offset=40),
              [],
              [],
              lineno=134,
              col_offset=19,
              end_lineno=134,
              end_col_offset=42),
            [
              If(
                Compare(
                  Name(
                    'key',
                    Load(),
                    lineno=135,
                    col_offset=15,
                    end_lineno=135,
                    end_col_offset=18),
                  [
                    NotIn()],
                  [
                    Attribute(
                      Name(
                        'self',
                        Load(),
                        lineno=135,
                        col_offset=26,
                        end_lineno=135,
                        end_col_offset=30),
                      'properties',
                      Load(),
                      lineno=135,
                      col_offset=26,
                      end_lineno=135,
                      end_col_offset=41)],
                  lineno=135,
                  col_offset=15,
                  end_lineno=135,
                  end_col_offset=41),
                [
                  Return(
                    Constant(
                      False,
                      lineno=136,
                      col_offset=23,
                      end_lineno=136,
                      end_col_offset=28),
                    lineno=136,
                    col_offset=16,
                    end_lineno=136,
                    end_col_offset=28)],
                [],
                lineno=135,
                col_offset=12,
                end_lineno=136,
                end_col_offset=28)],
            [],
            lineno=134,
            col_offset=8,
            end_lineno=136,
            end_col_offset=28),
          If(
            Compare(
              Call(
                Name(
                  'len',
                  Load(),
                  lineno=137,
                  col_offset=11,
                  end_lineno=137,
                  end_col_offset=14),
                [
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=137,
                      col_offset=15,
                      end_lineno=137,
                      end_col_offset=19),
                    'children',
                    Load(),
                    lineno=137,
                    col_offset=15,
                    end_lineno=137,
                    end_col_offset=28)],
                [],
                lineno=137,
                col_offset=11,
                end_lineno=137,
                end_col_offset=29),
              [
                NotEq()],
              [
                Call(
                  Name(
                    'len',
                    Load(),
                    lineno=137,
                    col_offset=33,
                    end_lineno=137,
                    end_col_offset=36),
                  [
                    Attribute(
                      Name(
                        'other',
                        Load(),
                        lineno=137,
                        col_offset=37,
                        end_lineno=137,
                        end_col_offset=42),
                      'children',
                      Load(),
                      lineno=137,
                      col_offset=37,
                      end_lineno=137,
                      end_col_offset=51)],
                  [],
                  lineno=137,
                  col_offset=33,
                  end_lineno=137,
                  end_col_offset=52)],
              lineno=137,
              col_offset=11,
              end_lineno=137,
              end_col_offset=52),
            [
              Return(
                Constant(
                  False,
                  lineno=138,
                  col_offset=19,
                  end_lineno=138,
                  end_col_offset=24),
                lineno=138,
                col_offset=12,
                end_lineno=138,
                end_col_offset=24)],
            [],
            lineno=137,
            col_offset=8,
            end_lineno=138,
            end_col_offset=24),
          For(
            Tuple(
              [
                Name(
                  'child',
                  Store(),
                  lineno=139,
                  col_offset=12,
                  end_lineno=139,
                  end_col_offset=17),
                Name(
                  'other_child',
                  Store(),
                  lineno=139,
                  col_offset=19,
                  end_lineno=139,
                  end_col_offset=30)],
              Store(),
              lineno=139,
              col_offset=12,
              end_lineno=139,
              end_col_offset=30),
            Call(
              Name(
                'zip',
                Load(),
                lineno=139,
                col_offset=34,
                end_lineno=139,
                end_col_offset=37),
              [
                Attribute(
                  Name(
                    'self',
                    Load(),
                    lineno=139,
                    col_offset=38,
                    end_lineno=139,
                    end_col_offset=42),
                  'children',
                  Load(),
                  lineno=139,
                  col_offset=38,
                  end_lineno=139,
                  end_col_offset=51),
                Attribute(
                  Name(
                    'other',
                    Load(),
                    lineno=139,
                    col_offset=53,
                    end_lineno=139,
                    end_col_offset=58),
                  'children',
                  Load(),
                  lineno=139,
                  col_offset=53,
                  end_lineno=139,
                  end_col_offset=67)],
              [],
              lineno=139,
              col_offset=34,
              end_lineno=139,
              end_col_offset=68),
            [
              If(
                Compare(
                  Name(
                    'child',
                    Load(),
                    lineno=140,
                    col_offset=15,
                    end_lineno=140,
                    end_col_offset=20),
                  [
                    NotEq()],
                  [
                    Name(
                      'other_child',
                      Load(),
                      lineno=140,
                      col_offset=24,
                      end_lineno=140,
                      end_col_offset=35)],
                  lineno=140,
                  col_offset=15,
                  end_lineno=140,
                  end_col_offset=35),
                [
                  Return(
                    Constant(
                      False,
                      lineno=141,
                      col_offset=23,
                      end_lineno=141,
                      end_col_offset=28),
                    lineno=141,
                    col_offset=16,
                    end_lineno=141,
                    end_col_offset=28)],
                [],
                lineno=140,
                col_offset=12,
                end_lineno=141,
                end_col_offset=28)],
            [],
            lineno=139,
            col_offset=8,
            end_lineno=141,
            end_col_offset=28),
          Return(
            Constant(
              True,
              lineno=142,
              col_offset=15,
              end_lineno=142,
              end_col_offset=19),
            lineno=142,
            col_offset=8,
            end_lineno=142,
            end_col_offset=19)],
        [],
        lineno=126,
        col_offset=4,
        end_lineno=142,
        end_col_offset=19),
      FunctionDef(
        '__ne__',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=144,
              col_offset=15,
              end_lineno=144,
              end_col_offset=19),
            arg(
              'other',
              lineno=144,
              col_offset=21,
              end_lineno=144,
              end_col_offset=26)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Return(
            UnaryOp(
              Not(),
              Compare(
                Name(
                  'self',
                  Load(),
                  lineno=145,
                  col_offset=19,
                  end_lineno=145,
                  end_col_offset=23),
                [
                  Eq()],
                [
                  Name(
                    'other',
                    Load(),
                    lineno=145,
                    col_offset=27,
                    end_lineno=145,
                    end_col_offset=32)],
                lineno=145,
                col_offset=19,
                end_lineno=145,
                end_col_offset=32),
              lineno=145,
              col_offset=15,
              end_lineno=145,
              end_col_offset=32),
            lineno=145,
            col_offset=8,
            end_lineno=145,
            end_col_offset=32)],
        [],
        lineno=144,
        col_offset=4,
        end_lineno=145,
        end_col_offset=32)],
    [],
    lineno=120,
    col_offset=0,
    end_lineno=145,
    end_col_offset=32),
  FunctionDef(
    'repl',
    arguments(
      [],
      [
        arg(
          'm',
          lineno=148,
          col_offset=9,
          end_lineno=148,
          end_col_offset=10)],
      kwonlyargs=[],
      kw_defaults=[],
      defaults=[]),
    [
      Assign(
        [
          Tuple(
            [
              Name(
                'backslashes',
                Store(),
                lineno=149,
                col_offset=4,
                end_lineno=149,
                end_col_offset=15),
              Name(
                'end',
                Store(),
                lineno=149,
                col_offset=17,
                end_lineno=149,
                end_col_offset=20)],
            Store(),
            lineno=149,
            col_offset=4,
            end_lineno=149,
            end_col_offset=20)],
        Call(
          Attribute(
            Name(
              'm',
              Load(),
              lineno=149,
              col_offset=23,
              end_lineno=149,
              end_col_offset=24),
            'groups',
            Load(),
            lineno=149,
            col_offset=23,
            end_lineno=149,
            end_col_offset=31),
          [],
          [],
          lineno=149,
          col_offset=23,
          end_lineno=149,
          end_col_offset=33),
        lineno=149,
        col_offset=4,
        end_lineno=149,
        end_col_offset=33),
      Assign(
        [
          Tuple(
            [
              Name(
                'n',
                Store(),
                lineno=150,
                col_offset=4,
                end_lineno=150,
                end_col_offset=5),
              Name(
                'r',
                Store(),
                lineno=150,
                col_offset=7,
                end_lineno=150,
                end_col_offset=8)],
            Store(),
            lineno=150,
            col_offset=4,
            end_lineno=150,
            end_col_offset=8)],
        Call(
          Name(
            'divmod',
            Load(),
            lineno=150,
            col_offset=11,
            end_lineno=150,
            end_col_offset=17),
          [
            Call(
              Name(
                'len',
                Load(),
                lineno=150,
                col_offset=18,
                end_lineno=150,
                end_col_offset=21),
              [
                Name(
                  'backslashes',
                  Load(),
                  lineno=150,
                  col_offset=22,
                  end_lineno=150,
                  end_col_offset=33)],
              [],
              lineno=150,
              col_offset=18,
              end_lineno=150,
              end_col_offset=34),
            Constant(
              2,
              lineno=150,
              col_offset=36,
              end_lineno=150,
              end_col_offset=37)],
          [],
          lineno=150,
          col_offset=11,
          end_lineno=150,
          end_col_offset=38),
        lineno=150,
        col_offset=4,
        end_lineno=150,
        end_col_offset=38),
      Assign(
        [
          Name(
            'string',
            Store(),
            lineno=151,
            col_offset=4,
            end_lineno=151,
            end_col_offset=10)],
        BinOp(
          Name(
            'n',
            Load(),
            lineno=151,
            col_offset=13,
            end_lineno=151,
            end_col_offset=14),
          Mult(),
          Constant(
            '\\',
            lineno=151,
            col_offset=17,
            end_lineno=151,
            end_col_offset=21),
          lineno=151,
          col_offset=13,
          end_lineno=151,
          end_col_offset=21),
        lineno=151,
        col_offset=4,
        end_lineno=151,
        end_col_offset=21),
      Match(
        Name(
          'end',
          Load(),
          lineno=152,
          col_offset=10,
          end_lineno=152,
          end_col_offset=13),
        [
          match_case(
            MatchValue(
              Constant(
                '\n',
                lineno=153,
                col_offset=13,
                end_lineno=153,
                end_col_offset=17),
              lineno=153,
              col_offset=13,
              end_lineno=153,
              end_col_offset=17),
            body=[
              AugAssign(
                Name(
                  'string',
                  Store(),
                  lineno=154,
                  col_offset=12,
                  end_lineno=154,
                  end_col_offset=18),
                Add(),
                IfExp(
                  Name(
                    'r',
                    Load(),
                    lineno=154,
                    col_offset=28,
                    end_lineno=154,
                    end_col_offset=29),
                  Constant(
                    '',
                    lineno=154,
                    col_offset=22,
                    end_lineno=154,
                    end_col_offset=24),
                  Constant(
                    '\n',
                    lineno=154,
                    col_offset=35,
                    end_lineno=154,
                    end_col_offset=39),
                  lineno=154,
                  col_offset=22,
                  end_lineno=154,
                  end_col_offset=39),
                lineno=154,
                col_offset=12,
                end_lineno=154,
                end_col_offset=39)]),
          match_case(
            MatchOr(
              [
                MatchValue(
                  Constant(
                    '\t',
                    lineno=155,
                    col_offset=13,
                    end_lineno=155,
                    end_col_offset=17),
                  lineno=155,
                  col_offset=13,
                  end_lineno=155,
                  end_col_offset=17),
                MatchValue(
                  Constant(
                    '\r',
                    lineno=155,
                    col_offset=20,
                    end_lineno=155,
                    end_col_offset=24),
                  lineno=155,
                  col_offset=20,
                  end_lineno=155,
                  end_col_offset=24),
                MatchValue(
                  Constant(
                    '\x0b',
                    lineno=155,
                    col_offset=27,
                    end_lineno=155,
                    end_col_offset=33),
                  lineno=155,
                  col_offset=27,
                  end_lineno=155,
                  end_col_offset=33),
                MatchValue(
                  Constant(
                    '\x0c',
                    lineno=155,
                    col_offset=36,
                    end_lineno=155,
                    end_col_offset=42),
                  lineno=155,
                  col_offset=36,
                  end_lineno=155,
                  end_col_offset=42)],
              lineno=155,
              col_offset=13,
              end_lineno=155,
              end_col_offset=42),
            body=[
              AugAssign(
                Name(
                  'string',
                  Store(),
                  lineno=156,
                  col_offset=12,
                  end_lineno=156,
                  end_col_offset=18),
                Add(),
                Constant(
                  ' ',
                  lineno=156,
                  col_offset=22,
                  end_lineno=156,
                  end_col_offset=25),
                lineno=156,
                col_offset=12,
                end_lineno=156,
                end_col_offset=25)]),
          match_case(
            MatchAs(
              lineno=157,
              col_offset=13,
              end_lineno=157,
              end_col_offset=14),
            body=[
              AugAssign(
                Name(
                  'string',
                  Store(),
                  lineno=158,
                  col_offset=12,
                  end_lineno=158,
                  end_col_offset=18),
                Add(),
                Name(
                  'end',
                  Load(),
                  lineno=158,
                  col_offset=22,
                  end_lineno=158,
                  end_col_offset=25),
                lineno=158,
                col_offset=12,
                end_lineno=158,
                end_col_offset=25)])],
        lineno=152,
        col_offset=4,
        end_lineno=158,
        end_col_offset=25),
      Return(
        Name(
          'string',
          Load(),
          lineno=160,
          col_offset=11,
          end_lineno=160,
          end_col_offset=17),
        lineno=160,
        col_offset=4,
        end_lineno=160,
        end_col_offset=17)],
    [],
    lineno=148,
    col_offset=0,
    end_lineno=160,
    end_col_offset=17),
  Assign(
    [
      Name(
        'clean_value',
        Store(),
        lineno=163,
        col_offset=0,
        end_lineno=163,
        end_col_offset=11)],
    Call(
      Name(
        'partial',
        Load(),
        lineno=163,
        col_offset=14,
        end_lineno=163,
        end_col_offset=21),
      [
        Attribute(
          Call(
            Attribute(
              Name(
                're',
                Load(),
                lineno=163,
                col_offset=22,
                end_lineno=163,
                end_col_offset=24),
              'compile',
              Load(),
              lineno=163,
              col_offset=22,
              end_lineno=163,
              end_col_offset=32),
            [
              Constant(
                '(\\\\*)(.)',
                lineno=163,
                col_offset=33,
                end_lineno=163,
                end_col_offset=44),
              Attribute(
                Name(
                  're',
                  Load(),
                  lineno=163,
                  col_offset=46,
                  end_lineno=163,
                  end_col_offset=48),
                'S',
                Load(),
                lineno=163,
                col_offset=46,
                end_lineno=163,
                end_col_offset=50)],
            [],
            lineno=163,
            col_offset=22,
            end_lineno=163,
            end_col_offset=51),
          'sub',
          Load(),
          lineno=163,
          col_offset=22,
          end_lineno=163,
          end_col_offset=55),
        Name(
          'repl',
          Load(),
          lineno=163,
          col_offset=57,
          end_lineno=163,
          end_col_offset=61)],
      [],
      lineno=163,
      col_offset=14,
      end_lineno=163,
      end_col_offset=62),
    lineno=163,
    col_offset=0,
    end_lineno=163,
    end_col_offset=62),
  FunctionDef(
    'parse',
    arguments(
      [],
      [
        arg(
          'string',
          lineno=166,
          col_offset=10,
          end_lineno=166,
          end_col_offset=16)],
      kwonlyargs=[],
      kw_defaults=[],
      defaults=[]),
    [
      Match(
        Call(
          Attribute(
            Name(
              'string',
              Load(),
              lineno=167,
              col_offset=10,
              end_lineno=167,
              end_col_offset=16),
            'strip',
            Load(),
            lineno=167,
            col_offset=10,
            end_lineno=167,
            end_col_offset=22),
          [],
          [],
          lineno=167,
          col_offset=10,
          end_lineno=167,
          end_col_offset=24),
        [
          match_case(
            MatchOr(
              [
                MatchValue(
                  Constant(
                    '',
                    lineno=168,
                    col_offset=13,
                    end_lineno=168,
                    end_col_offset=15),
                  lineno=168,
                  col_offset=13,
                  end_lineno=168,
                  end_col_offset=15),
                MatchValue(
                  Constant(
                    ';',
                    lineno=168,
                    col_offset=18,
                    end_lineno=168,
                    end_col_offset=21),
                  lineno=168,
                  col_offset=18,
                  end_lineno=168,
                  end_col_offset=21)],
              lineno=168,
              col_offset=13,
              end_lineno=168,
              end_col_offset=21),
            body=[
              Raise(
                Call(
                  Name(
                    'ValueError',
                    Load(),
                    lineno=169,
                    col_offset=18,
                    end_lineno=169,
                    end_col_offset=28),
                  [
                    Constant(
                      'tree missing',
                      lineno=169,
                      col_offset=29,
                      end_lineno=169,
                      end_col_offset=43)],
                  [],
                  lineno=169,
                  col_offset=18,
                  end_lineno=169,
                  end_col_offset=44),
                lineno=169,
                col_offset=12,
                end_lineno=169,
                end_col_offset=44)]),
          match_case(
            MatchValue(
              Constant(
                '()',
                lineno=170,
                col_offset=13,
                end_lineno=170,
                end_col_offset=17),
              lineno=170,
              col_offset=13,
              end_lineno=170,
              end_col_offset=17),
            body=[
              Raise(
                Call(
                  Name(
                    'ValueError',
                    Load(),
                    lineno=171,
                    col_offset=18,
                    end_lineno=171,
                    end_col_offset=28),
                  [
                    Constant(
                      'tree with no nodes',
                      lineno=171,
                      col_offset=29,
                      end_lineno=171,
                      end_col_offset=49)],
                  [],
                  lineno=171,
                  col_offset=18,
                  end_lineno=171,
                  end_col_offset=50),
                lineno=171,
                col_offset=12,
                end_lineno=171,
                end_col_offset=50)])],
        lineno=167,
        col_offset=4,
        end_lineno=171,
        end_col_offset=50),
      Assign(
        [
          Tuple(
            [
              Name(
                're_out',
                Store(),
                lineno=173,
                col_offset=4,
                end_lineno=173,
                end_col_offset=10),
              Name(
                're_in',
                Store(),
                lineno=173,
                col_offset=12,
                end_lineno=173,
                end_col_offset=17)],
            Store(),
            lineno=173,
            col_offset=4,
            end_lineno=173,
            end_col_offset=17)],
        Call(
          Name(
            'map',
            Load(),
            lineno=173,
            col_offset=20,
            end_lineno=173,
            end_col_offset=23),
          [
            Attribute(
              Name(
                're',
                Load(),
                lineno=173,
                col_offset=24,
                end_lineno=173,
                end_col_offset=26),
              'compile',
              Load(),
              lineno=173,
              col_offset=24,
              end_lineno=173,
              end_col_offset=34),
            Tuple(
              [
                Constant(
                  '\\(?;|\\)|\\[|[^[]+',
                  lineno=173,
                  col_offset=37,
                  end_lineno=173,
                  end_col_offset=56),
                Constant(
                  '[^\\]]*?(\\\\*)\\]',
                  lineno=173,
                  col_offset=58,
                  end_lineno=173,
                  end_col_offset=75)],
              Load(),
              lineno=173,
              col_offset=36,
              end_lineno=173,
              end_col_offset=76)],
          [],
          lineno=173,
          col_offset=20,
          end_lineno=173,
          end_col_offset=77),
        lineno=173,
        col_offset=4,
        end_lineno=173,
        end_col_offset=77),
      Assign(
        [
          Tuple(
            [
              Name(
                'nodes',
                Store(),
                lineno=174,
                col_offset=4,
                end_lineno=174,
                end_col_offset=9),
              Name(
                'string',
                Store(),
                lineno=174,
                col_offset=11,
                end_lineno=174,
                end_col_offset=17),
              Name(
                'in_val',
                Store(),
                lineno=174,
                col_offset=19,
                end_lineno=174,
                end_col_offset=25),
              Name(
                'substr',
                Store(),
                lineno=174,
                col_offset=27,
                end_lineno=174,
                end_col_offset=33)],
            Store(),
            lineno=174,
            col_offset=4,
            end_lineno=174,
            end_col_offset=33)],
        Tuple(
          [
            List(
              [
                Call(
                  Name(
                    'SgfTree',
                    Load(),
                    lineno=174,
                    col_offset=37,
                    end_lineno=174,
                    end_col_offset=44),
                  [],
                  [],
                  lineno=174,
                  col_offset=37,
                  end_lineno=174,
                  end_col_offset=46)],
              Load(),
              lineno=174,
              col_offset=36,
              end_lineno=174,
              end_col_offset=47),
            Subscript(
              Name(
                'string',
                Load(),
                lineno=174,
                col_offset=49,
                end_lineno=174,
                end_col_offset=55),
              Slice(
                Constant(
                  2,
                  lineno=174,
                  col_offset=56,
                  end_lineno=174,
                  end_col_offset=57),
                lineno=174,
                col_offset=56,
                end_lineno=174,
                end_col_offset=58),
              Load(),
              lineno=174,
              col_offset=49,
              end_lineno=174,
              end_col_offset=59),
            Constant(
              False,
              lineno=174,
              col_offset=61,
              end_lineno=174,
              end_col_offset=66),
            Constant(
              '',
              lineno=174,
              col_offset=68,
              end_lineno=174,
              end_col_offset=70)],
          Load(),
          lineno=174,
          col_offset=36,
          end_lineno=174,
          end_col_offset=70),
        lineno=174,
        col_offset=4,
        end_lineno=174,
        end_col_offset=70),
      While(
        Constant(
          True,
          lineno=175,
          col_offset=10,
          end_lineno=175,
          end_col_offset=14),
        [
          Assign(
            [
              Name(
                'm',
                Store(),
                lineno=176,
                col_offset=8,
                end_lineno=176,
                end_col_offset=9)],
            Call(
              Attribute(
                IfExp(
                  Name(
                    'in_val',
                    Load(),
                    lineno=176,
                    col_offset=22,
                    end_lineno=176,
                    end_col_offset=28),
                  Name(
                    're_in',
                    Load(),
                    lineno=176,
                    col_offset=13,
                    end_lineno=176,
                    end_col_offset=18),
                  Name(
                    're_out',
                    Load(),
                    lineno=176,
                    col_offset=34,
                    end_lineno=176,
                    end_col_offset=40),
                  lineno=176,
                  col_offset=13,
                  end_lineno=176,
                  end_col_offset=40),
                'match',
                Load(),
                lineno=176,
                col_offset=12,
                end_lineno=176,
                end_col_offset=47),
              [
                Name(
                  'string',
                  Load(),
                  lineno=176,
                  col_offset=48,
                  end_lineno=176,
                  end_col_offset=54)],
              [],
              lineno=176,
              col_offset=12,
              end_lineno=176,
              end_col_offset=55),
            lineno=176,
            col_offset=8,
            end_lineno=176,
            end_col_offset=55),
          Assign(
            [
              Tuple(
                [
                  Name(
                    'part',
                    Store(),
                    lineno=177,
                    col_offset=8,
                    end_lineno=177,
                    end_col_offset=12),
                  Name(
                    'string',
                    Store(),
                    lineno=177,
                    col_offset=14,
                    end_lineno=177,
                    end_col_offset=20)],
                Store(),
                lineno=177,
                col_offset=8,
                end_lineno=177,
                end_col_offset=20)],
            Tuple(
              [
                Subscript(
                  Name(
                    'm',
                    Load(),
                    lineno=177,
                    col_offset=23,
                    end_lineno=177,
                    end_col_offset=24),
                  Constant(
                    0,
                    lineno=177,
                    col_offset=25,
                    end_lineno=177,
                    end_col_offset=26),
                  Load(),
                  lineno=177,
                  col_offset=23,
                  end_lineno=177,
                  end_col_offset=27),
                Subscript(
                  Name(
                    'string',
                    Load(),
                    lineno=177,
                    col_offset=29,
                    end_lineno=177,
                    end_col_offset=35),
                  Slice(
                    Call(
                      Attribute(
                        Name(
                          'm',
                          Load(),
                          lineno=177,
                          col_offset=36,
                          end_lineno=177,
                          end_col_offset=37),
                        'end',
                        Load(),
                        lineno=177,
                        col_offset=36,
                        end_lineno=177,
                        end_col_offset=41),
                      [],
                      [],
                      lineno=177,
                      col_offset=36,
                      end_lineno=177,
                      end_col_offset=43),
                    lineno=177,
                    col_offset=36,
                    end_lineno=177,
                    end_col_offset=44),
                  Load(),
                  lineno=177,
                  col_offset=29,
                  end_lineno=177,
                  end_col_offset=45)],
              Load(),
              lineno=177,
              col_offset=23,
              end_lineno=177,
              end_col_offset=45),
            lineno=177,
            col_offset=8,
            end_lineno=177,
            end_col_offset=45),
          If(
            UnaryOp(
              Not(),
              Name(
                'in_val',
                Load(),
                lineno=178,
                col_offset=15,
                end_lineno=178,
                end_col_offset=21),
              lineno=178,
              col_offset=11,
              end_lineno=178,
              end_col_offset=21),
            [
              Match(
                Name(
                  'part',
                  Load(),
                  lineno=179,
                  col_offset=18,
                  end_lineno=179,
                  end_col_offset=22),
                [
                  match_case(
                    MatchOr(
                      [
                        MatchValue(
                          Constant(
                            '(;',
                            lineno=180,
                            col_offset=21,
                            end_lineno=180,
                            end_col_offset=25),
                          lineno=180,
                          col_offset=21,
                          end_lineno=180,
                          end_col_offset=25),
                        MatchValue(
                          Constant(
                            ';',
                            lineno=180,
                            col_offset=28,
                            end_lineno=180,
                            end_col_offset=31),
                          lineno=180,
                          col_offset=28,
                          end_lineno=180,
                          end_col_offset=31)],
                      lineno=180,
                      col_offset=21,
                      end_lineno=180,
                      end_col_offset=31),
                    body=[
                      Assign(
                        [
                          Name(
                            'node',
                            Store(),
                            lineno=181,
                            col_offset=20,
                            end_lineno=181,
                            end_col_offset=24)],
                        Call(
                          Name(
                            'SgfTree',
                            Load(),
                            lineno=181,
                            col_offset=27,
                            end_lineno=181,
                            end_col_offset=34),
                          [],
                          [],
                          lineno=181,
                          col_offset=27,
                          end_lineno=181,
                          end_col_offset=36),
                        lineno=181,
                        col_offset=20,
                        end_lineno=181,
                        end_col_offset=36),
                      Expr(
                        Call(
                          Attribute(
                            Attribute(
                              Subscript(
                                Name(
                                  'nodes',
                                  Load(),
                                  lineno=182,
                                  col_offset=20,
                                  end_lineno=182,
                                  end_col_offset=25),
                                UnaryOp(
                                  USub(),
                                  Constant(
                                    1,
                                    lineno=182,
                                    col_offset=27,
                                    end_lineno=182,
                                    end_col_offset=28),
                                  lineno=182,
                                  col_offset=26,
                                  end_lineno=182,
                                  end_col_offset=28),
                                Load(),
                                lineno=182,
                                col_offset=20,
                                end_lineno=182,
                                end_col_offset=29),
                              'children',
                              Load(),
                              lineno=182,
                              col_offset=20,
                              end_lineno=182,
                              end_col_offset=38),
                            'append',
                            Load(),
                            lineno=182,
                            col_offset=20,
                            end_lineno=182,
                            end_col_offset=45),
                          [
                            Name(
                              'node',
                              Load(),
                              lineno=182,
                              col_offset=46,
                              end_lineno=182,
                              end_col_offset=50)],
                          [],
                          lineno=182,
                          col_offset=20,
                          end_lineno=182,
                          end_col_offset=51),
                        lineno=182,
                        col_offset=20,
                        end_lineno=182,
                        end_col_offset=51),
                      If(
                        BoolOp(
                          Or(),
                          [
                            Compare(
                              Name(
                                'part',
                                Load(),
                                lineno=183,
                                col_offset=23,
                                end_lineno=183,
                                end_col_offset=27),
                              [
                                Eq()],
                              [
                                Constant(
                                  '(;',
                                  lineno=183,
                                  col_offset=31,
                                  end_lineno=183,
                                  end_col_offset=35)],
                              lineno=183,
                              col_offset=23,
                              end_lineno=183,
                              end_col_offset=35),
                            Compare(
                              Call(
                                Name(
                                  'len',
                                  Load(),
                                  lineno=183,
                                  col_offset=39,
                                  end_lineno=183,
                                  end_col_offset=42),
                                [
                                  Name(
                                    'nodes',
                                    Load(),
                                    lineno=183,
                                    col_offset=43,
                                    end_lineno=183,
                                    end_col_offset=48)],
                                [],
                                lineno=183,
                                col_offset=39,
                                end_lineno=183,
                                end_col_offset=49),
                              [
                                Eq()],
                              [
                                Constant(
                                  1,
                                  lineno=183,
                                  col_offset=53,
                                  end_lineno=183,
                                  end_col_offset=54)],
                              lineno=183,
                              col_offset=39,
                              end_lineno=183,
                              end_col_offset=54)],
                          lineno=183,
                          col_offset=23,
                          end_lineno=183,
                          end_col_offset=54),
                        [
                          Expr(
                            Call(
                              Attribute(
                                Name(
                                  'nodes',
                                  Load(),
                                  lineno=184,
                                  col_offset=24,
                                  end_lineno=184,
                                  end_col_offset=29),
                                'append',
                                Load(),
                                lineno=184,
                                col_offset=24,
                                end_lineno=184,
                                end_col_offset=36),
                              [
                                Name(
                                  'node',
                                  Load(),
                                  lineno=184,
                                  col_offset=37,
                                  end_lineno=184,
                                  end_col_offset=41)],
                              [],
                              lineno=184,
                              col_offset=24,
                              end_lineno=184,
                              end_col_offset=42),
                            lineno=184,
                            col_offset=24,
                            end_lineno=184,
                            end_col_offset=42)],
                        [
                          Assign(
                            [
                              Subscript(
                                Name(
                                  'nodes',
                                  Load(),
                                  lineno=186,
                                  col_offset=24,
                                  end_lineno=186,
                                  end_col_offset=29),
                                UnaryOp(
                                  USub(),
                                  Constant(
                                    1,
                                    lineno=186,
                                    col_offset=31,
                                    end_lineno=186,
                                    end_col_offset=32),
                                  lineno=186,
                                  col_offset=30,
                                  end_lineno=186,
                                  end_col_offset=32),
                                Store(),
                                lineno=186,
                                col_offset=24,
                                end_lineno=186,
                                end_col_offset=33)],
                            Name(
                              'node',
                              Load(),
                              lineno=186,
                              col_offset=36,
                              end_lineno=186,
                              end_col_offset=40),
                            lineno=186,
                            col_offset=24,
                            end_lineno=186,
                            end_col_offset=40)],
                        lineno=183,
                        col_offset=20,
                        end_lineno=186,
                        end_col_offset=40)]),
                  match_case(
                    MatchValue(
                      Constant(
                        ')',
                        lineno=187,
                        col_offset=21,
                        end_lineno=187,
                        end_col_offset=24),
                      lineno=187,
                      col_offset=21,
                      end_lineno=187,
                      end_col_offset=24),
                    body=[
                      If(
                        Compare(
                          Name(
                            'string',
                            Load(),
                            lineno=188,
                            col_offset=23,
                            end_lineno=188,
                            end_col_offset=29),
                          [
                            Eq()],
                          [
                            Constant(
                              '',
                              lineno=188,
                              col_offset=33,
                              end_lineno=188,
                              end_col_offset=35)],
                          lineno=188,
                          col_offset=23,
                          end_lineno=188,
                          end_col_offset=35),
                        [
                          Return(
                            Subscript(
                              Name(
                                'nodes',
                                Load(),
                                lineno=189,
                                col_offset=31,
                                end_lineno=189,
                                end_col_offset=36),
                              Constant(
                                0,
                                lineno=189,
                                col_offset=37,
                                end_lineno=189,
                                end_col_offset=38),
                              Load(),
                              lineno=189,
                              col_offset=31,
                              end_lineno=189,
                              end_col_offset=39),
                            lineno=189,
                            col_offset=24,
                            end_lineno=189,
                            end_col_offset=39)],
                        [],
                        lineno=188,
                        col_offset=20,
                        end_lineno=189,
                        end_col_offset=39),
                      Expr(
                        Call(
                          Attribute(
                            Name(
                              'nodes',
                              Load(),
                              lineno=190,
                              col_offset=20,
                              end_lineno=190,
                              end_col_offset=25),
                            'pop',
                            Load(),
                            lineno=190,
                            col_offset=20,
                            end_lineno=190,
                            end_col_offset=29),
                          [],
                          [],
                          lineno=190,
                          col_offset=20,
                          end_lineno=190,
                          end_col_offset=31),
                        lineno=190,
                        col_offset=20,
                        end_lineno=190,
                        end_col_offset=31)]),
                  match_case(
                    MatchValue(
                      Constant(
                        '[',
                        lineno=191,
                        col_offset=21,
                        end_lineno=191,
                        end_col_offset=24),
                      lineno=191,
                      col_offset=21,
                      end_lineno=191,
                      end_col_offset=24),
                    body=[
                      Assign(
                        [
                          Name(
                            'in_val',
                            Store(),
                            lineno=192,
                            col_offset=20,
                            end_lineno=192,
                            end_col_offset=26)],
                        Constant(
                          True,
                          lineno=192,
                          col_offset=29,
                          end_lineno=192,
                          end_col_offset=33),
                        lineno=192,
                        col_offset=20,
                        end_lineno=192,
                        end_col_offset=33)]),
                  match_case(
                    MatchAs(
                      lineno=193,
                      col_offset=21,
                      end_lineno=193,
                      end_col_offset=22),
                    body=[
                      If(
                        Compare(
                          Constant(
                            ')',
                            lineno=194,
                            col_offset=23,
                            end_lineno=194,
                            end_col_offset=26),
                          [
                            In()],
                          [
                            Name(
                              'part',
                              Load(),
                              lineno=194,
                              col_offset=30,
                              end_lineno=194,
                              end_col_offset=34)],
                          lineno=194,
                          col_offset=23,
                          end_lineno=194,
                          end_col_offset=34),
                        [
                          Raise(
                            Call(
                              Name(
                                'ValueError',
                                Load(),
                                lineno=195,
                                col_offset=30,
                                end_lineno=195,
                                end_col_offset=40),
                              [
                                Constant(
                                  'properties without delimiter',
                                  lineno=195,
                                  col_offset=41,
                                  end_lineno=195,
                                  end_col_offset=71)],
                              [],
                              lineno=195,
                              col_offset=30,
                              end_lineno=195,
                              end_col_offset=72),
                            lineno=195,
                            col_offset=24,
                            end_lineno=195,
                            end_col_offset=72)],
                        [],
                        lineno=194,
                        col_offset=20,
                        end_lineno=195,
                        end_col_offset=72),
                      If(
                        UnaryOp(
                          Not(),
                          Call(
                            Attribute(
                              Name(
                                'part',
                                Load(),
                                lineno=196,
                                col_offset=27,
                                end_lineno=196,
                                end_col_offset=31),
                              'isupper',
                              Load(),
                              lineno=196,
                              col_offset=27,
                              end_lineno=196,
                              end_col_offset=39),
                            [],
                            [],
                            lineno=196,
                            col_offset=27,
                            end_lineno=196,
                            end_col_offset=41),
                          lineno=196,
                          col_offset=23,
                          end_lineno=196,
                          end_col_offset=41),
                        [
                          Raise(
                            Call(
                              Name(
                                'ValueError',
                                Load(),
                                lineno=197,
                                col_offset=30,
                                end_lineno=197,
                                end_col_offset=40),
                              [
                                Constant(
                                  'property must be in uppercase',
                                  lineno=197,
                                  col_offset=41,
                                  end_lineno=197,
                                  end_col_offset=72)],
                              [],
                              lineno=197,
                              col_offset=30,
                              end_lineno=197,
                              end_col_offset=73),
                            lineno=197,
                            col_offset=24,
                            end_lineno=197,
                            end_col_offset=73)],
                        [],
                        lineno=196,
                        col_offset=20,
                        end_lineno=197,
                        end_col_offset=73),
                      Assign(
                        [
                          Name(
                            'values',
                            Store(),
                            lineno=198,
                            col_offset=20,
                            end_lineno=198,
                            end_col_offset=26)],
                        Call(
                          Attribute(
                            Attribute(
                              Subscript(
                                Name(
                                  'nodes',
                                  Load(),
                                  lineno=198,
                                  col_offset=29,
                                  end_lineno=198,
                                  end_col_offset=34),
                                UnaryOp(
                                  USub(),
                                  Constant(
                                    1,
                                    lineno=198,
                                    col_offset=36,
                                    end_lineno=198,
                                    end_col_offset=37),
                                  lineno=198,
                                  col_offset=35,
                                  end_lineno=198,
                                  end_col_offset=37),
                                Load(),
                                lineno=198,
                                col_offset=29,
                                end_lineno=198,
                                end_col_offset=38),
                              'properties',
                              Load(),
                              lineno=198,
                              col_offset=29,
                              end_lineno=198,
                              end_col_offset=49),
                            'setdefault',
                            Load(),
                            lineno=198,
                            col_offset=29,
                            end_lineno=198,
                            end_col_offset=60),
                          [
                            Name(
                              'part',
                              Load(),
                              lineno=198,
                              col_offset=61,
                              end_lineno=198,
                              end_col_offset=65),
                            List(
                              [],
                              Load(),
                              lineno=198,
                              col_offset=67,
                              end_lineno=198,
                              end_col_offset=69)],
                          [],
                          lineno=198,
                          col_offset=29,
                          end_lineno=198,
                          end_col_offset=70),
                        lineno=198,
                        col_offset=20,
                        end_lineno=198,
                        end_col_offset=70)])],
                lineno=179,
                col_offset=12,
                end_lineno=198,
                end_col_offset=70)],
            [
              If(
                BoolOp(
                  And(),
                  [
                    NamedExpr(
                      Name(
                        'backslashes',
                        Store(),
                        lineno=200,
                        col_offset=16,
                        end_lineno=200,
                        end_col_offset=27),
                      Subscript(
                        Name(
                          'm',
                          Load(),
                          lineno=200,
                          col_offset=31,
                          end_lineno=200,
                          end_col_offset=32),
                        Constant(
                          1,
                          lineno=200,
                          col_offset=33,
                          end_lineno=200,
                          end_col_offset=34),
                        Load(),
                        lineno=200,
                        col_offset=31,
                        end_lineno=200,
                        end_col_offset=35),
                      lineno=200,
                      col_offset=16,
                      end_lineno=200,
                      end_col_offset=35),
                    BinOp(
                      Call(
                        Name(
                          'len',
                          Load(),
                          lineno=200,
                          col_offset=41,
                          end_lineno=200,
                          end_col_offset=44),
                        [
                          Name(
                            'backslashes',
                            Load(),
                            lineno=200,
                            col_offset=45,
                            end_lineno=200,
                            end_col_offset=56)],
                        [],
                        lineno=200,
                        col_offset=41,
                        end_lineno=200,
                        end_col_offset=57),
                      Mod(),
                      Constant(
                        2,
                        lineno=200,
                        col_offset=60,
                        end_lineno=200,
                        end_col_offset=61),
                      lineno=200,
                      col_offset=41,
                      end_lineno=200,
                      end_col_offset=61)],
                  lineno=200,
                  col_offset=15,
                  end_lineno=200,
                  end_col_offset=61),
                [
                  AugAssign(
                    Name(
                      'substr',
                      Store(),
                      lineno=201,
                      col_offset=16,
                      end_lineno=201,
                      end_col_offset=22),
                    Add(),
                    Name(
                      'part',
                      Load(),
                      lineno=201,
                      col_offset=26,
                      end_lineno=201,
                      end_col_offset=30),
                    lineno=201,
                    col_offset=16,
                    end_lineno=201,
                    end_col_offset=30)],
                [
                  Expr(
                    Call(
                      Attribute(
                        Name(
                          'values',
                          Load(),
                          lineno=203,
                          col_offset=16,
                          end_lineno=203,
                          end_col_offset=22),
                        'append',
                        Load(),
                        lineno=203,
                        col_offset=16,
                        end_lineno=203,
                        end_col_offset=29),
                      [
                        Call(
                          Name(
                            'clean_value',
                            Load(),
                            lineno=203,
                            col_offset=30,
                            end_lineno=203,
                            end_col_offset=41),
                          [
                            BinOp(
                              Name(
                                'substr',
                                Load(),
                                lineno=203,
                                col_offset=42,
                                end_lineno=203,
                                end_col_offset=48),
                              Add(),
                              Subscript(
                                Name(
                                  'part',
                                  Load(),
                                  lineno=203,
                                  col_offset=51,
                                  end_lineno=203,
                                  end_col_offset=55),
                                Slice(
                                  upper=UnaryOp(
                                    USub(),
                                    Constant(
                                      1,
                                      lineno=203,
                                      col_offset=58,
                                      end_lineno=203,
                                      end_col_offset=59),
                                    lineno=203,
                                    col_offset=57,
                                    end_lineno=203,
                                    end_col_offset=59),
                                  lineno=203,
                                  col_offset=56,
                                  end_lineno=203,
                                  end_col_offset=59),
                                Load(),
                                lineno=203,
                                col_offset=51,
                                end_lineno=203,
                                end_col_offset=60),
                              lineno=203,
                              col_offset=42,
                              end_lineno=203,
                              end_col_offset=60)],
                          [],
                          lineno=203,
                          col_offset=30,
                          end_lineno=203,
                          end_col_offset=61)],
                      [],
                      lineno=203,
                      col_offset=16,
                      end_lineno=203,
                      end_col_offset=62),
                    lineno=203,
                    col_offset=16,
                    end_lineno=203,
                    end_col_offset=62),
                  Assign(
                    [
                      Tuple(
                        [
                          Name(
                            'in_val',
                            Store(),
                            lineno=204,
                            col_offset=16,
                            end_lineno=204,
                            end_col_offset=22),
                          Name(
                            'substr',
                            Store(),
                            lineno=204,
                            col_offset=24,
                            end_lineno=204,
                            end_col_offset=30)],
                        Store(),
                        lineno=204,
                        col_offset=16,
                        end_lineno=204,
                        end_col_offset=30)],
                    Tuple(
                      [
                        Constant(
                          False,
                          lineno=204,
                          col_offset=33,
                          end_lineno=204,
                          end_col_offset=38),
                        Constant(
                          '',
                          lineno=204,
                          col_offset=40,
                          end_lineno=204,
                          end_col_offset=42)],
                      Load(),
                      lineno=204,
                      col_offset=33,
                      end_lineno=204,
                      end_col_offset=42),
                    lineno=204,
                    col_offset=16,
                    end_lineno=204,
                    end_col_offset=42)],
                lineno=200,
                col_offset=12,
                end_lineno=204,
                end_col_offset=42)],
            lineno=178,
            col_offset=8,
            end_lineno=204,
            end_col_offset=42)],
        [],
        lineno=175,
        col_offset=4,
        end_lineno=204,
        end_col_offset=42)],
    [],
    lineno=166,
    col_offset=0,
    end_lineno=204,
    end_col_offset=42)],
[])
## END TREE BEFORE ##

## BEGIN NORMALIZED TREE ##
Module(
[
  Import(
    [
      alias(
        're',
        lineno=116,
        col_offset=7,
        end_lineno=116,
        end_col_offset=9)],
    lineno=116,
    col_offset=0,
    end_lineno=116,
    end_col_offset=9),
  ImportFrom(
    'functools',
    [
      alias(
        'partial',
        lineno=117,
        col_offset=22,
        end_lineno=117,
        end_col_offset=29)],
    0,
    lineno=117,
    col_offset=0,
    end_lineno=117,
    end_col_offset=29),
  ClassDef(
    'placeholder_0',
    [],
    [],
    [
      FunctionDef(
        'placeholder_1',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=122,
              col_offset=17,
              end_lineno=122,
              end_col_offset=21),
            arg(
              'placeholder_2',
              lineno=122,
              col_offset=23,
              end_lineno=122,
              end_col_offset=33),
            arg(
              'placeholder_3',
              lineno=122,
              col_offset=40,
              end_lineno=122,
              end_col_offset=48)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[
            Constant(
              None,
              lineno=122,
              col_offset=34,
              end_lineno=122,
              end_col_offset=38),
            Constant(
              None,
              lineno=122,
              col_offset=49,
              end_lineno=122,
              end_col_offset=53)]),
        [
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=123,
                  col_offset=8,
                  end_lineno=123,
                  end_col_offset=12),
                'placeholder_2',
                Store(),
                lineno=123,
                col_offset=8,
                end_lineno=123,
                end_col_offset=23)],
            BoolOp(
              Or(),
              [
                Name(
                  'placeholder_2',
                  Load(),
                  lineno=123,
                  col_offset=26,
                  end_lineno=123,
                  end_col_offset=36),
                Dict(
                  [],
                  [],
                  lineno=123,
                  col_offset=40,
                  end_lineno=123,
                  end_col_offset=42)],
              lineno=123,
              col_offset=26,
              end_lineno=123,
              end_col_offset=42),
            lineno=123,
            col_offset=8,
            end_lineno=123,
            end_col_offset=42),
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=124,
                  col_offset=8,
                  end_lineno=124,
                  end_col_offset=12),
                'placeholder_3',
                Store(),
                lineno=124,
                col_offset=8,
                end_lineno=124,
                end_col_offset=21)],
            BoolOp(
              Or(),
              [
                Name(
                  'placeholder_3',
                  Load(),
                  lineno=124,
                  col_offset=24,
                  end_lineno=124,
                  end_col_offset=32),
                List(
                  [],
                  Load(),
                  lineno=124,
                  col_offset=36,
                  end_lineno=124,
                  end_col_offset=38)],
              lineno=124,
              col_offset=24,
              end_lineno=124,
              end_col_offset=38),
            lineno=124,
            col_offset=8,
            end_lineno=124,
            end_col_offset=38)],
        [],
        lineno=122,
        col_offset=4,
        end_lineno=124,
        end_col_offset=38),
      FunctionDef(
        'placeholder_4',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=126,
              col_offset=15,
              end_lineno=126,
              end_col_offset=19),
            arg(
              'placeholder_5',
              lineno=126,
              col_offset=21,
              end_lineno=126,
              end_col_offset=26)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          If(
            UnaryOp(
              Not(),
              Call(
                Name(
                  'isinstance',
                  Load(),
                  lineno=127,
                  col_offset=15,
                  end_lineno=127,
                  end_col_offset=25),
                [
                  Name(
                    'placeholder_5',
                    Load(),
                    lineno=127,
                    col_offset=26,
                    end_lineno=127,
                    end_col_offset=31),
                  Name(
                    'placeholder_0',
                    Load(),
                    lineno=127,
                    col_offset=33,
                    end_lineno=127,
                    end_col_offset=40)],
                [],
                lineno=127,
                col_offset=15,
                end_lineno=127,
                end_col_offset=41),
              lineno=127,
              col_offset=11,
              end_lineno=127,
              end_col_offset=41),
            [
              Return(
                Constant(
                  False,
                  lineno=128,
                  col_offset=19,
                  end_lineno=128,
                  end_col_offset=24),
                lineno=128,
                col_offset=12,
                end_lineno=128,
                end_col_offset=24)],
            [],
            lineno=127,
            col_offset=8,
            end_lineno=128,
            end_col_offset=24),
          For(
            Tuple(
              [
                Name(
                  'placeholder_6',
                  Store(),
                  lineno=129,
                  col_offset=12,
                  end_lineno=129,
                  end_col_offset=15),
                Name(
                  'placeholder_7',
                  Store(),
                  lineno=129,
                  col_offset=17,
                  end_lineno=129,
                  end_col_offset=22)],
              Store(),
              lineno=129,
              col_offset=12,
              end_lineno=129,
              end_col_offset=22),
            Call(
              Attribute(
                Attribute(
                  Name(
                    'self',
                    Load(),
                    lineno=129,
                    col_offset=26,
                    end_lineno=129,
                    end_col_offset=30),
                  'placeholder_2',
                  Load(),
                  lineno=129,
                  col_offset=26,
                  end_lineno=129,
                  end_col_offset=41),
                'items',
                Load(),
                lineno=129,
                col_offset=26,
                end_lineno=129,
                end_col_offset=47),
              [],
              [],
              lineno=129,
              col_offset=26,
              end_lineno=129,
              end_col_offset=49),
            [
              If(
                Compare(
                  Name(
                    'placeholder_6',
                    Load(),
                    lineno=130,
                    col_offset=15,
                    end_lineno=130,
                    end_col_offset=18),
                  [
                    NotIn()],
                  [
                    Attribute(
                      Name(
                        'placeholder_5',
                        Load(),
                        lineno=130,
                        col_offset=26,
                        end_lineno=130,
                        end_col_offset=31),
                      'placeholder_2',
                      Load(),
                      lineno=130,
                      col_offset=26,
                      end_lineno=130,
                      end_col_offset=42)],
                  lineno=130,
                  col_offset=15,
                  end_lineno=130,
                  end_col_offset=42),
                [
                  Return(
                    Constant(
                      False,
                      lineno=131,
                      col_offset=23,
                      end_lineno=131,
                      end_col_offset=28),
                    lineno=131,
                    col_offset=16,
                    end_lineno=131,
                    end_col_offset=28)],
                [],
                lineno=130,
                col_offset=12,
                end_lineno=131,
                end_col_offset=28),
              If(
                Compare(
                  Subscript(
                    Attribute(
                      Name(
                        'placeholder_5',
                        Load(),
                        lineno=132,
                        col_offset=15,
                        end_lineno=132,
                        end_col_offset=20),
                      'placeholder_2',
                      Load(),
                      lineno=132,
                      col_offset=15,
                      end_lineno=132,
                      end_col_offset=31),
                    Name(
                      'placeholder_6',
                      Load(),
                      lineno=132,
                      col_offset=32,
                      end_lineno=132,
                      end_col_offset=35),
                    Load(),
                    lineno=132,
                    col_offset=15,
                    end_lineno=132,
                    end_col_offset=36),
                  [
                    NotEq()],
                  [
                    Name(
                      'placeholder_7',
                      Load(),
                      lineno=132,
                      col_offset=40,
                      end_lineno=132,
                      end_col_offset=45)],
                  lineno=132,
                  col_offset=15,
                  end_lineno=132,
                  end_col_offset=45),
                [
                  Return(
                    Constant(
                      False,
                      lineno=133,
                      col_offset=23,
                      end_lineno=133,
                      end_col_offset=28),
                    lineno=133,
                    col_offset=16,
                    end_lineno=133,
                    end_col_offset=28)],
                [],
                lineno=132,
                col_offset=12,
                end_lineno=133,
                end_col_offset=28)],
            [],
            lineno=129,
            col_offset=8,
            end_lineno=133,
            end_col_offset=28),
          For(
            Name(
              'placeholder_6',
              Store(),
              lineno=134,
              col_offset=12,
              end_lineno=134,
              end_col_offset=15),
            Call(
              Attribute(
                Attribute(
                  Name(
                    'placeholder_5',
                    Load(),
                    lineno=134,
                    col_offset=19,
                    end_lineno=134,
                    end_col_offset=24),
                  'placeholder_2',
                  Load(),
                  lineno=134,
                  col_offset=19,
                  end_lineno=134,
                  end_col_offset=35),
                'keys',
                Load(),
                lineno=134,
                col_offset=19,
                end_lineno=134,
                end_col_offset=40),
              [],
              [],
              lineno=134,
              col_offset=19,
              end_lineno=134,
              end_col_offset=42),
            [
              If(
                Compare(
                  Name(
                    'placeholder_6',
                    Load(),
                    lineno=135,
                    col_offset=15,
                    end_lineno=135,
                    end_col_offset=18),
                  [
                    NotIn()],
                  [
                    Attribute(
                      Name(
                        'self',
                        Load(),
                        lineno=135,
                        col_offset=26,
                        end_lineno=135,
                        end_col_offset=30),
                      'placeholder_2',
                      Load(),
                      lineno=135,
                      col_offset=26,
                      end_lineno=135,
                      end_col_offset=41)],
                  lineno=135,
                  col_offset=15,
                  end_lineno=135,
                  end_col_offset=41),
                [
                  Return(
                    Constant(
                      False,
                      lineno=136,
                      col_offset=23,
                      end_lineno=136,
                      end_col_offset=28),
                    lineno=136,
                    col_offset=16,
                    end_lineno=136,
                    end_col_offset=28)],
                [],
                lineno=135,
                col_offset=12,
                end_lineno=136,
                end_col_offset=28)],
            [],
            lineno=134,
            col_offset=8,
            end_lineno=136,
            end_col_offset=28),
          If(
            Compare(
              Call(
                Name(
                  'len',
                  Load(),
                  lineno=137,
                  col_offset=11,
                  end_lineno=137,
                  end_col_offset=14),
                [
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=137,
                      col_offset=15,
                      end_lineno=137,
                      end_col_offset=19),
                    'placeholder_3',
                    Load(),
                    lineno=137,
                    col_offset=15,
                    end_lineno=137,
                    end_col_offset=28)],
                [],
                lineno=137,
                col_offset=11,
                end_lineno=137,
                end_col_offset=29),
              [
                NotEq()],
              [
                Call(
                  Name(
                    'len',
                    Load(),
                    lineno=137,
                    col_offset=33,
                    end_lineno=137,
                    end_col_offset=36),
                  [
                    Attribute(
                      Name(
                        'placeholder_5',
                        Load(),
                        lineno=137,
                        col_offset=37,
                        end_lineno=137,
                        end_col_offset=42),
                      'placeholder_3',
                      Load(),
                      lineno=137,
                      col_offset=37,
                      end_lineno=137,
                      end_col_offset=51)],
                  [],
                  lineno=137,
                  col_offset=33,
                  end_lineno=137,
                  end_col_offset=52)],
              lineno=137,
              col_offset=11,
              end_lineno=137,
              end_col_offset=52),
            [
              Return(
                Constant(
                  False,
                  lineno=138,
                  col_offset=19,
                  end_lineno=138,
                  end_col_offset=24),
                lineno=138,
                col_offset=12,
                end_lineno=138,
                end_col_offset=24)],
            [],
            lineno=137,
            col_offset=8,
            end_lineno=138,
            end_col_offset=24),
          For(
            Tuple(
              [
                Name(
                  'placeholder_8',
                  Store(),
                  lineno=139,
                  col_offset=12,
                  end_lineno=139,
                  end_col_offset=17),
                Name(
                  'placeholder_9',
                  Store(),
                  lineno=139,
                  col_offset=19,
                  end_lineno=139,
                  end_col_offset=30)],
              Store(),
              lineno=139,
              col_offset=12,
              end_lineno=139,
              end_col_offset=30),
            Call(
              Name(
                'zip',
                Load(),
                lineno=139,
                col_offset=34,
                end_lineno=139,
                end_col_offset=37),
              [
                Attribute(
                  Name(
                    'self',
                    Load(),
                    lineno=139,
                    col_offset=38,
                    end_lineno=139,
                    end_col_offset=42),
                  'placeholder_3',
                  Load(),
                  lineno=139,
                  col_offset=38,
                  end_lineno=139,
                  end_col_offset=51),
                Attribute(
                  Name(
                    'placeholder_5',
                    Load(),
                    lineno=139,
                    col_offset=53,
                    end_lineno=139,
                    end_col_offset=58),
                  'placeholder_3',
                  Load(),
                  lineno=139,
                  col_offset=53,
                  end_lineno=139,
                  end_col_offset=67)],
              [],
              lineno=139,
              col_offset=34,
              end_lineno=139,
              end_col_offset=68),
            [
              If(
                Compare(
                  Name(
                    'placeholder_8',
                    Load(),
                    lineno=140,
                    col_offset=15,
                    end_lineno=140,
                    end_col_offset=20),
                  [
                    NotEq()],
                  [
                    Name(
                      'placeholder_9',
                      Load(),
                      lineno=140,
                      col_offset=24,
                      end_lineno=140,
                      end_col_offset=35)],
                  lineno=140,
                  col_offset=15,
                  end_lineno=140,
                  end_col_offset=35),
                [
                  Return(
                    Constant(
                      False,
                      lineno=141,
                      col_offset=23,
                      end_lineno=141,
                      end_col_offset=28),
                    lineno=141,
                    col_offset=16,
                    end_lineno=141,
                    end_col_offset=28)],
                [],
                lineno=140,
                col_offset=12,
                end_lineno=141,
                end_col_offset=28)],
            [],
            lineno=139,
            col_offset=8,
            end_lineno=141,
            end_col_offset=28),
          Return(
            Constant(
              True,
              lineno=142,
              col_offset=15,
              end_lineno=142,
              end_col_offset=19),
            lineno=142,
            col_offset=8,
            end_lineno=142,
            end_col_offset=19)],
        [],
        lineno=126,
        col_offset=4,
        end_lineno=142,
        end_col_offset=19),
      FunctionDef(
        'placeholder_10',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=144,
              col_offset=15,
              end_lineno=144,
              end_col_offset=19),
            arg(
              'placeholder_5',
              lineno=144,
              col_offset=21,
              end_lineno=144,
              end_col_offset=26)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Return(
            UnaryOp(
              Not(),
              Compare(
                Name(
                  'self',
                  Load(),
                  lineno=145,
                  col_offset=19,
                  end_lineno=145,
                  end_col_offset=23),
                [
                  Eq()],
                [
                  Name(
                    'placeholder_5',
                    Load(),
                    lineno=145,
                    col_offset=27,
                    end_lineno=145,
                    end_col_offset=32)],
                lineno=145,
                col_offset=19,
                end_lineno=145,
                end_col_offset=32),
              lineno=145,
              col_offset=15,
              end_lineno=145,
              end_col_offset=32),
            lineno=145,
            col_offset=8,
            end_lineno=145,
            end_col_offset=32)],
        [],
        lineno=144,
        col_offset=4,
        end_lineno=145,
        end_col_offset=32)],
    [],
    lineno=120,
    col_offset=0,
    end_lineno=145,
    end_col_offset=32),
  FunctionDef(
    'placeholder_11',
    arguments(
      [],
      [
        arg(
          'placeholder_12',
          lineno=148,
          col_offset=9,
          end_lineno=148,
          end_col_offset=10)],
      kwonlyargs=[],
      kw_defaults=[],
      defaults=[]),
    [
      Assign(
        [
          Tuple(
            [
              Name(
                'placeholder_13',
                Store(),
                lineno=149,
                col_offset=4,
                end_lineno=149,
                end_col_offset=15),
              Name(
                'placeholder_14',
                Store(),
                lineno=149,
                col_offset=17,
                end_lineno=149,
                end_col_offset=20)],
            Store(),
            lineno=149,
            col_offset=4,
            end_lineno=149,
            end_col_offset=20)],
        Call(
          Attribute(
            Name(
              'placeholder_12',
              Load(),
              lineno=149,
              col_offset=23,
              end_lineno=149,
              end_col_offset=24),
            'groups',
            Load(),
            lineno=149,
            col_offset=23,
            end_lineno=149,
            end_col_offset=31),
          [],
          [],
          lineno=149,
          col_offset=23,
          end_lineno=149,
          end_col_offset=33),
        lineno=149,
        col_offset=4,
        end_lineno=149,
        end_col_offset=33),
      Assign(
        [
          Tuple(
            [
              Name(
                'placeholder_15',
                Store(),
                lineno=150,
                col_offset=4,
                end_lineno=150,
                end_col_offset=5),
              Name(
                'placeholder_16',
                Store(),
                lineno=150,
                col_offset=7,
                end_lineno=150,
                end_col_offset=8)],
            Store(),
            lineno=150,
            col_offset=4,
            end_lineno=150,
            end_col_offset=8)],
        Call(
          Name(
            'divmod',
            Load(),
            lineno=150,
            col_offset=11,
            end_lineno=150,
            end_col_offset=17),
          [
            Call(
              Name(
                'len',
                Load(),
                lineno=150,
                col_offset=18,
                end_lineno=150,
                end_col_offset=21),
              [
                Name(
                  'placeholder_13',
                  Load(),
                  lineno=150,
                  col_offset=22,
                  end_lineno=150,
                  end_col_offset=33)],
              [],
              lineno=150,
              col_offset=18,
              end_lineno=150,
              end_col_offset=34),
            Constant(
              2,
              lineno=150,
              col_offset=36,
              end_lineno=150,
              end_col_offset=37)],
          [],
          lineno=150,
          col_offset=11,
          end_lineno=150,
          end_col_offset=38),
        lineno=150,
        col_offset=4,
        end_lineno=150,
        end_col_offset=38),
      Assign(
        [
          Name(
            'placeholder_17',
            Store(),
            lineno=151,
            col_offset=4,
            end_lineno=151,
            end_col_offset=10)],
        BinOp(
          Name(
            'placeholder_15',
            Load(),
            lineno=151,
            col_offset=13,
            end_lineno=151,
            end_col_offset=14),
          Mult(),
          Constant(
            '\\',
            lineno=151,
            col_offset=17,
            end_lineno=151,
            end_col_offset=21),
          lineno=151,
          col_offset=13,
          end_lineno=151,
          end_col_offset=21),
        lineno=151,
        col_offset=4,
        end_lineno=151,
        end_col_offset=21),
      Match(
        Name(
          'placeholder_14',
          Load(),
          lineno=152,
          col_offset=10,
          end_lineno=152,
          end_col_offset=13),
        [
          match_case(
            MatchValue(
              Constant(
                '\n',
                lineno=153,
                col_offset=13,
                end_lineno=153,
                end_col_offset=17),
              lineno=153,
              col_offset=13,
              end_lineno=153,
              end_col_offset=17),
            body=[
              AugAssign(
                Name(
                  'placeholder_17',
                  Store(),
                  lineno=154,
                  col_offset=12,
                  end_lineno=154,
                  end_col_offset=18),
                Add(),
                IfExp(
                  Name(
                    'placeholder_16',
                    Load(),
                    lineno=154,
                    col_offset=28,
                    end_lineno=154,
                    end_col_offset=29),
                  Constant(
                    '',
                    lineno=154,
                    col_offset=22,
                    end_lineno=154,
                    end_col_offset=24),
                  Constant(
                    '\n',
                    lineno=154,
                    col_offset=35,
                    end_lineno=154,
                    end_col_offset=39),
                  lineno=154,
                  col_offset=22,
                  end_lineno=154,
                  end_col_offset=39),
                lineno=154,
                col_offset=12,
                end_lineno=154,
                end_col_offset=39)]),
          match_case(
            MatchOr(
              [
                MatchValue(
                  Constant(
                    '\t',
                    lineno=155,
                    col_offset=13,
                    end_lineno=155,
                    end_col_offset=17),
                  lineno=155,
                  col_offset=13,
                  end_lineno=155,
                  end_col_offset=17),
                MatchValue(
                  Constant(
                    '\r',
                    lineno=155,
                    col_offset=20,
                    end_lineno=155,
                    end_col_offset=24),
                  lineno=155,
                  col_offset=20,
                  end_lineno=155,
                  end_col_offset=24),
                MatchValue(
                  Constant(
                    '\x0b',
                    lineno=155,
                    col_offset=27,
                    end_lineno=155,
                    end_col_offset=33),
                  lineno=155,
                  col_offset=27,
                  end_lineno=155,
                  end_col_offset=33),
                MatchValue(
                  Constant(
                    '\x0c',
                    lineno=155,
                    col_offset=36,
                    end_lineno=155,
                    end_col_offset=42),
                  lineno=155,
                  col_offset=36,
                  end_lineno=155,
                  end_col_offset=42)],
              lineno=155,
              col_offset=13,
              end_lineno=155,
              end_col_offset=42),
            body=[
              AugAssign(
                Name(
                  'placeholder_17',
                  Store(),
                  lineno=156,
                  col_offset=12,
                  end_lineno=156,
                  end_col_offset=18),
                Add(),
                Constant(
                  ' ',
                  lineno=156,
                  col_offset=22,
                  end_lineno=156,
                  end_col_offset=25),
                lineno=156,
                col_offset=12,
                end_lineno=156,
                end_col_offset=25)]),
          match_case(
            MatchAs(
              lineno=157,
              col_offset=13,
              end_lineno=157,
              end_col_offset=14),
            body=[
              AugAssign(
                Name(
                  'placeholder_17',
                  Store(),
                  lineno=158,
                  col_offset=12,
                  end_lineno=158,
                  end_col_offset=18),
                Add(),
                Name(
                  'placeholder_14',
                  Load(),
                  lineno=158,
                  col_offset=22,
                  end_lineno=158,
                  end_col_offset=25),
                lineno=158,
                col_offset=12,
                end_lineno=158,
                end_col_offset=25)])],
        lineno=152,
        col_offset=4,
        end_lineno=158,
        end_col_offset=25),
      Return(
        Name(
          'placeholder_17',
          Load(),
          lineno=160,
          col_offset=11,
          end_lineno=160,
          end_col_offset=17),
        lineno=160,
        col_offset=4,
        end_lineno=160,
        end_col_offset=17)],
    [],
    lineno=148,
    col_offset=0,
    end_lineno=160,
    end_col_offset=17),
  Assign(
    [
      Name(
        'placeholder_18',
        Store(),
        lineno=163,
        col_offset=0,
        end_lineno=163,
        end_col_offset=11)],
    Call(
      Name(
        'partial',
        Load(),
        lineno=163,
        col_offset=14,
        end_lineno=163,
        end_col_offset=21),
      [
        Attribute(
          Call(
            Attribute(
              Name(
                're',
                Load(),
                lineno=163,
                col_offset=22,
                end_lineno=163,
                end_col_offset=24),
              'compile',
              Load(),
              lineno=163,
              col_offset=22,
              end_lineno=163,
              end_col_offset=32),
            [
              Constant(
                '(\\\\*)(.)',
                lineno=163,
                col_offset=33,
                end_lineno=163,
                end_col_offset=44),
              Attribute(
                Name(
                  're',
                  Load(),
                  lineno=163,
                  col_offset=46,
                  end_lineno=163,
                  end_col_offset=48),
                'S',
                Load(),
                lineno=163,
                col_offset=46,
                end_lineno=163,
                end_col_offset=50)],
            [],
            lineno=163,
            col_offset=22,
            end_lineno=163,
            end_col_offset=51),
          'sub',
          Load(),
          lineno=163,
          col_offset=22,
          end_lineno=163,
          end_col_offset=55),
        Name(
          'placeholder_11',
          Load(),
          lineno=163,
          col_offset=57,
          end_lineno=163,
          end_col_offset=61)],
      [],
      lineno=163,
      col_offset=14,
      end_lineno=163,
      end_col_offset=62),
    lineno=163,
    col_offset=0,
    end_lineno=163,
    end_col_offset=62),
  FunctionDef(
    'placeholder_19',
    arguments(
      [],
      [
        arg(
          'placeholder_17',
          lineno=166,
          col_offset=10,
          end_lineno=166,
          end_col_offset=16)],
      kwonlyargs=[],
      kw_defaults=[],
      defaults=[]),
    [
      Match(
        Call(
          Attribute(
            Name(
              'placeholder_17',
              Load(),
              lineno=167,
              col_offset=10,
              end_lineno=167,
              end_col_offset=16),
            'strip',
            Load(),
            lineno=167,
            col_offset=10,
            end_lineno=167,
            end_col_offset=22),
          [],
          [],
          lineno=167,
          col_offset=10,
          end_lineno=167,
          end_col_offset=24),
        [
          match_case(
            MatchOr(
              [
                MatchValue(
                  Constant(
                    '',
                    lineno=168,
                    col_offset=13,
                    end_lineno=168,
                    end_col_offset=15),
                  lineno=168,
                  col_offset=13,
                  end_lineno=168,
                  end_col_offset=15),
                MatchValue(
                  Constant(
                    ';',
                    lineno=168,
                    col_offset=18,
                    end_lineno=168,
                    end_col_offset=21),
                  lineno=168,
                  col_offset=18,
                  end_lineno=168,
                  end_col_offset=21)],
              lineno=168,
              col_offset=13,
              end_lineno=168,
              end_col_offset=21),
            body=[
              Raise(
                Call(
                  Name(
                    'ValueError',
                    Load(),
                    lineno=169,
                    col_offset=18,
                    end_lineno=169,
                    end_col_offset=28),
                  [
                    Constant(
                      'tree missing',
                      lineno=169,
                      col_offset=29,
                      end_lineno=169,
                      end_col_offset=43)],
                  [],
                  lineno=169,
                  col_offset=18,
                  end_lineno=169,
                  end_col_offset=44),
                lineno=169,
                col_offset=12,
                end_lineno=169,
                end_col_offset=44)]),
          match_case(
            MatchValue(
              Constant(
                '()',
                lineno=170,
                col_offset=13,
                end_lineno=170,
                end_col_offset=17),
              lineno=170,
              col_offset=13,
              end_lineno=170,
              end_col_offset=17),
            body=[
              Raise(
                Call(
                  Name(
                    'ValueError',
                    Load(),
                    lineno=171,
                    col_offset=18,
                    end_lineno=171,
                    end_col_offset=28),
                  [
                    Constant(
                      'tree with no nodes',
                      lineno=171,
                      col_offset=29,
                      end_lineno=171,
                      end_col_offset=49)],
                  [],
                  lineno=171,
                  col_offset=18,
                  end_lineno=171,
                  end_col_offset=50),
                lineno=171,
                col_offset=12,
                end_lineno=171,
                end_col_offset=50)])],
        lineno=167,
        col_offset=4,
        end_lineno=171,
        end_col_offset=50),
      Assign(
        [
          Tuple(
            [
              Name(
                'placeholder_20',
                Store(),
                lineno=173,
                col_offset=4,
                end_lineno=173,
                end_col_offset=10),
              Name(
                'placeholder_21',
                Store(),
                lineno=173,
                col_offset=12,
                end_lineno=173,
                end_col_offset=17)],
            Store(),
            lineno=173,
            col_offset=4,
            end_lineno=173,
            end_col_offset=17)],
        Call(
          Name(
            'map',
            Load(),
            lineno=173,
            col_offset=20,
            end_lineno=173,
            end_col_offset=23),
          [
            Attribute(
              Name(
                're',
                Load(),
                lineno=173,
                col_offset=24,
                end_lineno=173,
                end_col_offset=26),
              'compile',
              Load(),
              lineno=173,
              col_offset=24,
              end_lineno=173,
              end_col_offset=34),
            Tuple(
              [
                Constant(
                  '\\(?;|\\)|\\[|[^[]+',
                  lineno=173,
                  col_offset=37,
                  end_lineno=173,
                  end_col_offset=56),
                Constant(
                  '[^\\]]*?(\\\\*)\\]',
                  lineno=173,
                  col_offset=58,
                  end_lineno=173,
                  end_col_offset=75)],
              Load(),
              lineno=173,
              col_offset=36,
              end_lineno=173,
              end_col_offset=76)],
          [],
          lineno=173,
          col_offset=20,
          end_lineno=173,
          end_col_offset=77),
        lineno=173,
        col_offset=4,
        end_lineno=173,
        end_col_offset=77),
      Assign(
        [
          Tuple(
            [
              Name(
                'placeholder_22',
                Store(),
                lineno=174,
                col_offset=4,
                end_lineno=174,
                end_col_offset=9),
              Name(
                'placeholder_17',
                Store(),
                lineno=174,
                col_offset=11,
                end_lineno=174,
                end_col_offset=17),
              Name(
                'placeholder_23',
                Store(),
                lineno=174,
                col_offset=19,
                end_lineno=174,
                end_col_offset=25),
              Name(
                'placeholder_24',
                Store(),
                lineno=174,
                col_offset=27,
                end_lineno=174,
                end_col_offset=33)],
            Store(),
            lineno=174,
            col_offset=4,
            end_lineno=174,
            end_col_offset=33)],
        Tuple(
          [
            List(
              [
                Call(
                  Name(
                    'placeholder_0',
                    Load(),
                    lineno=174,
                    col_offset=37,
                    end_lineno=174,
                    end_col_offset=44),
                  [],
                  [],
                  lineno=174,
                  col_offset=37,
                  end_lineno=174,
                  end_col_offset=46)],
              Load(),
              lineno=174,
              col_offset=36,
              end_lineno=174,
              end_col_offset=47),
            Subscript(
              Name(
                'placeholder_17',
                Load(),
                lineno=174,
                col_offset=49,
                end_lineno=174,
                end_col_offset=55),
              Slice(
                Constant(
                  2,
                  lineno=174,
                  col_offset=56,
                  end_lineno=174,
                  end_col_offset=57),
                lineno=174,
                col_offset=56,
                end_lineno=174,
                end_col_offset=58),
              Load(),
              lineno=174,
              col_offset=49,
              end_lineno=174,
              end_col_offset=59),
            Constant(
              False,
              lineno=174,
              col_offset=61,
              end_lineno=174,
              end_col_offset=66),
            Constant(
              '',
              lineno=174,
              col_offset=68,
              end_lineno=174,
              end_col_offset=70)],
          Load(),
          lineno=174,
          col_offset=36,
          end_lineno=174,
          end_col_offset=70),
        lineno=174,
        col_offset=4,
        end_lineno=174,
        end_col_offset=70),
      While(
        Constant(
          True,
          lineno=175,
          col_offset=10,
          end_lineno=175,
          end_col_offset=14),
        [
          Assign(
            [
              Name(
                'placeholder_12',
                Store(),
                lineno=176,
                col_offset=8,
                end_lineno=176,
                end_col_offset=9)],
            Call(
              Attribute(
                IfExp(
                  Name(
                    'placeholder_23',
                    Load(),
                    lineno=176,
                    col_offset=22,
                    end_lineno=176,
                    end_col_offset=28),
                  Name(
                    'placeholder_21',
                    Load(),
                    lineno=176,
                    col_offset=13,
                    end_lineno=176,
                    end_col_offset=18),
                  Name(
                    'placeholder_20',
                    Load(),
                    lineno=176,
                    col_offset=34,
                    end_lineno=176,
                    end_col_offset=40),
                  lineno=176,
                  col_offset=13,
                  end_lineno=176,
                  end_col_offset=40),
                'match',
                Load(),
                lineno=176,
                col_offset=12,
                end_lineno=176,
                end_col_offset=47),
              [
                Name(
                  'placeholder_17',
                  Load(),
                  lineno=176,
                  col_offset=48,
                  end_lineno=176,
                  end_col_offset=54)],
              [],
              lineno=176,
              col_offset=12,
              end_lineno=176,
              end_col_offset=55),
            lineno=176,
            col_offset=8,
            end_lineno=176,
            end_col_offset=55),
          Assign(
            [
              Tuple(
                [
                  Name(
                    'placeholder_25',
                    Store(),
                    lineno=177,
                    col_offset=8,
                    end_lineno=177,
                    end_col_offset=12),
                  Name(
                    'placeholder_17',
                    Store(),
                    lineno=177,
                    col_offset=14,
                    end_lineno=177,
                    end_col_offset=20)],
                Store(),
                lineno=177,
                col_offset=8,
                end_lineno=177,
                end_col_offset=20)],
            Tuple(
              [
                Subscript(
                  Name(
                    'placeholder_12',
                    Load(),
                    lineno=177,
                    col_offset=23,
                    end_lineno=177,
                    end_col_offset=24),
                  Constant(
                    0,
                    lineno=177,
                    col_offset=25,
                    end_lineno=177,
                    end_col_offset=26),
                  Load(),
                  lineno=177,
                  col_offset=23,
                  end_lineno=177,
                  end_col_offset=27),
                Subscript(
                  Name(
                    'placeholder_17',
                    Load(),
                    lineno=177,
                    col_offset=29,
                    end_lineno=177,
                    end_col_offset=35),
                  Slice(
                    Call(
                      Attribute(
                        Name(
                          'placeholder_12',
                          Load(),
                          lineno=177,
                          col_offset=36,
                          end_lineno=177,
                          end_col_offset=37),
                        'placeholder_14',
                        Load(),
                        lineno=177,
                        col_offset=36,
                        end_lineno=177,
                        end_col_offset=41),
                      [],
                      [],
                      lineno=177,
                      col_offset=36,
                      end_lineno=177,
                      end_col_offset=43),
                    lineno=177,
                    col_offset=36,
                    end_lineno=177,
                    end_col_offset=44),
                  Load(),
                  lineno=177,
                  col_offset=29,
                  end_lineno=177,
                  end_col_offset=45)],
              Load(),
              lineno=177,
              col_offset=23,
              end_lineno=177,
              end_col_offset=45),
            lineno=177,
            col_offset=8,
            end_lineno=177,
            end_col_offset=45),
          If(
            UnaryOp(
              Not(),
              Name(
                'placeholder_23',
                Load(),
                lineno=178,
                col_offset=15,
                end_lineno=178,
                end_col_offset=21),
              lineno=178,
              col_offset=11,
              end_lineno=178,
              end_col_offset=21),
            [
              Match(
                Name(
                  'placeholder_25',
                  Load(),
                  lineno=179,
                  col_offset=18,
                  end_lineno=179,
                  end_col_offset=22),
                [
                  match_case(
                    MatchOr(
                      [
                        MatchValue(
                          Constant(
                            '(;',
                            lineno=180,
                            col_offset=21,
                            end_lineno=180,
                            end_col_offset=25),
                          lineno=180,
                          col_offset=21,
                          end_lineno=180,
                          end_col_offset=25),
                        MatchValue(
                          Constant(
                            ';',
                            lineno=180,
                            col_offset=28,
                            end_lineno=180,
                            end_col_offset=31),
                          lineno=180,
                          col_offset=28,
                          end_lineno=180,
                          end_col_offset=31)],
                      lineno=180,
                      col_offset=21,
                      end_lineno=180,
                      end_col_offset=31),
                    body=[
                      Assign(
                        [
                          Name(
                            'placeholder_26',
                            Store(),
                            lineno=181,
                            col_offset=20,
                            end_lineno=181,
                            end_col_offset=24)],
                        Call(
                          Name(
                            'placeholder_0',
                            Load(),
                            lineno=181,
                            col_offset=27,
                            end_lineno=181,
                            end_col_offset=34),
                          [],
                          [],
                          lineno=181,
                          col_offset=27,
                          end_lineno=181,
                          end_col_offset=36),
                        lineno=181,
                        col_offset=20,
                        end_lineno=181,
                        end_col_offset=36),
                      Expr(
                        Call(
                          Attribute(
                            Attribute(
                              Subscript(
                                Name(
                                  'placeholder_22',
                                  Load(),
                                  lineno=182,
                                  col_offset=20,
                                  end_lineno=182,
                                  end_col_offset=25),
                                UnaryOp(
                                  USub(),
                                  Constant(
                                    1,
                                    lineno=182,
                                    col_offset=27,
                                    end_lineno=182,
                                    end_col_offset=28),
                                  lineno=182,
                                  col_offset=26,
                                  end_lineno=182,
                                  end_col_offset=28),
                                Load(),
                                lineno=182,
                                col_offset=20,
                                end_lineno=182,
                                end_col_offset=29),
                              'placeholder_3',
                              Load(),
                              lineno=182,
                              col_offset=20,
                              end_lineno=182,
                              end_col_offset=38),
                            'append',
                            Load(),
                            lineno=182,
                            col_offset=20,
                            end_lineno=182,
                            end_col_offset=45),
                          [
                            Name(
                              'placeholder_26',
                              Load(),
                              lineno=182,
                              col_offset=46,
                              end_lineno=182,
                              end_col_offset=50)],
                          [],
                          lineno=182,
                          col_offset=20,
                          end_lineno=182,
                          end_col_offset=51),
                        lineno=182,
                        col_offset=20,
                        end_lineno=182,
                        end_col_offset=51),
                      If(
                        BoolOp(
                          Or(),
                          [
                            Compare(
                              Name(
                                'placeholder_25',
                                Load(),
                                lineno=183,
                                col_offset=23,
                                end_lineno=183,
                                end_col_offset=27),
                              [
                                Eq()],
                              [
                                Constant(
                                  '(;',
                                  lineno=183,
                                  col_offset=31,
                                  end_lineno=183,
                                  end_col_offset=35)],
                              lineno=183,
                              col_offset=23,
                              end_lineno=183,
                              end_col_offset=35),
                            Compare(
                              Call(
                                Name(
                                  'len',
                                  Load(),
                                  lineno=183,
                                  col_offset=39,
                                  end_lineno=183,
                                  end_col_offset=42),
                                [
                                  Name(
                                    'placeholder_22',
                                    Load(),
                                    lineno=183,
                                    col_offset=43,
                                    end_lineno=183,
                                    end_col_offset=48)],
                                [],
                                lineno=183,
                                col_offset=39,
                                end_lineno=183,
                                end_col_offset=49),
                              [
                                Eq()],
                              [
                                Constant(
                                  1,
                                  lineno=183,
                                  col_offset=53,
                                  end_lineno=183,
                                  end_col_offset=54)],
                              lineno=183,
                              col_offset=39,
                              end_lineno=183,
                              end_col_offset=54)],
                          lineno=183,
                          col_offset=23,
                          end_lineno=183,
                          end_col_offset=54),
                        [
                          Expr(
                            Call(
                              Attribute(
                                Name(
                                  'placeholder_22',
                                  Load(),
                                  lineno=184,
                                  col_offset=24,
                                  end_lineno=184,
                                  end_col_offset=29),
                                'append',
                                Load(),
                                lineno=184,
                                col_offset=24,
                                end_lineno=184,
                                end_col_offset=36),
                              [
                                Name(
                                  'placeholder_26',
                                  Load(),
                                  lineno=184,
                                  col_offset=37,
                                  end_lineno=184,
                                  end_col_offset=41)],
                              [],
                              lineno=184,
                              col_offset=24,
                              end_lineno=184,
                              end_col_offset=42),
                            lineno=184,
                            col_offset=24,
                            end_lineno=184,
                            end_col_offset=42)],
                        [
                          Assign(
                            [
                              Subscript(
                                Name(
                                  'placeholder_22',
                                  Load(),
                                  lineno=186,
                                  col_offset=24,
                                  end_lineno=186,
                                  end_col_offset=29),
                                UnaryOp(
                                  USub(),
                                  Constant(
                                    1,
                                    lineno=186,
                                    col_offset=31,
                                    end_lineno=186,
                                    end_col_offset=32),
                                  lineno=186,
                                  col_offset=30,
                                  end_lineno=186,
                                  end_col_offset=32),
                                Store(),
                                lineno=186,
                                col_offset=24,
                                end_lineno=186,
                                end_col_offset=33)],
                            Name(
                              'placeholder_26',
                              Load(),
                              lineno=186,
                              col_offset=36,
                              end_lineno=186,
                              end_col_offset=40),
                            lineno=186,
                            col_offset=24,
                            end_lineno=186,
                            end_col_offset=40)],
                        lineno=183,
                        col_offset=20,
                        end_lineno=186,
                        end_col_offset=40)]),
                  match_case(
                    MatchValue(
                      Constant(
                        ')',
                        lineno=187,
                        col_offset=21,
                        end_lineno=187,
                        end_col_offset=24),
                      lineno=187,
                      col_offset=21,
                      end_lineno=187,
                      end_col_offset=24),
                    body=[
                      If(
                        Compare(
                          Name(
                            'placeholder_17',
                            Load(),
                            lineno=188,
                            col_offset=23,
                            end_lineno=188,
                            end_col_offset=29),
                          [
                            Eq()],
                          [
                            Constant(
                              '',
                              lineno=188,
                              col_offset=33,
                              end_lineno=188,
                              end_col_offset=35)],
                          lineno=188,
                          col_offset=23,
                          end_lineno=188,
                          end_col_offset=35),
                        [
                          Return(
                            Subscript(
                              Name(
                                'placeholder_22',
                                Load(),
                                lineno=189,
                                col_offset=31,
                                end_lineno=189,
                                end_col_offset=36),
                              Constant(
                                0,
                                lineno=189,
                                col_offset=37,
                                end_lineno=189,
                                end_col_offset=38),
                              Load(),
                              lineno=189,
                              col_offset=31,
                              end_lineno=189,
                              end_col_offset=39),
                            lineno=189,
                            col_offset=24,
                            end_lineno=189,
                            end_col_offset=39)],
                        [],
                        lineno=188,
                        col_offset=20,
                        end_lineno=189,
                        end_col_offset=39),
                      Expr(
                        Call(
                          Attribute(
                            Name(
                              'placeholder_22',
                              Load(),
                              lineno=190,
                              col_offset=20,
                              end_lineno=190,
                              end_col_offset=25),
                            'pop',
                            Load(),
                            lineno=190,
                            col_offset=20,
                            end_lineno=190,
                            end_col_offset=29),
                          [],
                          [],
                          lineno=190,
                          col_offset=20,
                          end_lineno=190,
                          end_col_offset=31),
                        lineno=190,
                        col_offset=20,
                        end_lineno=190,
                        end_col_offset=31)]),
                  match_case(
                    MatchValue(
                      Constant(
                        '[',
                        lineno=191,
                        col_offset=21,
                        end_lineno=191,
                        end_col_offset=24),
                      lineno=191,
                      col_offset=21,
                      end_lineno=191,
                      end_col_offset=24),
                    body=[
                      Assign(
                        [
                          Name(
                            'placeholder_23',
                            Store(),
                            lineno=192,
                            col_offset=20,
                            end_lineno=192,
                            end_col_offset=26)],
                        Constant(
                          True,
                          lineno=192,
                          col_offset=29,
                          end_lineno=192,
                          end_col_offset=33),
                        lineno=192,
                        col_offset=20,
                        end_lineno=192,
                        end_col_offset=33)]),
                  match_case(
                    MatchAs(
                      lineno=193,
                      col_offset=21,
                      end_lineno=193,
                      end_col_offset=22),
                    body=[
                      If(
                        Compare(
                          Constant(
                            ')',
                            lineno=194,
                            col_offset=23,
                            end_lineno=194,
                            end_col_offset=26),
                          [
                            In()],
                          [
                            Name(
                              'placeholder_25',
                              Load(),
                              lineno=194,
                              col_offset=30,
                              end_lineno=194,
                              end_col_offset=34)],
                          lineno=194,
                          col_offset=23,
                          end_lineno=194,
                          end_col_offset=34),
                        [
                          Raise(
                            Call(
                              Name(
                                'ValueError',
                                Load(),
                                lineno=195,
                                col_offset=30,
                                end_lineno=195,
                                end_col_offset=40),
                              [
                                Constant(
                                  'properties without delimiter',
                                  lineno=195,
                                  col_offset=41,
                                  end_lineno=195,
                                  end_col_offset=71)],
                              [],
                              lineno=195,
                              col_offset=30,
                              end_lineno=195,
                              end_col_offset=72),
                            lineno=195,
                            col_offset=24,
                            end_lineno=195,
                            end_col_offset=72)],
                        [],
                        lineno=194,
                        col_offset=20,
                        end_lineno=195,
                        end_col_offset=72),
                      If(
                        UnaryOp(
                          Not(),
                          Call(
                            Attribute(
                              Name(
                                'placeholder_25',
                                Load(),
                                lineno=196,
                                col_offset=27,
                                end_lineno=196,
                                end_col_offset=31),
                              'isupper',
                              Load(),
                              lineno=196,
                              col_offset=27,
                              end_lineno=196,
                              end_col_offset=39),
                            [],
                            [],
                            lineno=196,
                            col_offset=27,
                            end_lineno=196,
                            end_col_offset=41),
                          lineno=196,
                          col_offset=23,
                          end_lineno=196,
                          end_col_offset=41),
                        [
                          Raise(
                            Call(
                              Name(
                                'ValueError',
                                Load(),
                                lineno=197,
                                col_offset=30,
                                end_lineno=197,
                                end_col_offset=40),
                              [
                                Constant(
                                  'property must be in uppercase',
                                  lineno=197,
                                  col_offset=41,
                                  end_lineno=197,
                                  end_col_offset=72)],
                              [],
                              lineno=197,
                              col_offset=30,
                              end_lineno=197,
                              end_col_offset=73),
                            lineno=197,
                            col_offset=24,
                            end_lineno=197,
                            end_col_offset=73)],
                        [],
                        lineno=196,
                        col_offset=20,
                        end_lineno=197,
                        end_col_offset=73),
                      Assign(
                        [
                          Name(
                            'placeholder_27',
                            Store(),
                            lineno=198,
                            col_offset=20,
                            end_lineno=198,
                            end_col_offset=26)],
                        Call(
                          Attribute(
                            Attribute(
                              Subscript(
                                Name(
                                  'placeholder_22',
                                  Load(),
                                  lineno=198,
                                  col_offset=29,
                                  end_lineno=198,
                                  end_col_offset=34),
                                UnaryOp(
                                  USub(),
                                  Constant(
                                    1,
                                    lineno=198,
                                    col_offset=36,
                                    end_lineno=198,
                                    end_col_offset=37),
                                  lineno=198,
                                  col_offset=35,
                                  end_lineno=198,
                                  end_col_offset=37),
                                Load(),
                                lineno=198,
                                col_offset=29,
                                end_lineno=198,
                                end_col_offset=38),
                              'placeholder_2',
                              Load(),
                              lineno=198,
                              col_offset=29,
                              end_lineno=198,
                              end_col_offset=49),
                            'setdefault',
                            Load(),
                            lineno=198,
                            col_offset=29,
                            end_lineno=198,
                            end_col_offset=60),
                          [
                            Name(
                              'placeholder_25',
                              Load(),
                              lineno=198,
                              col_offset=61,
                              end_lineno=198,
                              end_col_offset=65),
                            List(
                              [],
                              Load(),
                              lineno=198,
                              col_offset=67,
                              end_lineno=198,
                              end_col_offset=69)],
                          [],
                          lineno=198,
                          col_offset=29,
                          end_lineno=198,
                          end_col_offset=70),
                        lineno=198,
                        col_offset=20,
                        end_lineno=198,
                        end_col_offset=70)])],
                lineno=179,
                col_offset=12,
                end_lineno=198,
                end_col_offset=70)],
            [
              If(
                BoolOp(
                  And(),
                  [
                    NamedExpr(
                      Name(
                        'placeholder_13',
                        Store(),
                        lineno=200,
                        col_offset=16,
                        end_lineno=200,
                        end_col_offset=27),
                      Subscript(
                        Name(
                          'placeholder_12',
                          Load(),
                          lineno=200,
                          col_offset=31,
                          end_lineno=200,
                          end_col_offset=32),
                        Constant(
                          1,
                          lineno=200,
                          col_offset=33,
                          end_lineno=200,
                          end_col_offset=34),
                        Load(),
                        lineno=200,
                        col_offset=31,
                        end_lineno=200,
                        end_col_offset=35),
                      lineno=200,
                      col_offset=16,
                      end_lineno=200,
                      end_col_offset=35),
                    BinOp(
                      Call(
                        Name(
                          'len',
                          Load(),
                          lineno=200,
                          col_offset=41,
                          end_lineno=200,
                          end_col_offset=44),
                        [
                          Name(
                            'placeholder_13',
                            Load(),
                            lineno=200,
                            col_offset=45,
                            end_lineno=200,
                            end_col_offset=56)],
                        [],
                        lineno=200,
                        col_offset=41,
                        end_lineno=200,
                        end_col_offset=57),
                      Mod(),
                      Constant(
                        2,
                        lineno=200,
                        col_offset=60,
                        end_lineno=200,
                        end_col_offset=61),
                      lineno=200,
                      col_offset=41,
                      end_lineno=200,
                      end_col_offset=61)],
                  lineno=200,
                  col_offset=15,
                  end_lineno=200,
                  end_col_offset=61),
                [
                  AugAssign(
                    Name(
                      'placeholder_24',
                      Store(),
                      lineno=201,
                      col_offset=16,
                      end_lineno=201,
                      end_col_offset=22),
                    Add(),
                    Name(
                      'placeholder_25',
                      Load(),
                      lineno=201,
                      col_offset=26,
                      end_lineno=201,
                      end_col_offset=30),
                    lineno=201,
                    col_offset=16,
                    end_lineno=201,
                    end_col_offset=30)],
                [
                  Expr(
                    Call(
                      Attribute(
                        Name(
                          'placeholder_27',
                          Load(),
                          lineno=203,
                          col_offset=16,
                          end_lineno=203,
                          end_col_offset=22),
                        'append',
                        Load(),
                        lineno=203,
                        col_offset=16,
                        end_lineno=203,
                        end_col_offset=29),
                      [
                        Call(
                          Name(
                            'placeholder_18',
                            Load(),
                            lineno=203,
                            col_offset=30,
                            end_lineno=203,
                            end_col_offset=41),
                          [
                            BinOp(
                              Name(
                                'placeholder_24',
                                Load(),
                                lineno=203,
                                col_offset=42,
                                end_lineno=203,
                                end_col_offset=48),
                              Add(),
                              Subscript(
                                Name(
                                  'placeholder_25',
                                  Load(),
                                  lineno=203,
                                  col_offset=51,
                                  end_lineno=203,
                                  end_col_offset=55),
                                Slice(
                                  upper=UnaryOp(
                                    USub(),
                                    Constant(
                                      1,
                                      lineno=203,
                                      col_offset=58,
                                      end_lineno=203,
                                      end_col_offset=59),
                                    lineno=203,
                                    col_offset=57,
                                    end_lineno=203,
                                    end_col_offset=59),
                                  lineno=203,
                                  col_offset=56,
                                  end_lineno=203,
                                  end_col_offset=59),
                                Load(),
                                lineno=203,
                                col_offset=51,
                                end_lineno=203,
                                end_col_offset=60),
                              lineno=203,
                              col_offset=42,
                              end_lineno=203,
                              end_col_offset=60)],
                          [],
                          lineno=203,
                          col_offset=30,
                          end_lineno=203,
                          end_col_offset=61)],
                      [],
                      lineno=203,
                      col_offset=16,
                      end_lineno=203,
                      end_col_offset=62),
                    lineno=203,
                    col_offset=16,
                    end_lineno=203,
                    end_col_offset=62),
                  Assign(
                    [
                      Tuple(
                        [
                          Name(
                            'placeholder_23',
                            Store(),
                            lineno=204,
                            col_offset=16,
                            end_lineno=204,
                            end_col_offset=22),
                          Name(
                            'placeholder_24',
                            Store(),
                            lineno=204,
                            col_offset=24,
                            end_lineno=204,
                            end_col_offset=30)],
                        Store(),
                        lineno=204,
                        col_offset=16,
                        end_lineno=204,
                        end_col_offset=30)],
                    Tuple(
                      [
                        Constant(
                          False,
                          lineno=204,
                          col_offset=33,
                          end_lineno=204,
                          end_col_offset=38),
                        Constant(
                          '',
                          lineno=204,
                          col_offset=40,
                          end_lineno=204,
                          end_col_offset=42)],
                      Load(),
                      lineno=204,
                      col_offset=33,
                      end_lineno=204,
                      end_col_offset=42),
                    lineno=204,
                    col_offset=16,
                    end_lineno=204,
                    end_col_offset=42)],
                lineno=200,
                col_offset=12,
                end_lineno=204,
                end_col_offset=42)],
            lineno=178,
            col_offset=8,
            end_lineno=204,
            end_col_offset=42)],
        [],
        lineno=175,
        col_offset=4,
        end_lineno=204,
        end_col_offset=42)],
    [],
    lineno=166,
    col_offset=0,
    end_lineno=204,
    end_col_offset=42)],
[])
## END NORMALIZED TREE ##
 JSON Mapping
{
  "placeholder_0": "SgfTree",
  "placeholder_1": "__init__",
  "placeholder_2": "properties",
  "placeholder_3": "children",
  "placeholder_4": "__eq__",
  "placeholder_5": "other",
  "placeholder_6": "key",
  "placeholder_7": "value",
  "placeholder_8": "child",
  "placeholder_9": "other_child",
  "placeholder_10": "__ne__",
  "placeholder_11": "repl",
  "placeholder_12": "m",
  "placeholder_13": "backslashes",
  "placeholder_14": "end",
  "placeholder_15": "n",
  "placeholder_16": "r",
  "placeholder_17": "string",
  "placeholder_18": "clean_value",
  "placeholder_19": "parse",
  "placeholder_20": "re_out",
  "placeholder_21": "re_in",
  "placeholder_22": "nodes",
  "placeholder_23": "in_val",
  "placeholder_24": "substr",
  "placeholder_25": "part",
  "placeholder_26": "node",
  "placeholder_27": "values"
}

Binary Search Tree Exercise

 Solution Code
class TreeNode:

  def __init__(self, data, left=None, right=None):
      self.data = data
      self.left = left
      self.right = right

  def __str__(self):
      return f'TreeNode(data={self.data}, left={self.left}, right={self.right})'

  def traverse(self):
      if self.left is not None:
          yield from self.left.traverse()
      yield self.data
      if self.right is not None:
          yield from self.right.traverse()


class BinarySearchTree:

  def __init__(self, tree_data):
      self.root = TreeNode(tree_data[0])
      for data in tree_data[1:]:
          self.add_data(data)

  def add_data(self, data):
      node = self.root
      while True:
          attr = "right" if node.data < data else "left"
          if (next_node := getattr(node, attr)) is None:
              setattr(node, attr, TreeNode(data))
              return
          node = next_node

  def data(self):
      return self.root

  def sorted_data(self):
      return [*self.root.traverse()]
 representation.out File Contents
## BEGIN NORMALIZED CODE ##
class placeholder_0:
  def placeholder_1(self, placeholder_2, placeholder_3=None, placeholder_4=None):
      self.placeholder_2 = placeholder_2
      self.placeholder_3 = placeholder_3
      self.placeholder_4 = placeholder_4

  def placeholder_5(self):
      return f"TreeNode(data={self.placeholder_2}, left={self.placeholder_3}, right={self.placeholder_4})"

  def placeholder_6(self):
      if self.placeholder_3 is not None:
          yield from self.placeholder_3.placeholder_6()
      yield self.placeholder_2
      if self.placeholder_4 is not None:
          yield from self.placeholder_4.placeholder_6()


class placeholder_7:
  def placeholder_1(self, placeholder_8):
      self.placeholder_9 = placeholder_0(placeholder_8[0])
      for placeholder_2 in placeholder_8[1:]:
          self.add_data(placeholder_2)

  def placeholder_10(self, placeholder_2):
      placeholder_11 = self.placeholder_9
      while True:
          placeholder_12 = (
              "right" if placeholder_11.placeholder_2 < placeholder_2 else "left"
          )
          if (placeholder_13 := getattr(placeholder_11, placeholder_12)) is None:
              setattr(placeholder_11, placeholder_12, placeholder_0(placeholder_2))
              return
          placeholder_11 = placeholder_13

  def placeholder_2(self):
      return self.placeholder_9

  def placeholder_14(self):
      return [*self.placeholder_9.placeholder_6()]

## END NORMALIZED CODE ##

## BEGIN TREE BEFORE ##
Module(
[
  ClassDef(
    'TreeNode',
    [],
    [],
    [
      FunctionDef(
        '__init__',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=53,
              col_offset=17,
              end_lineno=53,
              end_col_offset=21),
            arg(
              'data',
              lineno=53,
              col_offset=23,
              end_lineno=53,
              end_col_offset=27),
            arg(
              'left',
              lineno=53,
              col_offset=29,
              end_lineno=53,
              end_col_offset=33),
            arg(
              'right',
              lineno=53,
              col_offset=40,
              end_lineno=53,
              end_col_offset=45)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[
            Constant(
              None,
              lineno=53,
              col_offset=34,
              end_lineno=53,
              end_col_offset=38),
            Constant(
              None,
              lineno=53,
              col_offset=46,
              end_lineno=53,
              end_col_offset=50)]),
        [
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=54,
                  col_offset=8,
                  end_lineno=54,
                  end_col_offset=12),
                'data',
                Store(),
                lineno=54,
                col_offset=8,
                end_lineno=54,
                end_col_offset=17)],
            Name(
              'data',
              Load(),
              lineno=54,
              col_offset=20,
              end_lineno=54,
              end_col_offset=24),
            lineno=54,
            col_offset=8,
            end_lineno=54,
            end_col_offset=24),
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=55,
                  col_offset=8,
                  end_lineno=55,
                  end_col_offset=12),
                'left',
                Store(),
                lineno=55,
                col_offset=8,
                end_lineno=55,
                end_col_offset=17)],
            Name(
              'left',
              Load(),
              lineno=55,
              col_offset=20,
              end_lineno=55,
              end_col_offset=24),
            lineno=55,
            col_offset=8,
            end_lineno=55,
            end_col_offset=24),
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=56,
                  col_offset=8,
                  end_lineno=56,
                  end_col_offset=12),
                'right',
                Store(),
                lineno=56,
                col_offset=8,
                end_lineno=56,
                end_col_offset=18)],
            Name(
              'right',
              Load(),
              lineno=56,
              col_offset=21,
              end_lineno=56,
              end_col_offset=26),
            lineno=56,
            col_offset=8,
            end_lineno=56,
            end_col_offset=26)],
        [],
        lineno=53,
        col_offset=4,
        end_lineno=56,
        end_col_offset=26),
      FunctionDef(
        '__str__',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=58,
              col_offset=16,
              end_lineno=58,
              end_col_offset=20)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Return(
            JoinedStr(
              [
                Constant(
                  'TreeNode(data=',
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                FormattedValue(
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=59,
                      col_offset=32,
                      end_lineno=59,
                      end_col_offset=36),
                    'data',
                    Load(),
                    lineno=59,
                    col_offset=32,
                    end_lineno=59,
                    end_col_offset=41),
                  -1,
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                Constant(
                  ', left=',
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                FormattedValue(
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=59,
                      col_offset=50,
                      end_lineno=59,
                      end_col_offset=54),
                    'left',
                    Load(),
                    lineno=59,
                    col_offset=50,
                    end_lineno=59,
                    end_col_offset=59),
                  -1,
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                Constant(
                  ', right=',
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                FormattedValue(
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=59,
                      col_offset=69,
                      end_lineno=59,
                      end_col_offset=73),
                    'right',
                    Load(),
                    lineno=59,
                    col_offset=69,
                    end_lineno=59,
                    end_col_offset=79),
                  -1,
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                Constant(
                  ')',
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82)],
              lineno=59,
              col_offset=15,
              end_lineno=59,
              end_col_offset=82),
            lineno=59,
            col_offset=8,
            end_lineno=59,
            end_col_offset=82)],
        [],
        lineno=58,
        col_offset=4,
        end_lineno=59,
        end_col_offset=82),
      FunctionDef(
        'traverse',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=61,
              col_offset=17,
              end_lineno=61,
              end_col_offset=21)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          If(
            Compare(
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=62,
                  col_offset=11,
                  end_lineno=62,
                  end_col_offset=15),
                'left',
                Load(),
                lineno=62,
                col_offset=11,
                end_lineno=62,
                end_col_offset=20),
              [
                IsNot()],
              [
                Constant(
                  None,
                  lineno=62,
                  col_offset=28,
                  end_lineno=62,
                  end_col_offset=32)],
              lineno=62,
              col_offset=11,
              end_lineno=62,
              end_col_offset=32),
            [
              Expr(
                YieldFrom(
                  Call(
                    Attribute(
                      Attribute(
                        Name(
                          'self',
                          Load(),
                          lineno=63,
                          col_offset=23,
                          end_lineno=63,
                          end_col_offset=27),
                        'left',
                        Load(),
                        lineno=63,
                        col_offset=23,
                        end_lineno=63,
                        end_col_offset=32),
                      'traverse',
                      Load(),
                      lineno=63,
                      col_offset=23,
                      end_lineno=63,
                      end_col_offset=41),
                    [],
                    [],
                    lineno=63,
                    col_offset=23,
                    end_lineno=63,
                    end_col_offset=43),
                  lineno=63,
                  col_offset=12,
                  end_lineno=63,
                  end_col_offset=43),
                lineno=63,
                col_offset=12,
                end_lineno=63,
                end_col_offset=43)],
            [],
            lineno=62,
            col_offset=8,
            end_lineno=63,
            end_col_offset=43),
          Expr(
            Yield(
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=64,
                  col_offset=14,
                  end_lineno=64,
                  end_col_offset=18),
                'data',
                Load(),
                lineno=64,
                col_offset=14,
                end_lineno=64,
                end_col_offset=23),
              lineno=64,
              col_offset=8,
              end_lineno=64,
              end_col_offset=23),
            lineno=64,
            col_offset=8,
            end_lineno=64,
            end_col_offset=23),
          If(
            Compare(
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=65,
                  col_offset=11,
                  end_lineno=65,
                  end_col_offset=15),
                'right',
                Load(),
                lineno=65,
                col_offset=11,
                end_lineno=65,
                end_col_offset=21),
              [
                IsNot()],
              [
                Constant(
                  None,
                  lineno=65,
                  col_offset=29,
                  end_lineno=65,
                  end_col_offset=33)],
              lineno=65,
              col_offset=11,
              end_lineno=65,
              end_col_offset=33),
            [
              Expr(
                YieldFrom(
                  Call(
                    Attribute(
                      Attribute(
                        Name(
                          'self',
                          Load(),
                          lineno=66,
                          col_offset=23,
                          end_lineno=66,
                          end_col_offset=27),
                        'right',
                        Load(),
                        lineno=66,
                        col_offset=23,
                        end_lineno=66,
                        end_col_offset=33),
                      'traverse',
                      Load(),
                      lineno=66,
                      col_offset=23,
                      end_lineno=66,
                      end_col_offset=42),
                    [],
                    [],
                    lineno=66,
                    col_offset=23,
                    end_lineno=66,
                    end_col_offset=44),
                  lineno=66,
                  col_offset=12,
                  end_lineno=66,
                  end_col_offset=44),
                lineno=66,
                col_offset=12,
                end_lineno=66,
                end_col_offset=44)],
            [],
            lineno=65,
            col_offset=8,
            end_lineno=66,
            end_col_offset=44)],
        [],
        lineno=61,
        col_offset=4,
        end_lineno=66,
        end_col_offset=44)],
    [],
    lineno=51,
    col_offset=0,
    end_lineno=66,
    end_col_offset=44),
  ClassDef(
    'BinarySearchTree',
    [],
    [],
    [
      FunctionDef(
        '__init__',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=71,
              col_offset=17,
              end_lineno=71,
              end_col_offset=21),
            arg(
              'tree_data',
              lineno=71,
              col_offset=23,
              end_lineno=71,
              end_col_offset=32)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=72,
                  col_offset=8,
                  end_lineno=72,
                  end_col_offset=12),
                'root',
                Store(),
                lineno=72,
                col_offset=8,
                end_lineno=72,
                end_col_offset=17)],
            Call(
              Name(
                'TreeNode',
                Load(),
                lineno=72,
                col_offset=20,
                end_lineno=72,
                end_col_offset=28),
              [
                Subscript(
                  Name(
                    'tree_data',
                    Load(),
                    lineno=72,
                    col_offset=29,
                    end_lineno=72,
                    end_col_offset=38),
                  Constant(
                    0,
                    lineno=72,
                    col_offset=39,
                    end_lineno=72,
                    end_col_offset=40),
                  Load(),
                  lineno=72,
                  col_offset=29,
                  end_lineno=72,
                  end_col_offset=41)],
              [],
              lineno=72,
              col_offset=20,
              end_lineno=72,
              end_col_offset=42),
            lineno=72,
            col_offset=8,
            end_lineno=72,
            end_col_offset=42),
          For(
            Name(
              'data',
              Store(),
              lineno=73,
              col_offset=12,
              end_lineno=73,
              end_col_offset=16),
            Subscript(
              Name(
                'tree_data',
                Load(),
                lineno=73,
                col_offset=20,
                end_lineno=73,
                end_col_offset=29),
              Slice(
                Constant(
                  1,
                  lineno=73,
                  col_offset=30,
                  end_lineno=73,
                  end_col_offset=31),
                lineno=73,
                col_offset=30,
                end_lineno=73,
                end_col_offset=32),
              Load(),
              lineno=73,
              col_offset=20,
              end_lineno=73,
              end_col_offset=33),
            [
              Expr(
                Call(
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=74,
                      col_offset=12,
                      end_lineno=74,
                      end_col_offset=16),
                    'add_data',
                    Load(),
                    lineno=74,
                    col_offset=12,
                    end_lineno=74,
                    end_col_offset=25),
                  [
                    Name(
                      'data',
                      Load(),
                      lineno=74,
                      col_offset=26,
                      end_lineno=74,
                      end_col_offset=30)],
                  [],
                  lineno=74,
                  col_offset=12,
                  end_lineno=74,
                  end_col_offset=31),
                lineno=74,
                col_offset=12,
                end_lineno=74,
                end_col_offset=31)],
            [],
            lineno=73,
            col_offset=8,
            end_lineno=74,
            end_col_offset=31)],
        [],
        lineno=71,
        col_offset=4,
        end_lineno=74,
        end_col_offset=31),
      FunctionDef(
        'add_data',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=76,
              col_offset=17,
              end_lineno=76,
              end_col_offset=21),
            arg(
              'data',
              lineno=76,
              col_offset=23,
              end_lineno=76,
              end_col_offset=27)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Assign(
            [
              Name(
                'node',
                Store(),
                lineno=77,
                col_offset=8,
                end_lineno=77,
                end_col_offset=12)],
            Attribute(
              Name(
                'self',
                Load(),
                lineno=77,
                col_offset=15,
                end_lineno=77,
                end_col_offset=19),
              'root',
              Load(),
              lineno=77,
              col_offset=15,
              end_lineno=77,
              end_col_offset=24),
            lineno=77,
            col_offset=8,
            end_lineno=77,
            end_col_offset=24),
          While(
            Constant(
              True,
              lineno=78,
              col_offset=14,
              end_lineno=78,
              end_col_offset=18),
            [
              Assign(
                [
                  Name(
                    'attr',
                    Store(),
                    lineno=79,
                    col_offset=12,
                    end_lineno=79,
                    end_col_offset=16)],
                IfExp(
                  Compare(
                    Attribute(
                      Name(
                        'node',
                        Load(),
                        lineno=79,
                        col_offset=30,
                        end_lineno=79,
                        end_col_offset=34),
                      'data',
                      Load(),
                      lineno=79,
                      col_offset=30,
                      end_lineno=79,
                      end_col_offset=39),
                    [
                      Lt()],
                    [
                      Name(
                        'data',
                        Load(),
                        lineno=79,
                        col_offset=42,
                        end_lineno=79,
                        end_col_offset=46)],
                    lineno=79,
                    col_offset=30,
                    end_lineno=79,
                    end_col_offset=46),
                  Constant(
                    'right',
                    lineno=79,
                    col_offset=19,
                    end_lineno=79,
                    end_col_offset=26),
                  Constant(
                    'left',
                    lineno=79,
                    col_offset=52,
                    end_lineno=79,
                    end_col_offset=58),
                  lineno=79,
                  col_offset=19,
                  end_lineno=79,
                  end_col_offset=58),
                lineno=79,
                col_offset=12,
                end_lineno=79,
                end_col_offset=58),
              If(
                Compare(
                  NamedExpr(
                    Name(
                      'next_node',
                      Store(),
                      lineno=80,
                      col_offset=16,
                      end_lineno=80,
                      end_col_offset=25),
                    Call(
                      Name(
                        'getattr',
                        Load(),
                        lineno=80,
                        col_offset=29,
                        end_lineno=80,
                        end_col_offset=36),
                      [
                        Name(
                          'node',
                          Load(),
                          lineno=80,
                          col_offset=37,
                          end_lineno=80,
                          end_col_offset=41),
                        Name(
                          'attr',
                          Load(),
                          lineno=80,
                          col_offset=43,
                          end_lineno=80,
                          end_col_offset=47)],
                      [],
                      lineno=80,
                      col_offset=29,
                      end_lineno=80,
                      end_col_offset=48),
                    lineno=80,
                    col_offset=16,
                    end_lineno=80,
                    end_col_offset=48),
                  [
                    Is()],
                  [
                    Constant(
                      None,
                      lineno=80,
                      col_offset=53,
                      end_lineno=80,
                      end_col_offset=57)],
                  lineno=80,
                  col_offset=15,
                  end_lineno=80,
                  end_col_offset=57),
                [
                  Expr(
                    Call(
                      Name(
                        'setattr',
                        Load(),
                        lineno=81,
                        col_offset=16,
                        end_lineno=81,
                        end_col_offset=23),
                      [
                        Name(
                          'node',
                          Load(),
                          lineno=81,
                          col_offset=24,
                          end_lineno=81,
                          end_col_offset=28),
                        Name(
                          'attr',
                          Load(),
                          lineno=81,
                          col_offset=30,
                          end_lineno=81,
                          end_col_offset=34),
                        Call(
                          Name(
                            'TreeNode',
                            Load(),
                            lineno=81,
                            col_offset=36,
                            end_lineno=81,
                            end_col_offset=44),
                          [
                            Name(
                              'data',
                              Load(),
                              lineno=81,
                              col_offset=45,
                              end_lineno=81,
                              end_col_offset=49)],
                          [],
                          lineno=81,
                          col_offset=36,
                          end_lineno=81,
                          end_col_offset=50)],
                      [],
                      lineno=81,
                      col_offset=16,
                      end_lineno=81,
                      end_col_offset=51),
                    lineno=81,
                    col_offset=16,
                    end_lineno=81,
                    end_col_offset=51),
                  Return(
                    lineno=82,
                    col_offset=16,
                    end_lineno=82,
                    end_col_offset=22)],
                [],
                lineno=80,
                col_offset=12,
                end_lineno=82,
                end_col_offset=22),
              Assign(
                [
                  Name(
                    'node',
                    Store(),
                    lineno=83,
                    col_offset=12,
                    end_lineno=83,
                    end_col_offset=16)],
                Name(
                  'next_node',
                  Load(),
                  lineno=83,
                  col_offset=19,
                  end_lineno=83,
                  end_col_offset=28),
                lineno=83,
                col_offset=12,
                end_lineno=83,
                end_col_offset=28)],
            [],
            lineno=78,
            col_offset=8,
            end_lineno=83,
            end_col_offset=28)],
        [],
        lineno=76,
        col_offset=4,
        end_lineno=83,
        end_col_offset=28),
      FunctionDef(
        'data',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=85,
              col_offset=13,
              end_lineno=85,
              end_col_offset=17)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Return(
            Attribute(
              Name(
                'self',
                Load(),
                lineno=86,
                col_offset=15,
                end_lineno=86,
                end_col_offset=19),
              'root',
              Load(),
              lineno=86,
              col_offset=15,
              end_lineno=86,
              end_col_offset=24),
            lineno=86,
            col_offset=8,
            end_lineno=86,
            end_col_offset=24)],
        [],
        lineno=85,
        col_offset=4,
        end_lineno=86,
        end_col_offset=24),
      FunctionDef(
        'sorted_data',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=88,
              col_offset=20,
              end_lineno=88,
              end_col_offset=24)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Return(
            List(
              [
                Starred(
                  Call(
                    Attribute(
                      Attribute(
                        Name(
                          'self',
                          Load(),
                          lineno=89,
                          col_offset=17,
                          end_lineno=89,
                          end_col_offset=21),
                        'root',
                        Load(),
                        lineno=89,
                        col_offset=17,
                        end_lineno=89,
                        end_col_offset=26),
                      'traverse',
                      Load(),
                      lineno=89,
                      col_offset=17,
                      end_lineno=89,
                      end_col_offset=35),
                    [],
                    [],
                    lineno=89,
                    col_offset=17,
                    end_lineno=89,
                    end_col_offset=37),
                  Load(),
                  lineno=89,
                  col_offset=16,
                  end_lineno=89,
                  end_col_offset=37)],
              Load(),
              lineno=89,
              col_offset=15,
              end_lineno=89,
              end_col_offset=38),
            lineno=89,
            col_offset=8,
            end_lineno=89,
            end_col_offset=38)],
        [],
        lineno=88,
        col_offset=4,
        end_lineno=89,
        end_col_offset=38)],
    [],
    lineno=69,
    col_offset=0,
    end_lineno=89,
    end_col_offset=38)],
[])
## END TREE BEFORE ##

## BEGIN NORMALIZED TREE ##
Module(
[
  ClassDef(
    'placeholder_0',
    [],
    [],
    [
      FunctionDef(
        'placeholder_1',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=53,
              col_offset=17,
              end_lineno=53,
              end_col_offset=21),
            arg(
              'placeholder_2',
              lineno=53,
              col_offset=23,
              end_lineno=53,
              end_col_offset=27),
            arg(
              'placeholder_3',
              lineno=53,
              col_offset=29,
              end_lineno=53,
              end_col_offset=33),
            arg(
              'placeholder_4',
              lineno=53,
              col_offset=40,
              end_lineno=53,
              end_col_offset=45)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[
            Constant(
              None,
              lineno=53,
              col_offset=34,
              end_lineno=53,
              end_col_offset=38),
            Constant(
              None,
              lineno=53,
              col_offset=46,
              end_lineno=53,
              end_col_offset=50)]),
        [
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=54,
                  col_offset=8,
                  end_lineno=54,
                  end_col_offset=12),
                'placeholder_2',
                Store(),
                lineno=54,
                col_offset=8,
                end_lineno=54,
                end_col_offset=17)],
            Name(
              'placeholder_2',
              Load(),
              lineno=54,
              col_offset=20,
              end_lineno=54,
              end_col_offset=24),
            lineno=54,
            col_offset=8,
            end_lineno=54,
            end_col_offset=24),
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=55,
                  col_offset=8,
                  end_lineno=55,
                  end_col_offset=12),
                'placeholder_3',
                Store(),
                lineno=55,
                col_offset=8,
                end_lineno=55,
                end_col_offset=17)],
            Name(
              'placeholder_3',
              Load(),
              lineno=55,
              col_offset=20,
              end_lineno=55,
              end_col_offset=24),
            lineno=55,
            col_offset=8,
            end_lineno=55,
            end_col_offset=24),
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=56,
                  col_offset=8,
                  end_lineno=56,
                  end_col_offset=12),
                'placeholder_4',
                Store(),
                lineno=56,
                col_offset=8,
                end_lineno=56,
                end_col_offset=18)],
            Name(
              'placeholder_4',
              Load(),
              lineno=56,
              col_offset=21,
              end_lineno=56,
              end_col_offset=26),
            lineno=56,
            col_offset=8,
            end_lineno=56,
            end_col_offset=26)],
        [],
        lineno=53,
        col_offset=4,
        end_lineno=56,
        end_col_offset=26),
      FunctionDef(
        'placeholder_5',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=58,
              col_offset=16,
              end_lineno=58,
              end_col_offset=20)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Return(
            JoinedStr(
              [
                Constant(
                  'TreeNode(data=',
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                FormattedValue(
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=59,
                      col_offset=32,
                      end_lineno=59,
                      end_col_offset=36),
                    'placeholder_2',
                    Load(),
                    lineno=59,
                    col_offset=32,
                    end_lineno=59,
                    end_col_offset=41),
                  -1,
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                Constant(
                  ', left=',
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                FormattedValue(
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=59,
                      col_offset=50,
                      end_lineno=59,
                      end_col_offset=54),
                    'placeholder_3',
                    Load(),
                    lineno=59,
                    col_offset=50,
                    end_lineno=59,
                    end_col_offset=59),
                  -1,
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                Constant(
                  ', right=',
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                FormattedValue(
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=59,
                      col_offset=69,
                      end_lineno=59,
                      end_col_offset=73),
                    'placeholder_4',
                    Load(),
                    lineno=59,
                    col_offset=69,
                    end_lineno=59,
                    end_col_offset=79),
                  -1,
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82),
                Constant(
                  ')',
                  lineno=59,
                  col_offset=15,
                  end_lineno=59,
                  end_col_offset=82)],
              lineno=59,
              col_offset=15,
              end_lineno=59,
              end_col_offset=82),
            lineno=59,
            col_offset=8,
            end_lineno=59,
            end_col_offset=82)],
        [],
        lineno=58,
        col_offset=4,
        end_lineno=59,
        end_col_offset=82),
      FunctionDef(
        'placeholder_6',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=61,
              col_offset=17,
              end_lineno=61,
              end_col_offset=21)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          If(
            Compare(
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=62,
                  col_offset=11,
                  end_lineno=62,
                  end_col_offset=15),
                'placeholder_3',
                Load(),
                lineno=62,
                col_offset=11,
                end_lineno=62,
                end_col_offset=20),
              [
                IsNot()],
              [
                Constant(
                  None,
                  lineno=62,
                  col_offset=28,
                  end_lineno=62,
                  end_col_offset=32)],
              lineno=62,
              col_offset=11,
              end_lineno=62,
              end_col_offset=32),
            [
              Expr(
                YieldFrom(
                  Call(
                    Attribute(
                      Attribute(
                        Name(
                          'self',
                          Load(),
                          lineno=63,
                          col_offset=23,
                          end_lineno=63,
                          end_col_offset=27),
                        'placeholder_3',
                        Load(),
                        lineno=63,
                        col_offset=23,
                        end_lineno=63,
                        end_col_offset=32),
                      'placeholder_6',
                      Load(),
                      lineno=63,
                      col_offset=23,
                      end_lineno=63,
                      end_col_offset=41),
                    [],
                    [],
                    lineno=63,
                    col_offset=23,
                    end_lineno=63,
                    end_col_offset=43),
                  lineno=63,
                  col_offset=12,
                  end_lineno=63,
                  end_col_offset=43),
                lineno=63,
                col_offset=12,
                end_lineno=63,
                end_col_offset=43)],
            [],
            lineno=62,
            col_offset=8,
            end_lineno=63,
            end_col_offset=43),
          Expr(
            Yield(
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=64,
                  col_offset=14,
                  end_lineno=64,
                  end_col_offset=18),
                'placeholder_2',
                Load(),
                lineno=64,
                col_offset=14,
                end_lineno=64,
                end_col_offset=23),
              lineno=64,
              col_offset=8,
              end_lineno=64,
              end_col_offset=23),
            lineno=64,
            col_offset=8,
            end_lineno=64,
            end_col_offset=23),
          If(
            Compare(
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=65,
                  col_offset=11,
                  end_lineno=65,
                  end_col_offset=15),
                'placeholder_4',
                Load(),
                lineno=65,
                col_offset=11,
                end_lineno=65,
                end_col_offset=21),
              [
                IsNot()],
              [
                Constant(
                  None,
                  lineno=65,
                  col_offset=29,
                  end_lineno=65,
                  end_col_offset=33)],
              lineno=65,
              col_offset=11,
              end_lineno=65,
              end_col_offset=33),
            [
              Expr(
                YieldFrom(
                  Call(
                    Attribute(
                      Attribute(
                        Name(
                          'self',
                          Load(),
                          lineno=66,
                          col_offset=23,
                          end_lineno=66,
                          end_col_offset=27),
                        'placeholder_4',
                        Load(),
                        lineno=66,
                        col_offset=23,
                        end_lineno=66,
                        end_col_offset=33),
                      'placeholder_6',
                      Load(),
                      lineno=66,
                      col_offset=23,
                      end_lineno=66,
                      end_col_offset=42),
                    [],
                    [],
                    lineno=66,
                    col_offset=23,
                    end_lineno=66,
                    end_col_offset=44),
                  lineno=66,
                  col_offset=12,
                  end_lineno=66,
                  end_col_offset=44),
                lineno=66,
                col_offset=12,
                end_lineno=66,
                end_col_offset=44)],
            [],
            lineno=65,
            col_offset=8,
            end_lineno=66,
            end_col_offset=44)],
        [],
        lineno=61,
        col_offset=4,
        end_lineno=66,
        end_col_offset=44)],
    [],
    lineno=51,
    col_offset=0,
    end_lineno=66,
    end_col_offset=44),
  ClassDef(
    'placeholder_7',
    [],
    [],
    [
      FunctionDef(
        'placeholder_1',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=71,
              col_offset=17,
              end_lineno=71,
              end_col_offset=21),
            arg(
              'placeholder_8',
              lineno=71,
              col_offset=23,
              end_lineno=71,
              end_col_offset=32)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Assign(
            [
              Attribute(
                Name(
                  'self',
                  Load(),
                  lineno=72,
                  col_offset=8,
                  end_lineno=72,
                  end_col_offset=12),
                'placeholder_9',
                Store(),
                lineno=72,
                col_offset=8,
                end_lineno=72,
                end_col_offset=17)],
            Call(
              Name(
                'placeholder_0',
                Load(),
                lineno=72,
                col_offset=20,
                end_lineno=72,
                end_col_offset=28),
              [
                Subscript(
                  Name(
                    'placeholder_8',
                    Load(),
                    lineno=72,
                    col_offset=29,
                    end_lineno=72,
                    end_col_offset=38),
                  Constant(
                    0,
                    lineno=72,
                    col_offset=39,
                    end_lineno=72,
                    end_col_offset=40),
                  Load(),
                  lineno=72,
                  col_offset=29,
                  end_lineno=72,
                  end_col_offset=41)],
              [],
              lineno=72,
              col_offset=20,
              end_lineno=72,
              end_col_offset=42),
            lineno=72,
            col_offset=8,
            end_lineno=72,
            end_col_offset=42),
          For(
            Name(
              'placeholder_2',
              Store(),
              lineno=73,
              col_offset=12,
              end_lineno=73,
              end_col_offset=16),
            Subscript(
              Name(
                'placeholder_8',
                Load(),
                lineno=73,
                col_offset=20,
                end_lineno=73,
                end_col_offset=29),
              Slice(
                Constant(
                  1,
                  lineno=73,
                  col_offset=30,
                  end_lineno=73,
                  end_col_offset=31),
                lineno=73,
                col_offset=30,
                end_lineno=73,
                end_col_offset=32),
              Load(),
              lineno=73,
              col_offset=20,
              end_lineno=73,
              end_col_offset=33),
            [
              Expr(
                Call(
                  Attribute(
                    Name(
                      'self',
                      Load(),
                      lineno=74,
                      col_offset=12,
                      end_lineno=74,
                      end_col_offset=16),
                    'add_data',
                    Load(),
                    lineno=74,
                    col_offset=12,
                    end_lineno=74,
                    end_col_offset=25),
                  [
                    Name(
                      'placeholder_2',
                      Load(),
                      lineno=74,
                      col_offset=26,
                      end_lineno=74,
                      end_col_offset=30)],
                  [],
                  lineno=74,
                  col_offset=12,
                  end_lineno=74,
                  end_col_offset=31),
                lineno=74,
                col_offset=12,
                end_lineno=74,
                end_col_offset=31)],
            [],
            lineno=73,
            col_offset=8,
            end_lineno=74,
            end_col_offset=31)],
        [],
        lineno=71,
        col_offset=4,
        end_lineno=74,
        end_col_offset=31),
      FunctionDef(
        'placeholder_10',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=76,
              col_offset=17,
              end_lineno=76,
              end_col_offset=21),
            arg(
              'placeholder_2',
              lineno=76,
              col_offset=23,
              end_lineno=76,
              end_col_offset=27)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Assign(
            [
              Name(
                'placeholder_11',
                Store(),
                lineno=77,
                col_offset=8,
                end_lineno=77,
                end_col_offset=12)],
            Attribute(
              Name(
                'self',
                Load(),
                lineno=77,
                col_offset=15,
                end_lineno=77,
                end_col_offset=19),
              'placeholder_9',
              Load(),
              lineno=77,
              col_offset=15,
              end_lineno=77,
              end_col_offset=24),
            lineno=77,
            col_offset=8,
            end_lineno=77,
            end_col_offset=24),
          While(
            Constant(
              True,
              lineno=78,
              col_offset=14,
              end_lineno=78,
              end_col_offset=18),
            [
              Assign(
                [
                  Name(
                    'placeholder_12',
                    Store(),
                    lineno=79,
                    col_offset=12,
                    end_lineno=79,
                    end_col_offset=16)],
                IfExp(
                  Compare(
                    Attribute(
                      Name(
                        'placeholder_11',
                        Load(),
                        lineno=79,
                        col_offset=30,
                        end_lineno=79,
                        end_col_offset=34),
                      'placeholder_2',
                      Load(),
                      lineno=79,
                      col_offset=30,
                      end_lineno=79,
                      end_col_offset=39),
                    [
                      Lt()],
                    [
                      Name(
                        'placeholder_2',
                        Load(),
                        lineno=79,
                        col_offset=42,
                        end_lineno=79,
                        end_col_offset=46)],
                    lineno=79,
                    col_offset=30,
                    end_lineno=79,
                    end_col_offset=46),
                  Constant(
                    'right',
                    lineno=79,
                    col_offset=19,
                    end_lineno=79,
                    end_col_offset=26),
                  Constant(
                    'left',
                    lineno=79,
                    col_offset=52,
                    end_lineno=79,
                    end_col_offset=58),
                  lineno=79,
                  col_offset=19,
                  end_lineno=79,
                  end_col_offset=58),
                lineno=79,
                col_offset=12,
                end_lineno=79,
                end_col_offset=58),
              If(
                Compare(
                  NamedExpr(
                    Name(
                      'placeholder_13',
                      Store(),
                      lineno=80,
                      col_offset=16,
                      end_lineno=80,
                      end_col_offset=25),
                    Call(
                      Name(
                        'getattr',
                        Load(),
                        lineno=80,
                        col_offset=29,
                        end_lineno=80,
                        end_col_offset=36),
                      [
                        Name(
                          'placeholder_11',
                          Load(),
                          lineno=80,
                          col_offset=37,
                          end_lineno=80,
                          end_col_offset=41),
                        Name(
                          'placeholder_12',
                          Load(),
                          lineno=80,
                          col_offset=43,
                          end_lineno=80,
                          end_col_offset=47)],
                      [],
                      lineno=80,
                      col_offset=29,
                      end_lineno=80,
                      end_col_offset=48),
                    lineno=80,
                    col_offset=16,
                    end_lineno=80,
                    end_col_offset=48),
                  [
                    Is()],
                  [
                    Constant(
                      None,
                      lineno=80,
                      col_offset=53,
                      end_lineno=80,
                      end_col_offset=57)],
                  lineno=80,
                  col_offset=15,
                  end_lineno=80,
                  end_col_offset=57),
                [
                  Expr(
                    Call(
                      Name(
                        'setattr',
                        Load(),
                        lineno=81,
                        col_offset=16,
                        end_lineno=81,
                        end_col_offset=23),
                      [
                        Name(
                          'placeholder_11',
                          Load(),
                          lineno=81,
                          col_offset=24,
                          end_lineno=81,
                          end_col_offset=28),
                        Name(
                          'placeholder_12',
                          Load(),
                          lineno=81,
                          col_offset=30,
                          end_lineno=81,
                          end_col_offset=34),
                        Call(
                          Name(
                            'placeholder_0',
                            Load(),
                            lineno=81,
                            col_offset=36,
                            end_lineno=81,
                            end_col_offset=44),
                          [
                            Name(
                              'placeholder_2',
                              Load(),
                              lineno=81,
                              col_offset=45,
                              end_lineno=81,
                              end_col_offset=49)],
                          [],
                          lineno=81,
                          col_offset=36,
                          end_lineno=81,
                          end_col_offset=50)],
                      [],
                      lineno=81,
                      col_offset=16,
                      end_lineno=81,
                      end_col_offset=51),
                    lineno=81,
                    col_offset=16,
                    end_lineno=81,
                    end_col_offset=51),
                  Return(
                    lineno=82,
                    col_offset=16,
                    end_lineno=82,
                    end_col_offset=22)],
                [],
                lineno=80,
                col_offset=12,
                end_lineno=82,
                end_col_offset=22),
              Assign(
                [
                  Name(
                    'placeholder_11',
                    Store(),
                    lineno=83,
                    col_offset=12,
                    end_lineno=83,
                    end_col_offset=16)],
                Name(
                  'placeholder_13',
                  Load(),
                  lineno=83,
                  col_offset=19,
                  end_lineno=83,
                  end_col_offset=28),
                lineno=83,
                col_offset=12,
                end_lineno=83,
                end_col_offset=28)],
            [],
            lineno=78,
            col_offset=8,
            end_lineno=83,
            end_col_offset=28)],
        [],
        lineno=76,
        col_offset=4,
        end_lineno=83,
        end_col_offset=28),
      FunctionDef(
        'placeholder_2',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=85,
              col_offset=13,
              end_lineno=85,
              end_col_offset=17)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Return(
            Attribute(
              Name(
                'self',
                Load(),
                lineno=86,
                col_offset=15,
                end_lineno=86,
                end_col_offset=19),
              'placeholder_9',
              Load(),
              lineno=86,
              col_offset=15,
              end_lineno=86,
              end_col_offset=24),
            lineno=86,
            col_offset=8,
            end_lineno=86,
            end_col_offset=24)],
        [],
        lineno=85,
        col_offset=4,
        end_lineno=86,
        end_col_offset=24),
      FunctionDef(
        'placeholder_14',
        arguments(
          [],
          [
            arg(
              'self',
              lineno=88,
              col_offset=20,
              end_lineno=88,
              end_col_offset=24)],
          kwonlyargs=[],
          kw_defaults=[],
          defaults=[]),
        [
          Return(
            List(
              [
                Starred(
                  Call(
                    Attribute(
                      Attribute(
                        Name(
                          'self',
                          Load(),
                          lineno=89,
                          col_offset=17,
                          end_lineno=89,
                          end_col_offset=21),
                        'placeholder_9',
                        Load(),
                        lineno=89,
                        col_offset=17,
                        end_lineno=89,
                        end_col_offset=26),
                      'placeholder_6',
                      Load(),
                      lineno=89,
                      col_offset=17,
                      end_lineno=89,
                      end_col_offset=35),
                    [],
                    [],
                    lineno=89,
                    col_offset=17,
                    end_lineno=89,
                    end_col_offset=37),
                  Load(),
                  lineno=89,
                  col_offset=16,
                  end_lineno=89,
                  end_col_offset=37)],
              Load(),
              lineno=89,
              col_offset=15,
              end_lineno=89,
              end_col_offset=38),
            lineno=89,
            col_offset=8,
            end_lineno=89,
            end_col_offset=38)],
        [],
        lineno=88,
        col_offset=4,
        end_lineno=89,
        end_col_offset=38)],
    [],
    lineno=69,
    col_offset=0,
    end_lineno=89,
    end_col_offset=38)],
[])
## END NORMALIZED TREE ##
 JSON Mapping
{
  "placeholder_0": "TreeNode",
  "placeholder_1": "__init__",
  "placeholder_2": "data",
  "placeholder_3": "left",
  "placeholder_4": "right",
  "placeholder_5": "__str__",
  "placeholder_6": "traverse",
  "placeholder_7": "BinarySearchTree",
  "placeholder_8": "tree_data",
  "placeholder_9": "root",
  "placeholder_10": "add_data",
  "placeholder_11": "node",
  "placeholder_12": "attr",
  "placeholder_13": "next_node",
  "placeholder_14": "sorted_data"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment