{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:24:50",
  "duplicates" : [ {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackMessageType.kt",
        "extension" : "kt",
        "linesOfCode" : 215,
        "components" : [ "primary::space-slack-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 27,
      "endLine" : 37,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackMessageType.kt",
        "extension" : "kt",
        "linesOfCode" : 215,
        "components" : [ "primary::space-slack-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/MessagesStorageImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 75,
        "components" : [ "primary::space-slack-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 16,
      "endLine" : 23,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/MessagesStorageImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 75,
        "components" : [ "primary::space-slack-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpaceMessageParsing.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::space-slack-sync" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 162,
      "endLine" : 167,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpaceMessageParsing.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::space-slack-sync" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 178,
      "endLine" : 183,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::space-slack-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 124,
        "components" : [ "primary::space-slack-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  } ],
  "overallDuplication" : null
}