{
  "title" : "Duplication",
  "timestamp" : "2024-04-03 14:35:20",
  "duplicates" : [ {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1782,
      "endLine" : 1883,
      "cleanedStartLine" : 1466,
      "cleanedEndLine" : 1552
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1280,
      "endLine" : 1381,
      "cleanedStartLine" : 1035,
      "cleanedEndLine" : 1121
    } ]
  }, {
    "blockSize" : 39,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 53,
      "endLine" : 96,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 332,
      "endLine" : 375,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1744,
      "endLine" : 1780,
      "cleanedStartLine" : 1432,
      "cleanedEndLine" : 1464
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1242,
      "endLine" : 1278,
      "cleanedStartLine" : 1001,
      "cleanedEndLine" : 1033
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 64,
      "endLine" : 102,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 67,
      "endLine" : 105,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 17,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 17,
      "endLine" : 57,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 17,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 17,
      "endLine" : 57,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 17,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 17,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1687,
      "endLine" : 1718,
      "cleanedStartLine" : 1388,
      "cleanedEndLine" : 1415
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1162,
      "endLine" : 1193,
      "cleanedStartLine" : 937,
      "cleanedEndLine" : 964
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 40,
      "endLine" : 71,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 41,
      "endLine" : 72,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1638,
      "endLine" : 1670,
      "cleanedStartLine" : 1350,
      "cleanedEndLine" : 1376
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1091,
      "endLine" : 1123,
      "cleanedStartLine" : 879,
      "cleanedEndLine" : 905
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 64,
      "endLine" : 93,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 64,
      "endLine" : 93,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 64,
      "endLine" : 93,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 67,
      "endLine" : 96,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1756,
      "endLine" : 1782,
      "cleanedStartLine" : 1442,
      "cleanedEndLine" : 1466
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1093,
      "endLine" : 1119,
      "cleanedStartLine" : 934,
      "cleanedEndLine" : 958
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1093,
      "endLine" : 1117,
      "cleanedStartLine" : 934,
      "cleanedEndLine" : 956
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1254,
      "endLine" : 1278,
      "cleanedStartLine" : 1011,
      "cleanedEndLine" : 1033
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 24,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 24,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 23,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 90,
      "endLine" : 115,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 85,
      "endLine" : 110,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 21,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 171,
      "endLine" : 194,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 120,
      "endLine" : 143,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 99,
      "endLine" : 120,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 395,
      "endLine" : 416,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 357
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Names.hs",
        "extension" : "hs",
        "linesOfCode" : 507,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 507,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 309,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Pretty.hs",
        "extension" : "hs",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Scope.hs",
        "extension" : "hs",
        "linesOfCode" : 673,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 673,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/TableProps.hs",
        "extension" : "hs",
        "linesOfCode" : 117,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Unused.hs",
        "extension" : "hs",
        "linesOfCode" : 43,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Columns.hs",
        "extension" : "hs",
        "linesOfCode" : 384,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Info.hs",
        "extension" : "hs",
        "linesOfCode" : 307,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 307,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 689,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 689,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 464,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 26,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval.hs",
        "extension" : "hs",
        "linesOfCode" : 324,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/ColumnPlus.hs",
        "extension" : "hs",
        "linesOfCode" : 313,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Query.hs",
        "extension" : "hs",
        "linesOfCode" : 1911,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1911,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Joins.hs",
        "extension" : "hs",
        "linesOfCode" : 303,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Position.hs",
        "extension" : "hs",
        "linesOfCode" : 88,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "compat/Data/Hashable.hs",
        "extension" : "hs",
        "linesOfCode" : 30,
        "components" : [ "primary::compat" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Eval/Concrete.hs",
        "extension" : "hs",
        "linesOfCode" : 180,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/IngestionOptions.hs",
        "extension" : "hs",
        "linesOfCode" : 187,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Tables.hs",
        "extension" : "hs",
        "linesOfCode" : 347,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 347,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Helpers.hs",
        "extension" : "hs",
        "linesOfCode" : 53,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 938,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Type.hs",
        "extension" : "hs",
        "linesOfCode" : 96,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Lineage/Table.hs",
        "extension" : "hs",
        "linesOfCode" : 134,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Setup.hs",
        "extension" : "hs",
        "linesOfCode" : 21,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "bench/Bench.hs",
        "extension" : "hs",
        "linesOfCode" : 35,
        "components" : [ "primary::bench" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 131,
      "endLine" : 150,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 126,
      "endLine" : 145,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 130,
      "endLine" : 147,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 98,
      "endLine" : 115,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1494,
      "endLine" : 1514,
      "cleanedStartLine" : 1241,
      "cleanedEndLine" : 1257
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 973,
      "endLine" : 993,
      "cleanedStartLine" : 786,
      "cleanedEndLine" : 802
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1438,
      "endLine" : 1458,
      "cleanedStartLine" : 1221,
      "cleanedEndLine" : 1237
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 734,
      "endLine" : 753,
      "cleanedStartLine" : 590,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 113,
      "endLine" : 132,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 281,
      "endLine" : 299,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 241
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 416,
      "endLine" : 438,
      "cleanedStartLine" : 318,
      "cleanedEndLine" : 333
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 383,
      "endLine" : 405,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 99,
      "endLine" : 115,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 126,
      "endLine" : 142,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 167,
      "endLine" : 183,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 479,
      "endLine" : 495,
      "cleanedStartLine" : 413,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 2081,
      "endLine" : 2101,
      "cleanedStartLine" : 1704,
      "cleanedEndLine" : 1719
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1559,
      "endLine" : 1579,
      "cleanedStartLine" : 1254,
      "cleanedEndLine" : 1269
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 23,
      "endLine" : 44,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 24,
      "endLine" : 45,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 323,
      "endLine" : 340,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 22,
      "endLine" : 43,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 24,
      "endLine" : 45,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 22,
      "endLine" : 43,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 24,
      "endLine" : 45,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 149,
      "endLine" : 164,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 455,
      "endLine" : 470,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 405
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1194,
      "endLine" : 1207,
      "cleanedStartLine" : 990,
      "cleanedEndLine" : 1003
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 661,
      "endLine" : 674,
      "cleanedStartLine" : 568,
      "cleanedEndLine" : 581
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 767,
      "endLine" : 786,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 565
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 791,
      "endLine" : 810,
      "cleanedStartLine" : 561,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 137,
      "endLine" : 154,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 293,
      "endLine" : 309,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 185,
      "endLine" : 201,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 497,
      "endLine" : 513,
      "cleanedStartLine" : 430,
      "cleanedEndLine" : 443
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 209,
      "endLine" : 224,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 185,
      "endLine" : 200,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1622,
      "endLine" : 1636,
      "cleanedStartLine" : 1335,
      "cleanedEndLine" : 1348
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1070,
      "endLine" : 1084,
      "cleanedStartLine" : 861,
      "cleanedEndLine" : 874
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 589,
      "endLine" : 605,
      "cleanedStartLine" : 503,
      "cleanedEndLine" : 515
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1419,
      "endLine" : 1435,
      "cleanedStartLine" : 1208,
      "cleanedEndLine" : 1220
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 98,
      "endLine" : 113,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 97,
      "endLine" : 111,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 84,
      "endLine" : 96,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 235,
      "endLine" : 247,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 205
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 129,
      "endLine" : 144,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 120,
      "endLine" : 135,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 171,
      "endLine" : 186,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 129,
      "endLine" : 144,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 65,
      "endLine" : 77,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 216,
      "endLine" : 228,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 287,
      "endLine" : 303,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 103,
      "endLine" : 119,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 30,
      "endLine" : 43,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 29,
      "endLine" : 44,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 134,
      "endLine" : 148,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 76,
      "endLine" : 90,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 281,
      "endLine" : 297,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 239
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 251,
      "endLine" : 267,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 212
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1303,
      "endLine" : 1315,
      "cleanedStartLine" : 1078,
      "cleanedEndLine" : 1088
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 931,
      "endLine" : 943,
      "cleanedStartLine" : 749,
      "cleanedEndLine" : 759
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 26,
      "endLine" : 41,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Internal.hs",
        "extension" : "hs",
        "linesOfCode" : 33,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 26,
      "endLine" : 40,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 600,
      "endLine" : 614,
      "cleanedStartLine" : 511,
      "cleanedEndLine" : 521
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 235,
      "endLine" : 249,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 520,
      "endLine" : 531,
      "cleanedStartLine" : 444,
      "cleanedEndLine" : 454
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1493,
      "endLine" : 1504,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1272
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 2289,
      "endLine" : 2302,
      "cleanedStartLine" : 1869,
      "cleanedEndLine" : 1879
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1798,
      "endLine" : 1811,
      "cleanedStartLine" : 1440,
      "cleanedEndLine" : 1450
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 890,
      "endLine" : 903,
      "cleanedStartLine" : 634,
      "cleanedEndLine" : 643
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 947,
      "endLine" : 960,
      "cleanedStartLine" : 667,
      "cleanedEndLine" : 676
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 67,
      "endLine" : 77,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 88,
      "endLine" : 98,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 2130,
      "endLine" : 2147,
      "cleanedStartLine" : 1743,
      "cleanedEndLine" : 1752
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1683,
      "endLine" : 1700,
      "cleanedStartLine" : 1355,
      "cleanedEndLine" : 1364
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 2313,
      "endLine" : 2323,
      "cleanedStartLine" : 1887,
      "cleanedEndLine" : 1896
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 92,
      "endLine" : 102,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 62,
      "endLine" : 72,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 59,
      "endLine" : 69,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 332,
      "endLine" : 345,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 345,
      "endLine" : 358,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 99,
      "endLine" : 108,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 99,
      "endLine" : 108,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 70,
      "endLine" : 80,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 88,
      "endLine" : 98,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 61,
      "endLine" : 71,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 59,
      "endLine" : 69,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 67,
      "endLine" : 77,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 88,
      "endLine" : 98,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 549,
      "endLine" : 559,
      "cleanedStartLine" : 469,
      "cleanedEndLine" : 478
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1515,
      "endLine" : 1525,
      "cleanedStartLine" : 1280,
      "cleanedEndLine" : 1289
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 539,
      "endLine" : 552,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 409
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 444,
      "endLine" : 457,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 82,
      "endLine" : 91,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 99,
      "endLine" : 108,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 294,
      "endLine" : 304,
      "cleanedStartLine" : 255,
      "cleanedEndLine" : 264
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 622,
      "endLine" : 632,
      "cleanedStartLine" : 545,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1174,
      "endLine" : 1184,
      "cleanedStartLine" : 974,
      "cleanedEndLine" : 983
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1472,
      "endLine" : 1483,
      "cleanedStartLine" : 1247,
      "cleanedEndLine" : 1256
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 977,
      "endLine" : 988,
      "cleanedStartLine" : 836,
      "cleanedEndLine" : 844
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1091,
      "endLine" : 1102,
      "cleanedStartLine" : 879,
      "cleanedEndLine" : 887
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1925,
      "endLine" : 1934,
      "cleanedStartLine" : 1588,
      "cleanedEndLine" : 1596
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 922,
      "endLine" : 931,
      "cleanedStartLine" : 788,
      "cleanedEndLine" : 796
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 47,
      "endLine" : 57,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 963,
      "endLine" : 972,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 831
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1072,
      "endLine" : 1081,
      "cleanedStartLine" : 863,
      "cleanedEndLine" : 871
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 244,
      "endLine" : 252,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1624,
      "endLine" : 1633,
      "cleanedStartLine" : 1337,
      "cleanedEndLine" : 1345
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 963,
      "endLine" : 972,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 831
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1891,
      "endLine" : 1900,
      "cleanedStartLine" : 1559,
      "cleanedEndLine" : 1567
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1388,
      "endLine" : 1397,
      "cleanedStartLine" : 1127,
      "cleanedEndLine" : 1135
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1638,
      "endLine" : 1649,
      "cleanedStartLine" : 1350,
      "cleanedEndLine" : 1358
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 977,
      "endLine" : 988,
      "cleanedStartLine" : 836,
      "cleanedEndLine" : 844
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 46,
      "endLine" : 56,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 60,
      "endLine" : 70,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 55,
      "endLine" : 65,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 46,
      "endLine" : 56,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 72,
      "endLine" : 82,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 99,
      "endLine" : 106,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 101,
      "endLine" : 111,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 70,
      "endLine" : 79,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 335,
      "endLine" : 345,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 308,
      "endLine" : 318,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 246
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 151,
      "endLine" : 158,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 188,
      "endLine" : 195,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1518,
      "endLine" : 1526,
      "cleanedStartLine" : 1259,
      "cleanedEndLine" : 1266
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 203,
      "endLine" : 211,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 383,
      "endLine" : 391,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 336
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 155,
      "endLine" : 162,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 147,
      "endLine" : 154,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 103,
      "endLine" : 113,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 257,
      "endLine" : 267,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 212
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 348,
      "endLine" : 358,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 308,
      "endLine" : 318,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 246
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 671,
      "endLine" : 681,
      "cleanedStartLine" : 488,
      "cleanedEndLine" : 495
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 689,
      "endLine" : 699,
      "cleanedStartLine" : 493,
      "cleanedEndLine" : 500
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 887,
      "endLine" : 897,
      "cleanedStartLine" : 632,
      "cleanedEndLine" : 639
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 624,
      "endLine" : 634,
      "cleanedStartLine" : 464,
      "cleanedEndLine" : 471
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 393,
      "endLine" : 403,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 434,
      "endLine" : 444,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 721,
      "endLine" : 730,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 611
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 390,
      "endLine" : 398,
      "cleanedStartLine" : 330,
      "cleanedEndLine" : 337
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 574,
      "endLine" : 581,
      "cleanedStartLine" : 499,
      "cleanedEndLine" : 506
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 591,
      "endLine" : 598,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 523
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 120,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 35,
      "endLine" : 43,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 135,
      "endLine" : 144,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Type/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 558,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 437,
      "endLine" : 446,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 148,
      "endLine" : 157,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 146,
      "endLine" : 155,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1486,
      "endLine" : 1494,
      "cleanedStartLine" : 1257,
      "cleanedEndLine" : 1263
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 179,
      "endLine" : 187,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 333,
      "endLine" : 340,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 157,
      "endLine" : 164,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1388,
      "endLine" : 1394,
      "cleanedStartLine" : 1151,
      "cleanedEndLine" : 1157
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1403,
      "endLine" : 1409,
      "cleanedStartLine" : 1196,
      "cleanedEndLine" : 1202
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 226,
      "endLine" : 233,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 202,
      "endLine" : 209,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1545,
      "endLine" : 1551,
      "cleanedStartLine" : 1279,
      "cleanedEndLine" : 1285
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1215,
      "endLine" : 1221,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1043
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 2071,
      "endLine" : 2079,
      "cleanedStartLine" : 1696,
      "cleanedEndLine" : 1702
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1549,
      "endLine" : 1557,
      "cleanedStartLine" : 1246,
      "cleanedEndLine" : 1252
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1419,
      "endLine" : 1427,
      "cleanedStartLine" : 1208,
      "cleanedEndLine" : 1214
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 293,
      "endLine" : 301,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 135,
      "endLine" : 144,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 135,
      "endLine" : 144,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 283,
      "endLine" : 291,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 113,
      "endLine" : 122,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 115,
      "endLine" : 124,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 113,
      "endLine" : 122,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 23,
      "endLine" : 30,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 23,
      "endLine" : 30,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 159,
      "endLine" : 166,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 157,
      "endLine" : 164,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1734,
      "endLine" : 1743,
      "cleanedStartLine" : 1425,
      "cleanedEndLine" : 1431
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1231,
      "endLine" : 1240,
      "cleanedStartLine" : 993,
      "cleanedEndLine" : 999
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 589,
      "endLine" : 597,
      "cleanedStartLine" : 503,
      "cleanedEndLine" : 509
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 126,
      "endLine" : 135,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 124,
      "endLine" : 133,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 272,
      "endLine" : 280,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 483,
      "endLine" : 490,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 2190,
      "endLine" : 2196,
      "cleanedStartLine" : 1750,
      "cleanedEndLine" : 1756
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 110,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 96,
      "endLine" : 102,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 106,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 323,
      "endLine" : 331,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 146,
      "endLine" : 155,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 198,
      "endLine" : 205,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 77,
      "endLine" : 84,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 617,
      "endLine" : 624,
      "cleanedStartLine" : 452,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 620,
      "endLine" : 627,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 564,
      "endLine" : 571,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 803,
      "endLine" : 810,
      "cleanedStartLine" : 569,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 134,
      "endLine" : 140,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 82,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 303,
      "endLine" : 309,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 323,
      "endLine" : 329,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 265
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 303,
      "endLine" : 309,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 2252,
      "endLine" : 2259,
      "cleanedStartLine" : 1839,
      "cleanedEndLine" : 1844
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1757,
      "endLine" : 1764,
      "cleanedStartLine" : 1406,
      "cleanedEndLine" : 1411
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 575,
      "endLine" : 582,
      "cleanedStartLine" : 424,
      "cleanedEndLine" : 429
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 578,
      "endLine" : 585,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 424
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 265,
      "endLine" : 270,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1210,
      "endLine" : 1215,
      "cleanedStartLine" : 1004,
      "cleanedEndLine" : 1009
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 298,
      "endLine" : 303,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 293,
      "endLine" : 299,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 241
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 124,
      "endLine" : 130,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 465,
      "endLine" : 472,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 362
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 569,
      "endLine" : 576,
      "cleanedStartLine" : 413,
      "cleanedEndLine" : 418
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 613,
      "endLine" : 619,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 532
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 973,
      "endLine" : 979,
      "cleanedStartLine" : 786,
      "cleanedEndLine" : 791
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 127,
      "endLine" : 132,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 147,
      "endLine" : 152,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 494,
      "endLine" : 501,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 375
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 479,
      "endLine" : 486,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 515,
      "endLine" : 522,
      "cleanedStartLine" : 384,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 429,
      "endLine" : 436,
      "cleanedStartLine" : 333,
      "cleanedEndLine" : 338
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 126,
      "endLine" : 132,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 2153,
      "endLine" : 2162,
      "cleanedStartLine" : 1756,
      "cleanedEndLine" : 1761
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 1706,
      "endLine" : 1715,
      "cleanedStartLine" : 1368,
      "cleanedEndLine" : 1373
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 602,
      "endLine" : 609,
      "cleanedStartLine" : 442,
      "cleanedEndLine" : 447
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 486,
      "endLine" : 493,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/queryparser-vertica.cabal",
        "extension" : "cabal",
        "linesOfCode" : 82,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 257
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 146,
      "endLine" : 152,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1280,
      "endLine" : 1286,
      "cleanedStartLine" : 1059,
      "cleanedEndLine" : 1064
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 877,
      "endLine" : 883,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 713
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 779,
      "endLine" : 786,
      "cleanedStartLine" : 560,
      "cleanedEndLine" : 565
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 564,
      "endLine" : 571,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 109,
      "endLine" : 114,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 65,
      "endLine" : 70,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1466,
      "endLine" : 1472,
      "cleanedStartLine" : 1218,
      "cleanedEndLine" : 1223
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Shared.hs",
        "extension" : "hs",
        "linesOfCode" : 149,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 125,
      "endLine" : 131,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 200,
      "endLine" : 207,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 176,
      "endLine" : 183,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 548,
      "endLine" : 555,
      "cleanedStartLine" : 406,
      "cleanedEndLine" : 411
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 545,
      "endLine" : 552,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 124,
      "endLine" : 130,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 40,
      "endLine" : 47,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 273,
      "endLine" : 279,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 148,
      "endLine" : 154,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 764,
      "endLine" : 771,
      "cleanedStartLine" : 550,
      "cleanedEndLine" : 555
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 555,
      "endLine" : 562,
      "cleanedStartLine" : 417,
      "cleanedEndLine" : 422
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 138,
      "endLine" : 144,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 283,
      "endLine" : 289,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 164,
      "endLine" : 169,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "src/Database/Sql/Util/Schema.hs",
        "extension" : "hs",
        "linesOfCode" : 279,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 279,
      "startLine" : 184,
      "endLine" : 189,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 762,
      "endLine" : 768,
      "cleanedStartLine" : 633,
      "cleanedEndLine" : 638
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 385,
      "endLine" : 391,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 635,
      "endLine" : 642,
      "cleanedStartLine" : 464,
      "cleanedEndLine" : 469
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 650,
      "endLine" : 657,
      "cleanedStartLine" : 467,
      "cleanedEndLine" : 472
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/queryparser-presto.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 627,
      "endLine" : 634,
      "cleanedStartLine" : 466,
      "cleanedEndLine" : 471
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 947,
      "endLine" : 954,
      "cleanedStartLine" : 667,
      "cleanedEndLine" : 672
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1273,
      "endLine" : 1279,
      "cleanedStartLine" : 1053,
      "cleanedEndLine" : 1058
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 869,
      "endLine" : 875,
      "cleanedStartLine" : 701,
      "cleanedEndLine" : 706
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 695,
      "endLine" : 702,
      "cleanedStartLine" : 504,
      "cleanedEndLine" : 509
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 704,
      "endLine" : 711,
      "cleanedStartLine" : 503,
      "cleanedEndLine" : 508
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1396,
      "endLine" : 1401,
      "cleanedStartLine" : 1158,
      "cleanedEndLine" : 1163
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 1366,
      "endLine" : 1371,
      "cleanedStartLine" : 1163,
      "cleanedEndLine" : 1168
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 124,
      "endLine" : 130,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 122,
      "endLine" : 127,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 165,
      "endLine" : 170,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 503,
      "endLine" : 510,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 381
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 491,
      "endLine" : 498,
      "cleanedStartLine" : 361,
      "cleanedEndLine" : 366
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1494,
      "endLine" : 1500,
      "cleanedStartLine" : 1241,
      "cleanedEndLine" : 1246
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1309,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1309,
      "startLine" : 613,
      "endLine" : 619,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 532
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 410,
      "endLine" : 417,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 375,
      "endLine" : 382,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/queryparser-hive.cabal",
        "extension" : "cabal",
        "linesOfCode" : 80,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "queryparser.cabal",
        "extension" : "cabal",
        "linesOfCode" : 117,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1186,
      "endLine" : 1191,
      "cleanedStartLine" : 984,
      "cleanedEndLine" : 989
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 846,
      "endLine" : 851,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 688
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 305,
      "endLine" : 312,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 269,
      "endLine" : 276,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 218
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 536,
      "endLine" : 543,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 403
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 533,
      "endLine" : 540,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 394
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 1339,
      "endLine" : 1346,
      "cleanedStartLine" : 1111,
      "cleanedEndLine" : 1116
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1881,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1881,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 780,
      "cleanedEndLine" : 785
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 53,
      "endLine" : 59,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 273,
      "endLine" : 279,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 225
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 283,
      "endLine" : 289,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 257
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 323,
      "endLine" : 329,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 265
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 303,
      "endLine" : 309,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 146,
      "endLine" : 152,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 867,
      "endLine" : 872,
      "cleanedStartLine" : 714,
      "cleanedEndLine" : 719
    }, {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser.hs",
        "extension" : "hs",
        "linesOfCode" : 1897,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1897,
      "startLine" : 920,
      "endLine" : 925,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 655,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 655,
      "startLine" : 126,
      "endLine" : 132,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 473,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 273,
      "endLine" : 279,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 225
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Parser/Token.hs",
        "extension" : "hs",
        "linesOfCode" : 711,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 113,
      "endLine" : 119,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 98,
      "endLine" : 104,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "dialects/presto/src/Database/Sql/Presto/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 217,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 249,
      "endLine" : 255,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 212
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "dialects/hive/src/Database/Sql/Hive/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 270,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 109,
      "endLine" : 114,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "dialects/vertica/src/Database/Sql/Vertica/Scanner.hs",
        "extension" : "hs",
        "linesOfCode" : 222,
        "components" : [ "primary::dialects" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  } ],
  "overallDuplication" : null
}