{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:15:01",
  "duplicates" : [ {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/component-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 20,
      "endLine" : 40,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rules/directive-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 22,
      "endLine" : 42,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 20,
      "endLine" : 35,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 21,
      "endLine" : 37,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/constant-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 34,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/provider-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 34,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/constant-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 34,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/factory-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 34,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/factory-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 34,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/provider-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 34,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/no-directive-replace.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 38,
      "endLine" : 52,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "rules/prefer-component.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 25,
      "endLine" : 39,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 20,
      "endLine" : 30,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rules/value-name.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 22,
      "endLine" : 32,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 21,
      "endLine" : 31,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rules/value-name.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 22,
      "endLine" : 32,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-date.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-function.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-object.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-string.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-function.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-string.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-number.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 29,
      "endLine" : 42,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-object.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-date.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-object.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-number.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 29,
      "endLine" : 42,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-string.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-date.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-string.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-function.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-number.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 29,
      "endLine" : 42,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "index.js",
        "extension" : "js",
        "linesOfCode" : 71,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 23,
      "endLine" : 31,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "index.js",
        "extension" : "js",
        "linesOfCode" : 71,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 54,
      "endLine" : 62,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-function.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-object.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-date.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-number.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 29,
      "endLine" : 42,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/controller-as-vm.js",
        "extension" : "js",
        "linesOfCode" : 78,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 41,
      "endLine" : 54,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "rules/controller-as.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 33,
      "endLine" : 46,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-array.js",
        "extension" : "js",
        "linesOfCode" : 33,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 34,
      "endLine" : 45,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-object.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 29,
      "endLine" : 40,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/provider-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "rules/service-name.js",
        "extension" : "js",
        "linesOfCode" : 82,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-array.js",
        "extension" : "js",
        "linesOfCode" : 33,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 34,
      "endLine" : 45,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-function.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 30,
      "endLine" : 41,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/constant-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "rules/service-name.js",
        "extension" : "js",
        "linesOfCode" : 82,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-array.js",
        "extension" : "js",
        "linesOfCode" : 33,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 34,
      "endLine" : 45,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-number.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 31,
      "endLine" : 42,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-array.js",
        "extension" : "js",
        "linesOfCode" : 33,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 34,
      "endLine" : 45,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-string.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 30,
      "endLine" : 41,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/factory-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "rules/service-name.js",
        "extension" : "js",
        "linesOfCode" : 82,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/typecheck-array.js",
        "extension" : "js",
        "linesOfCode" : 33,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 34,
      "endLine" : 45,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "rules/typecheck-date.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 30,
      "endLine" : 41,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/constant-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/value-name.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 25,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/constant-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/constant-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 23,
      "endLine" : 30,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/component-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 27,
      "endLine" : 37,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/factory-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 23,
      "endLine" : 30,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/component-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 26,
      "endLine" : 35,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/factory-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/value-name.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 25,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rules/provider-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/provider-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/value-name.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 25,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 23,
      "endLine" : 30,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rules/provider-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/factory-name.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/directive-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 32,
      "endLine" : 42,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 26,
      "endLine" : 35,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/directive-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 32,
      "endLine" : 42,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 27,
      "endLine" : 37,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/component-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 20,
      "endLine" : 25,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 21,
      "endLine" : 26,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/component-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 20,
      "endLine" : 25,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 20,
      "endLine" : 25,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/document-service.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-cookiestore.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/controller-as-route.js",
        "extension" : "js",
        "linesOfCode" : 70,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 19,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/no-service-method.js",
        "extension" : "js",
        "linesOfCode" : 19,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 19,
      "endLine" : 25,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/directive-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/value-name.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/deferred.js",
        "extension" : "js",
        "linesOfCode" : 21,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/no-jquery-angularelement.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 15,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/json-functions.js",
        "extension" : "js",
        "linesOfCode" : 22,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-jquery-angularelement.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 15,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/no-angular-mock.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-jquery-angularelement.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 15,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/json-functions.js",
        "extension" : "js",
        "linesOfCode" : 22,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-cookiestore.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/deferred.js",
        "extension" : "js",
        "linesOfCode" : 21,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/document-service.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/document-service.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/foreach.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 16,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/deferred.js",
        "extension" : "js",
        "linesOfCode" : 21,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/no-cookiestore.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/deferred.js",
        "extension" : "js",
        "linesOfCode" : 21,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/foreach.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 16,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/document-service.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-angular-mock.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/no-cookiestore.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-jquery-angularelement.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 15,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/deferred.js",
        "extension" : "js",
        "linesOfCode" : 21,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/no-angular-mock.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/foreach.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 16,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-jquery-angularelement.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 15,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/controller-as-route.js",
        "extension" : "js",
        "linesOfCode" : 70,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 19,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/no-controller.js",
        "extension" : "js",
        "linesOfCode" : 19,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/deferred.js",
        "extension" : "js",
        "linesOfCode" : 21,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/json-functions.js",
        "extension" : "js",
        "linesOfCode" : 22,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/foreach.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 16,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-cookiestore.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/json-functions.js",
        "extension" : "js",
        "linesOfCode" : 22,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-angular-mock.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/document-service.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-jquery-angularelement.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 15,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/directive-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/module-name.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 21,
      "endLine" : 26,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/directive-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/filter-name.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 20,
      "endLine" : 25,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/foreach.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 16,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-angular-mock.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/module-dependency-order.js",
        "extension" : "js",
        "linesOfCode" : 163,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 122,
      "endLine" : 127,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "rules/module-dependency-order.js",
        "extension" : "js",
        "linesOfCode" : 163,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 148,
      "endLine" : 153,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/foreach.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 16,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/json-functions.js",
        "extension" : "js",
        "linesOfCode" : 22,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/component-name.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 20,
      "endLine" : 25,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/value-name.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/document-service.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/json-functions.js",
        "extension" : "js",
        "linesOfCode" : 22,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/no-angular-mock.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rules/no-cookiestore.js",
        "extension" : "js",
        "linesOfCode" : 18,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rules/no-controller.js",
        "extension" : "js",
        "linesOfCode" : 19,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rules/no-service-method.js",
        "extension" : "js",
        "linesOfCode" : 19,
        "components" : [ "primary::rules" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 19,
      "endLine" : 25,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  } ],
  "overallDuplication" : null
}