{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:13:45",
  "duplicates" : [ {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/kotlin/org/jetbrains/changelog/tasks/GetChangelogTask.kt",
        "extension" : "kt",
        "linesOfCode" : 84,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 96,
      "endLine" : 107,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "src/main/kotlin/org/jetbrains/changelog/tasks/PatchChangelogTask.kt",
        "extension" : "kt",
        "linesOfCode" : 92,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 72,
      "endLine" : 83,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/kotlin/org/jetbrains/changelog/Changelog.kt",
        "extension" : "kt",
        "linesOfCode" : 415,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 452,
      "endLine" : 458,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 311
    }, {
      "file" : {
        "relativePath" : "src/main/kotlin/org/jetbrains/changelog/Changelog.kt",
        "extension" : "kt",
        "linesOfCode" : 415,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 470,
      "endLine" : 476,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    } ]
  } ],
  "overallDuplication" : null
}