{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:26:01",
  "duplicates" : [ {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/kotlin/circlet/cli/confluence/HtmlToMarkdownConverter.kt",
        "extension" : "kt",
        "linesOfCode" : 127,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 41,
      "endLine" : 47,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "src/main/kotlin/circlet/cli/confluence/HtmlToMarkdownConverter.kt",
        "extension" : "kt",
        "linesOfCode" : 127,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 50,
      "endLine" : 56,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/kotlin/circlet/cli/confluence/ConfluenceClient.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 105,
      "endLine" : 112,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "src/main/kotlin/circlet/cli/confluence/ConfluenceClient.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  } ],
  "overallDuplication" : null
}