{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:06:02",
  "duplicates" : [ {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/kotlin/jsitter/impl/TSZipper.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 66,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "src/main/kotlin/jsitter/impl/TSZipper.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 97,
      "endLine" : 105,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/kotlin/jsitter/impl/TSZipper.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "src/main/kotlin/jsitter/impl/TSZipper.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 87,
      "endLine" : 95,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/kotlin/jsitter/api/ReducingZipper.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 37,
      "endLine" : 44,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "src/main/kotlin/jsitter/api/ReducingZipper.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    } ]
  } ],
  "overallDuplication" : null
}