{
  "title" : "Duplication",
  "timestamp" : "2026-04-18 12:56:36",
  "duplicates" : [ {
    "blockSize" : 235,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 17,
      "endLine" : 321,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 17,
      "endLine" : 321,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 218,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 17,
      "endLine" : 306,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 17,
      "endLine" : 306,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 218
    } ]
  }, {
    "blockSize" : 159,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 17,
      "endLine" : 233,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 17,
      "endLine" : 233,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 132,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 17,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 17,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 127,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 155,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 17,
      "endLine" : 187,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 155,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 17,
      "endLine" : 187,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 97,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/KotlinArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 125,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 17,
      "endLine" : 161,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/KotlinArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 125,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 17,
      "endLine" : 161,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 67,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/ArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 17,
      "endLine" : 111,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/ArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 17,
      "endLine" : 111,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinCheckableTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 66,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 17,
      "endLine" : 83,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinCheckableTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 66,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 17,
      "endLine" : 83,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 52,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaCheckableTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 65,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 17,
      "endLine" : 82,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaCheckableTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 65,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 17,
      "endLine" : 82,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 64,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 17,
      "endLine" : 86,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 64,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 17,
      "endLine" : 86,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 48,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/alias/AliasTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 52,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 3,
      "endLine" : 55,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/alias/AliasTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 52,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 3,
      "endLine" : 55,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 17,
      "endLine" : 80,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 17,
      "endLine" : 80,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist/src/main/kotlin/com/uber/artist/ArtistPlugin.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::artist" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 18,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist/src/main/kotlin/com/uber/artist/ArtistPlugin.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 18,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/KotlinTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 42,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 60,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/KotlinTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 42,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 60,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/JavaTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 59,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/JavaTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 59,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/TypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 59,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/TypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 1,
      "endLine" : 59,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/JavaTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 59,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/TypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 59,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/JavaTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 59,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/TypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 59,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaRxTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 17,
      "endLine" : 54,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaRxTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 17,
      "endLine" : 54,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinRxTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 17,
      "endLine" : 69,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinRxTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 17,
      "endLine" : 69,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/TypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 59,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/JavaTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 59,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/JavaTypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 59,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/TypeNames.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 59,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaScrollableTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 39,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 17,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaScrollableTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 39,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 17,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/sample/providers/src/main/java/com/uber/artist/myproviders/JavaSampleViewStencilProvider.java",
        "extension" : "java",
        "linesOfCode" : 50,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 38,
      "endLine" : 74,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "sample/providers/src/main/java/com/uber/artist/myproviders/JavaSampleViewStencilProvider.java",
        "extension" : "java",
        "linesOfCode" : 50,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 38,
      "endLine" : 74,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaFormattingFileWriter.kt",
        "extension" : "kt",
        "linesOfCode" : 48,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 17,
      "endLine" : 69,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaFormattingFileWriter.kt",
        "extension" : "kt",
        "linesOfCode" : 48,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 17,
      "endLine" : 69,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist/src/main/kotlin/com/uber/artist/ArtistTask.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::artist" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 17,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist/src/main/kotlin/com/uber/artist/ArtistTask.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 17,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinScrollableTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 17,
      "endLine" : 54,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinScrollableTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 17,
      "endLine" : 54,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/sample/providers-kotlin/src/main/kotlin/com/uber/artist/myproviders/KotlinSampleViewStencilProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 17,
      "endLine" : 62,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "sample/providers-kotlin/src/main/kotlin/com/uber/artist/myproviders/KotlinSampleViewStencilProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 17,
      "endLine" : 62,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/ViewStencil.kt",
        "extension" : "kt",
        "linesOfCode" : 24,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 17,
      "endLine" : 66,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/ViewStencil.kt",
        "extension" : "kt",
        "linesOfCode" : 24,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 17,
      "endLine" : 66,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/KotlinViewStencil.kt",
        "extension" : "kt",
        "linesOfCode" : 25,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/KotlinViewStencil.kt",
        "extension" : "kt",
        "linesOfCode" : 25,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaVisibilityTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 27,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 1,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaVisibilityTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 27,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 1,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/JavaViewStencilService.kt",
        "extension" : "kt",
        "linesOfCode" : 22,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 17,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/JavaViewStencilService.kt",
        "extension" : "kt",
        "linesOfCode" : 22,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 17,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/KotlinViewStencilService.kt",
        "extension" : "kt",
        "linesOfCode" : 22,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 17,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/KotlinViewStencilService.kt",
        "extension" : "kt",
        "linesOfCode" : 22,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 17,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinVisibilityTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 27,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 17,
      "endLine" : 46,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinVisibilityTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 27,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 17,
      "endLine" : 46,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/JavaViewStencil.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 17,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/JavaViewStencil.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 17,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/sample/library/src/main/java/com/uber/artist/mylibrary/MyUtils.java",
        "extension" : "java",
        "linesOfCode" : 24,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 27,
      "endLine" : 59,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "sample/library/src/main/java/com/uber/artist/mylibrary/MyUtils.java",
        "extension" : "java",
        "linesOfCode" : 24,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 27,
      "endLine" : 59,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaTextInputTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 20,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 17,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaTextInputTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 20,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 17,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinTextInputTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 17,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinTextInputTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 17,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/sample/providers/src/main/java/com/uber/artist/myproviders/JavaSampleRxConfig.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 29,
      "endLine" : 46,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "sample/providers/src/main/java/com/uber/artist/myproviders/JavaSampleRxConfig.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 29,
      "endLine" : 46,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 79,
      "endLine" : 89,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 133,
      "endLine" : 143,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 133,
      "endLine" : 143,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 79,
      "endLine" : 89,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/sample/providers-kotlin/src/main/kotlin/com/uber/artist/myproviders/KotlinSampleRxConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 41,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "sample/providers-kotlin/src/main/kotlin/com/uber/artist/myproviders/KotlinSampleRxConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 41,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/JavaTraitService.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/JavaTraitService.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 79,
      "endLine" : 89,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 133,
      "endLine" : 143,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/Artist.kt",
        "extension" : "kt",
        "linesOfCode" : 13,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/Artist.kt",
        "extension" : "kt",
        "linesOfCode" : 13,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 79,
      "endLine" : 89,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 133,
      "endLine" : 143,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaSuppressNullabilityInitializerTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaSuppressNullabilityInitializerTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-api/src/main/kotlin/com/uber/artist/api/KotlinTraitService.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::artist-api" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-api/src/main/kotlin/com/uber/artist/api/KotlinTraitService.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/sample/providers/src/main/java/com/uber/artist/myproviders/trait/JavaSampleTrait.java",
        "extension" : "java",
        "linesOfCode" : 21,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 32,
      "endLine" : 44,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "sample/providers/src/main/java/com/uber/artist/myproviders/trait/JavaSampleTrait.java",
        "extension" : "java",
        "linesOfCode" : 21,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 32,
      "endLine" : 44,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinSuppressNullabilityInitializerTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 36,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinSuppressNullabilityInitializerTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 17,
      "endLine" : 36,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 118,
      "endLine" : 127,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 131,
      "endLine" : 140,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 131,
      "endLine" : 140,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 118,
      "endLine" : 127,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 118,
      "endLine" : 127,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 131,
      "endLine" : 140,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 118,
      "endLine" : 127,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 131,
      "endLine" : 140,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 245,
      "endLine" : 257,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 234,
      "endLine" : 246,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 234,
      "endLine" : 246,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 245,
      "endLine" : 257,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/sample/providers-kotlin/src/main/kotlin/com/uber/artist/myproviders/trait/KotlinSampleTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 18,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "sample/providers-kotlin/src/main/kotlin/com/uber/artist/myproviders/trait/KotlinSampleTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 18,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 245,
      "endLine" : 257,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 234,
      "endLine" : 246,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 245,
      "endLine" : 257,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 234,
      "endLine" : 246,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/KotlinArtistRxConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 12,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 17,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/KotlinArtistRxConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 12,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 17,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 155,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/JavaArtistRxConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 11,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 17,
      "endLine" : 57,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/JavaArtistRxConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 11,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 17,
      "endLine" : 57,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 155,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/ArtistRxConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 17,
      "endLine" : 54,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/ArtistRxConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 17,
      "endLine" : 54,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist/src/main/kotlin/com/uber/artist/ArtistExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::artist" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 17,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist/src/main/kotlin/com/uber/artist/ArtistExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 17,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 155,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 155,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinApiHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/KotlinArtistRxConfigService.kt",
        "extension" : "kt",
        "linesOfCode" : 10,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 17,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/KotlinArtistRxConfigService.kt",
        "extension" : "kt",
        "linesOfCode" : 10,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 17,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/KotlinArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 125,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 67,
      "endLine" : 76,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/KotlinArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 125,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 67,
      "endLine" : 76,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/KotlinArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 125,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 67,
      "endLine" : 76,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "artist-core/src/main/kotlin/com/uber/artist/KotlinArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 125,
        "components" : [ "primary::artist-core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 67,
      "endLine" : 76,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-core/src/main/kotlin/com/uber/artist/JavaArtistCodeGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/JavaArtistRxConfigService.kt",
        "extension" : "kt",
        "linesOfCode" : 10,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 17,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/config/JavaArtistRxConfigService.kt",
        "extension" : "kt",
        "linesOfCode" : 10,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 17,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 292,
      "endLine" : 297,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 280,
      "endLine" : 285,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 292,
      "endLine" : 297,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 280,
      "endLine" : 285,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 64,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 292,
      "endLine" : 297,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 280,
      "endLine" : 285,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 64,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::artist-traits" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 280,
      "endLine" : 285,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 292,
      "endLine" : 297,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 64,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/JavaForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits/src/main/kotlin/com/uber/artist/traits/KotlinForegroundTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/sample/library/src/main/res/values/attrs_foreground_view.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "sample/library/src/main/res/values/attrs_foreground_view.xml",
        "extension" : "xml",
        "linesOfCode" : 8,
        "components" : [ "primary::sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 6,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/KotlinViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::artist-traits-rx" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "buildSrc/artist-traits-rx/src/main/kotlin/com/uber/artist/traits/rx/JavaViewTrait.kt",
        "extension" : "kt",
        "linesOfCode" : 64,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  } ],
  "overallDuplication" : null
}