{
  "title" : "Duplication",
  "timestamp" : "2024-04-03 14:35:27",
  "duplicates" : [ {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 24,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 24,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_parser.mly",
        "extension" : "mly",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_parser.mly",
        "extension" : "mly",
        "linesOfCode" : 200,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/main.ml",
        "extension" : "ml",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/swiftlint.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/config.ml",
        "extension" : "ml",
        "linesOfCode" : 116,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/compact_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/provider/prabsyn.ml",
        "extension" : "ml",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/fs.ml",
        "extension" : "ml",
        "linesOfCode" : 87,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_absyn.ml",
        "extension" : "ml",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/compact/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/python.ml",
        "extension" : "ml",
        "linesOfCode" : 65,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/builtin_functions.ml",
        "extension" : "ml",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/loc.ml",
        "extension" : "ml",
        "linesOfCode" : 89,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/matcher.mli",
        "extension" : "mli",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.ml",
        "extension" : "ml",
        "linesOfCode" : 136,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/swift/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/parser.ml",
        "extension" : "ml",
        "linesOfCode" : 2882,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2882,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_printer.ml",
        "extension" : "ml",
        "linesOfCode" : 104,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/cli_reporter.ml",
        "extension" : "ml",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/rule/rule_loader.mli",
        "extension" : "mli",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/evaluator.mli",
        "extension" : "mli",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/resolver.ml",
        "extension" : "ml",
        "linesOfCode" : 102,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/driver.ml",
        "extension" : "ml",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/loader.ml",
        "extension" : "ml",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/skip.ml",
        "extension" : "ml",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/rule/rule_tester.ml",
        "extension" : "ml",
        "linesOfCode" : 160,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/directives/directive.ml",
        "extension" : "ml",
        "linesOfCode" : 67,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/directives/skip_lexer.mll",
        "extension" : "mll",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/driver/utils.ml",
        "extension" : "ml",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/stats.ml",
        "extension" : "ml",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/reporters/cli/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/main.ml",
        "extension" : "ml",
        "linesOfCode" : 124,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/providers/python/myocamlbuild.ml",
        "extension" : "ml",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/parsing/combinators.ml",
        "extension" : "ml",
        "linesOfCode" : 273,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/matcher.ml",
        "extension" : "ml",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/providers/swift/swift_provider.ml",
        "extension" : "ml",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/core/driver/pipeline.ml",
        "extension" : "ml",
        "linesOfCode" : 129,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/core/neal.ml",
        "extension" : "ml",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  } ],
  "overallDuplication" : null
}