{
  "title" : "Duplication",
  "timestamp" : "2025-04-14 11:54:13",
  "duplicates" : [ {
    "blockSize" : 175,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/render.py",
        "extension" : "py",
        "linesOfCode" : 187,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 20,
      "endLine" : 243,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/render.py",
        "extension" : "py",
        "linesOfCode" : 187,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 20,
      "endLine" : 243,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 161,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 129,
      "endLine" : 357,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 113,
      "endLine" : 341,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 103,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldapp.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 8,
      "endLine" : 136,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/application.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 8,
      "endLine" : 136,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 71,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 98,
      "endLine" : 185,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 100,
      "endLine" : 187,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 70,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 209,
      "endLine" : 297,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 211,
      "endLine" : 299,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 65,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 486,
      "endLine" : 567,
      "cleanedStartLine" : 373,
      "cleanedEndLine" : 437
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 508,
      "endLine" : 590,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 459
    } ]
  }, {
    "blockSize" : 62,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/client.py",
        "extension" : "py",
        "linesOfCode" : 98,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 43,
      "endLine" : 121,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/application.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 39,
      "endLine" : 117,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 62,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/client.py",
        "extension" : "py",
        "linesOfCode" : 98,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 43,
      "endLine" : 121,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldapp.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 39,
      "endLine" : 117,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 24,
      "endLine" : 95,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 21,
      "endLine" : 92,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 48,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/blinn-phong.glsl",
        "extension" : "glsl",
        "linesOfCode" : 48,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 61,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/default.glsl",
        "extension" : "glsl",
        "linesOfCode" : 48,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 61,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 40,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 48,
      "endLine" : 93,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 53,
      "endLine" : 98,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 40,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/texture.py",
        "extension" : "py",
        "linesOfCode" : 45,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 8,
      "endLine" : 55,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/texture.py",
        "extension" : "py",
        "linesOfCode" : 45,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 8,
      "endLine" : 55,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 8,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 8,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 448,
      "endLine" : 481,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 369
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 468,
      "endLine" : 501,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 389
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 116,
      "endLine" : 155,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 237,
      "endLine" : 281,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 114,
      "endLine" : 153,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 253,
      "endLine" : 297,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 253,
      "endLine" : 297,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 116,
      "endLine" : 155,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 132,
      "endLine" : 171,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 128,
      "endLine" : 167,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 114,
      "endLine" : 153,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 237,
      "endLine" : 281,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 66,
      "endLine" : 110,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 66,
      "endLine" : 110,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/tools/RenderTest.py",
        "extension" : "py",
        "linesOfCode" : 150,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 8,
      "endLine" : 45,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/kiv.py",
        "extension" : "py",
        "linesOfCode" : 129,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 15,
      "endLine" : 52,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 98,
      "endLine" : 129,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 94,
      "endLine" : 125,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 575,
      "endLine" : 605,
      "cleanedStartLine" : 444,
      "cleanedEndLine" : 471
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 600,
      "endLine" : 630,
      "cleanedStartLine" : 468,
      "cleanedEndLine" : 495
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/ray.py",
        "extension" : "py",
        "linesOfCode" : 129,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 31,
      "endLine" : 60,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "forge/blade/lib/utils.py",
        "extension" : "py",
        "linesOfCode" : 142,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 139,
      "endLine" : 168,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldtrans.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 36,
      "endLine" : 68,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/transform.py",
        "extension" : "py",
        "linesOfCode" : 117,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 50,
      "endLine" : 82,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 416,
      "endLine" : 442,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 332
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 435,
      "endLine" : 461,
      "cleanedStartLine" : 328,
      "cleanedEndLine" : 351
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 610,
      "endLine" : 634,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 498
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 636,
      "endLine" : 660,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 523
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 667,
      "endLine" : 691,
      "cleanedStartLine" : 524,
      "cleanedEndLine" : 545
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 702,
      "endLine" : 726,
      "cleanedStartLine" : 554,
      "cleanedEndLine" : 575
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/client.py",
        "extension" : "py",
        "linesOfCode" : 98,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 8,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/application.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 8,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/client.py",
        "extension" : "py",
        "linesOfCode" : 98,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 8,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldapp.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 8,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 139,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 41,
      "endLine" : 62,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 192,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 45,
      "endLine" : 65,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 191,
      "endLine" : 207,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 191,
      "endLine" : 207,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 157
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 300,
      "endLine" : 320,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 302,
      "endLine" : 322,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 246
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 20,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 20,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/Color256.py",
        "extension" : "py",
        "linesOfCode" : 14,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 1,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 100,
      "endLine" : 114,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 98,
      "endLine" : 112,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "jsuarez/Color256.py",
        "extension" : "py",
        "linesOfCode" : 14,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 1,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 37,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 315,
      "endLine" : 329,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 240,
      "endLine" : 256,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldtrans.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 122,
      "endLine" : 138,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 331,
      "endLine" : 345,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 223
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 37,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 331,
      "endLine" : 345,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 223
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 37,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 315,
      "endLine" : 329,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 37,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldtrans.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 124,
      "endLine" : 138,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/transform.py",
        "extension" : "py",
        "linesOfCode" : 117,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 149,
      "endLine" : 163,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 139,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 11,
      "endLine" : 24,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 192,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 12,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 242,
      "endLine" : 256,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/transform.py",
        "extension" : "py",
        "linesOfCode" : 117,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 149,
      "endLine" : 163,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 139,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 29,
      "endLine" : 40,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 192,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 31,
      "endLine" : 42,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 139,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 141,
      "endLine" : 152,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 192,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 172,
      "endLine" : 183,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 91,
      "endLine" : 100,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 150,
      "endLine" : 159,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 461,
      "endLine" : 470,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 584,
      "endLine" : 593,
      "cleanedStartLine" : 452,
      "cleanedEndLine" : 461
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/blinn-phong.glsl",
        "extension" : "glsl",
        "linesOfCode" : 48,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 36,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/simple.glsl",
        "extension" : "glsl",
        "linesOfCode" : 37,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 36,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/example1.py",
        "extension" : "py",
        "linesOfCode" : 29,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 59,
      "endLine" : 71,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/example2.py",
        "extension" : "py",
        "linesOfCode" : 37,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 66,
      "endLine" : 78,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 584,
      "endLine" : 593,
      "cleanedStartLine" : 452,
      "cleanedEndLine" : 461
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 481,
      "endLine" : 490,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 461,
      "endLine" : 470,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 609,
      "endLine" : 618,
      "cleanedStartLine" : 476,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 52,
      "endLine" : 64,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 52,
      "endLine" : 64,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 481,
      "endLine" : 490,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 378
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 609,
      "endLine" : 618,
      "cleanedStartLine" : 476,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr3D.py",
        "extension" : "py",
        "linesOfCode" : 201,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 138,
      "endLine" : 147,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/default.glsl",
        "extension" : "glsl",
        "linesOfCode" : 48,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 36,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/simple.glsl",
        "extension" : "glsl",
        "linesOfCode" : 37,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 36,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/example1.py",
        "extension" : "py",
        "linesOfCode" : 29,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 59,
      "endLine" : 71,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/examplecust.py",
        "extension" : "py",
        "linesOfCode" : 33,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 64,
      "endLine" : 76,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/example2.py",
        "extension" : "py",
        "linesOfCode" : 37,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 66,
      "endLine" : 78,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/examplecust.py",
        "extension" : "py",
        "linesOfCode" : 33,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 64,
      "endLine" : 76,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/utils.py",
        "extension" : "py",
        "linesOfCode" : 142,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 99,
      "endLine" : 109,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 332,
      "endLine" : 341,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/utils.py",
        "extension" : "py",
        "linesOfCode" : 142,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 99,
      "endLine" : 109,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 348,
      "endLine" : 357,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/tools/RenderTest.py",
        "extension" : "py",
        "linesOfCode" : 150,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 75,
      "endLine" : 84,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/kiv.py",
        "extension" : "py",
        "linesOfCode" : 129,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 105,
      "endLine" : 114,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 35,
      "endLine" : 43,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 38,
      "endLine" : 46,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 325,
      "endLine" : 333,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 327,
      "endLine" : 335,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/EnvViewport3D.py",
        "extension" : "py",
        "linesOfCode" : 80,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 88,
      "endLine" : 97,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 151,
      "endLine" : 160,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 387,
      "endLine" : 400,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 302
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 404,
      "endLine" : 417,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 283,
      "endLine" : 293,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldtrans.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 99,
      "endLine" : 109,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/EnvViewport3D.py",
        "extension" : "py",
        "linesOfCode" : 80,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/application.py",
        "extension" : "py",
        "linesOfCode" : 61,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 72,
      "endLine" : 79,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/EnvViewport3D.py",
        "extension" : "py",
        "linesOfCode" : 80,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 88,
      "endLine" : 97,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 155,
      "endLine" : 164,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/core/map.py",
        "extension" : "py",
        "linesOfCode" : 56,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 12,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldapp.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 246,
      "endLine" : 254,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 263,
      "endLine" : 271,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/core/map.py",
        "extension" : "py",
        "linesOfCode" : 56,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr3D.py",
        "extension" : "py",
        "linesOfCode" : 201,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 138,
      "endLine" : 145,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/client.py",
        "extension" : "py",
        "linesOfCode" : 98,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 229,
      "endLine" : 237,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 263,
      "endLine" : 271,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 139,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 159,
      "endLine" : 166,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 192,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 207,
      "endLine" : 214,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 229,
      "endLine" : 237,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 246,
      "endLine" : 254,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/application.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 219,
      "endLine" : 225,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 112,
      "endLine" : 119,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/GPUTest.py",
        "extension" : "py",
        "linesOfCode" : 73,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 219,
      "endLine" : 225,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 61,
      "endLine" : 69,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/tools/RenderTest.py",
        "extension" : "py",
        "linesOfCode" : 150,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/kiv.py",
        "extension" : "py",
        "linesOfCode" : 129,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 96,
      "endLine" : 102,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/core/realm.py",
        "extension" : "py",
        "linesOfCode" : 144,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "forge/blade/core/realm.py",
        "extension" : "py",
        "linesOfCode" : 144,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 153,
      "endLine" : 160,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 139,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 132,
      "endLine" : 139,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/MapMaker.py",
        "extension" : "py",
        "linesOfCode" : 192,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 162,
      "endLine" : 169,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/figures.py",
        "extension" : "py",
        "linesOfCode" : 169,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 189,
      "endLine" : 196,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/returns.py",
        "extension" : "py",
        "linesOfCode" : 19,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 7,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/transform.py",
        "extension" : "py",
        "linesOfCode" : 117,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 75,
      "endLine" : 82,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldnewapi.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldtrans.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/client.py",
        "extension" : "py",
        "linesOfCode" : 98,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 34,
      "endLine" : 40,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/application.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 32,
      "endLine" : 38,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 306,
      "endLine" : 313,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 17,
      "endLine" : 24,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 340,
      "endLine" : 345,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 343,
      "endLine" : 348,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldtrans.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/transform.py",
        "extension" : "py",
        "linesOfCode" : 117,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 85,
      "endLine" : 91,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 84,
      "endLine" : 90,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 227,
      "endLine" : 233,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/default.glsl",
        "extension" : "glsl",
        "linesOfCode" : 48,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/simple.glsl",
        "extension" : "glsl",
        "linesOfCode" : 37,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 7,
      "endLine" : 13,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/RenderTest.py",
        "extension" : "py",
        "linesOfCode" : 150,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 17,
      "endLine" : 24,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 290,
      "endLine" : 297,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/RenderTest.py",
        "extension" : "py",
        "linesOfCode" : 150,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/blinn-phong.glsl",
        "extension" : "glsl",
        "linesOfCode" : 48,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/tex/simple.glsl",
        "extension" : "glsl",
        "linesOfCode" : 37,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 7,
      "endLine" : 13,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/client.py",
        "extension" : "py",
        "linesOfCode" : 98,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 34,
      "endLine" : 40,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldapp.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 32,
      "endLine" : 38,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/modules.py",
        "extension" : "py",
        "linesOfCode" : 563,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 353,
      "endLine" : 359,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/modules.py",
        "extension" : "py",
        "linesOfCode" : 589,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 575,
      "startLine" : 356,
      "endLine" : 362,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/kiv.py",
        "extension" : "py",
        "linesOfCode" : 129,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 97,
      "endLine" : 102,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/kivy3/cameras/camera.py",
        "extension" : "py",
        "linesOfCode" : 53,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/kivy3/core/object3d.py",
        "extension" : "py",
        "linesOfCode" : 87,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 243,
      "endLine" : 249,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 157
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/enums.py",
        "extension" : "py",
        "linesOfCode" : 155,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 84,
      "endLine" : 90,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 306,
      "endLine" : 313,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 17,
      "endLine" : 24,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 169,
      "endLine" : 174,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "forge/ethyr/torch/policy.py",
        "extension" : "py",
        "linesOfCode" : 213,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 182,
      "endLine" : 187,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 79,
      "endLine" : 85,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/embyr.py",
        "extension" : "py",
        "linesOfCode" : 246,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 243,
      "endLine" : 249,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 157
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "jsuarez/tools/kiv.py",
        "extension" : "py",
        "linesOfCode" : 129,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 97,
      "endLine" : 102,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/systems/equipment.py",
        "extension" : "py",
        "linesOfCode" : 13,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 4,
      "endLine" : 10,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "forge/blade/systems/inventory.py",
        "extension" : "py",
        "linesOfCode" : 13,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 4,
      "endLine" : 10,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 290,
      "endLine" : 297,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/utils.py",
        "extension" : "py",
        "linesOfCode" : 39,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 17,
      "endLine" : 24,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/oldtrans.py",
        "extension" : "py",
        "linesOfCode" : 109,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 22,
      "endLine" : 28,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr/transform.py",
        "extension" : "py",
        "linesOfCode" : 117,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 27,
      "endLine" : 33,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "forge/blade/lib/enums.py",
        "extension" : "py",
        "linesOfCode" : 152,
        "components" : [ "primary::forge" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 79,
      "endLine" : 85,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "jsuarez/extra/embyr_deprecated/embyr2d/embyr.py",
        "extension" : "py",
        "linesOfCode" : 233,
        "components" : [ "primary::jsuarez" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 227,
      "endLine" : 233,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  } ],
  "overallDuplication" : null
}