{
  "version": "3",
  "listProblem": [
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Access to a static member of a type via a derived type",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Access to a static member of a type via a derived type",
      "detailsInfo": "Access to a static member of a type via a derived type",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 554,
          "offset": 34,
          "length": 7,
          "code": {
            "startLine": 553,
            "length": 7,
            "offset": 34,
            "surroundingCode": "\n        Vector256<double> v256 = Avx512F.Add(vSum.GetLower(), vSum.GetUpper());\n        Vector128<double> lower = v256.GetLower();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "AccessToStaticMemberViaDerivedType"
      },
      "hash": "E44986CD9802156C06BF0F9294A899A4249D1500D1D4D8A54C59F434D263F1B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Syntax Style",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeStyleIssues",
          "name": "Syntax Style"
        }
      ],
      "type": "Adjust modifiers declaration order",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Inconsistent modifiers declaration order",
      "detailsInfo": "The order of declaration modifiers does not match code style settings",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.cs",
          "line": 499,
          "offset": 9,
          "length": 24,
          "code": {
            "startLine": 498,
            "length": 24,
            "offset": 9,
            "surroundingCode": "\n        public override readonly bool Equals(object? obj) =>\n            obj is Enumerator other && Equals(other);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ArrangeModifiersOrder"
      },
      "hash": "FD4CF232B1F89812AACB44C1087F3C6B454D9B0B43087F82464B3979BF5A9481"
    },
    {
      "tool": "Code Inspection",
      "category": "Syntax Style",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeStyleIssues",
          "name": "Syntax Style"
        }
      ],
      "type": "Adjust modifiers declaration order",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Inconsistent modifiers declaration order",
      "detailsInfo": "The order of declaration modifiers does not match code style settings",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.cs",
          "line": 502,
          "offset": 9,
          "length": 24,
          "code": {
            "startLine": 501,
            "length": 24,
            "offset": 9,
            "surroundingCode": "\n        public override readonly int GetHashCode() =>\n            HashCode.Combine(RuntimeHelpers.GetHashCode(_buffer), _start, _count, _index, _current);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ArrangeModifiersOrder"
      },
      "hash": "4317B96CD5CAF4903D46BA617010EA22275F1F5AD935CE86FE14D7A690C4B65C"
    },
    {
      "tool": "Code Inspection",
      "category": "Syntax Style",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeStyleIssues",
          "name": "Syntax Style"
        }
      ],
      "type": "Use preferred style of 'new' expression when created type is evident",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant type specification",
      "detailsInfo": "Add or remove explicit type specification in 'new' expression when type is evident from the usage",
      "sources": [
        {
          "type": "file",
          "path": "quantower/Mocks/TradingPlatformMocks.cs",
          "line": 406,
          "offset": 59,
          "length": 11,
          "code": {
            "startLine": 405,
            "length": 11,
            "offset": 114,
            "surroundingCode": "        public ChartWindow MainWindow { get; } = new();\n        public IList<ChartWindow> Windows { get; } = [new ChartWindow()];\n        public int BarsWidth { get; set; } = 10;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ArrangeObjectCreationWhenTypeEvident"
      },
      "hash": "411B8CC0D38D45192CCE294C1D97D1F7B73DC2DA764358D54204270D25F650A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.core.ringbuffer'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 2,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.core.simd'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.Tests.cs",
          "line": 2,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.core.tbar'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.Tests.cs",
          "line": 2,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests\r\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "BBEC0E38ADB88DA097344BE3E60ADF21E68CCDC36CE7C23647C5A682DDD10978"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.core.tbarseries'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/TBarSeries.Tests.cs",
          "line": 2,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests\r\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "BBEC0E38ADB88DA097344BE3E60ADF21E68CCDC36CE7C23647C5A682DDD10978"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.core.tseries'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/TSeries.Tests.cs",
          "line": 2,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.core.tvalue'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tvalue/TValue.Tests.cs",
          "line": 2,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests\r\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "BBEC0E38ADB88DA097344BE3E60ADF21E68CCDC36CE7C23647C5A682DDD10978"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.feeds.csv'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/csv/CsvFeed.Tests.cs",
          "line": 2,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.feeds.gbm'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/Gbm.Tests.cs",
          "line": 2,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.feeds.gbm'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/ValidationHelper.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.feeds.gbm'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/ValidationTestData.cs",
          "line": 6,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 5,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.adx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.OoplesRepro.Tests.cs",
          "line": 6,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 5,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.adx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.adx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 13,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 12,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.adxr'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.adxr'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 9,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 8,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.ao'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.ao'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 11,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 10,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.apo'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.apo'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 13,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 12,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.aroon'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.aroon'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 10,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 9,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.aroonosc'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.aroonosc'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 13,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 12,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.cfb'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.cfb'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Validation.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.dmx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.dmx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Validation.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.rsx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Repro.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.rsx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.rsx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.vel'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.momentum.vel'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Validation.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.alma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.alma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 10,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 9,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.bessel'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Tests.cs",
          "line": 1,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 10,
            "surroundingCode": "namespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "67F2025967341DD597F93FBB9FA8271FA29D6F709CE63D91FDF21F8EACB247F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.bessel'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Validation.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.conv'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Tests.cs",
          "line": 6,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 5,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.conv'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 12,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 11,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.dema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Tests.cs",
          "line": 3,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 2,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.dema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 10,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 9,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.dwma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.dwma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 11,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 10,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.ema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Tests.cs",
          "line": 1,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 10,
            "surroundingCode": "namespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "67F2025967341DD597F93FBB9FA8271FA29D6F709CE63D91FDF21F8EACB247F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.ema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 11,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 10,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.hma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Tests.cs",
          "line": 1,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 10,
            "surroundingCode": "namespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "67F2025967341DD597F93FBB9FA8271FA29D6F709CE63D91FDF21F8EACB247F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.hma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 9,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 8,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.htit'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 7,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 6,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.htit'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 11,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 10,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.jma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.jma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Validation.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.kama'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.kama'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 10,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 9,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.lsma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Tests.cs",
          "line": 6,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 5,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.lsma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 10,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 9,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.mama'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.mama'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Validation.Tests.cs",
          "line": 11,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 10,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.mgdi'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 7,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 6,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.mgdi'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 10,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 9,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.pwma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Tests.cs",
          "line": 1,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 10,
            "surroundingCode": "namespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "67F2025967341DD597F93FBB9FA8271FA29D6F709CE63D91FDF21F8EACB247F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.pwma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Validation.Tests.cs",
          "line": 9,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 8,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.rma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Tests.cs",
          "line": 1,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 10,
            "surroundingCode": "namespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "67F2025967341DD597F93FBB9FA8271FA29D6F709CE63D91FDF21F8EACB247F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.rma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Validation.Tests.cs",
          "line": 9,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 8,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.sma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Tests.cs",
          "line": 1,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 10,
            "surroundingCode": "namespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "67F2025967341DD597F93FBB9FA8271FA29D6F709CE63D91FDF21F8EACB247F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.sma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 11,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 10,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.ssf'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Tests.cs",
          "line": 1,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 1,
            "length": 15,
            "offset": 10,
            "surroundingCode": "namespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "67F2025967341DD597F93FBB9FA8271FA29D6F709CE63D91FDF21F8EACB247F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.ssf'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Validation.Tests.cs",
          "line": 8,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 7,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.super'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.super'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 8,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 7,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.t3'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.t3'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 12,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 11,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.tema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.tema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 10,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 9,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.trima'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.trima'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 10,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 9,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.usf'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.vidya'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.vidya'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 8,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 7,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.wma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Coverage.Tests.cs",
          "line": 6,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 5,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.wma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 4,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.trends.wma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 12,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 11,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.volatility.atr'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.volatility.atr'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 9,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 8,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.volume.adl'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.volume.adl'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 9,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 8,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.volume.adosc'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.Tests.volume.adosc'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 13,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 12,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.feeds'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/IFeed.cs",
          "line": 1,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 1,
            "length": 9,
            "offset": 10,
            "surroundingCode": "namespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "1B7E166D3AE69989ADF7596B56297F4318384CC5B4921317C1ABC41169F51B9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.feeds.csv'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/csv/CsvFeed.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.feeds.gbm'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/gbm.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'QuanTAlib.volatility.atr'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.cs",
          "line": 3,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 2,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Quantower.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Quantower.cs",
          "line": 4,
          "offset": 11,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "65039325F53551E3D26E62927DD8D6D2977CBA0695FF8DB82A1C376844253E85"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 7,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 6,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.Mocks'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "quantower/Mocks/TradingPlatformMocks.cs",
          "line": 7,
          "offset": 11,
          "length": 29,
          "code": {
            "startLine": 6,
            "length": 29,
            "offset": 11,
            "surroundingCode": "\nnamespace TradingPlatform.BusinessLayer\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "AF8EC8B42390C786AFCA8E3C4A3323DB947B6510BAF160060FCBFBB39C5D6515"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.adl'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.adosc'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.adx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.adxr'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.alma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.ao'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.apo'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.aroon'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.aroonosc'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.bessel'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.cfb'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.conv'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.dema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.dmx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.dwma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.ema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.hma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.htit'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Quantower.Tests.cs",
          "line": 6,
          "offset": 11,
          "length": 25,
          "code": {
            "startLine": 5,
            "length": 25,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Quantower.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "BDEBF56E85E46FF1D14C966E92846FFB254A82B31D73EA0199A495D588202ED2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.jma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.kama'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.lsma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.mama'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.mgdi'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Quantower.Tests.cs",
          "line": 6,
          "offset": 11,
          "length": 25,
          "code": {
            "startLine": 5,
            "length": 25,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Quantower.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "BDEBF56E85E46FF1D14C966E92846FFB254A82B31D73EA0199A495D588202ED2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.pwma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.rma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.rsx'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.sma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.ssf'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "5A5591731AAAD5CE88DFB2147AD15FB56DDB913E1B4D8304133ED61C146784D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.super'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.t3'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.tema'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.trima'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.usf'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Quantower.Tests.cs",
          "line": 6,
          "offset": 11,
          "length": 25,
          "code": {
            "startLine": 5,
            "length": 25,
            "offset": 12,
            "surroundingCode": "\r\nnamespace QuanTAlib.Quantower.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "999B55F2BC6AA1ADB6943A45BCF4FCF422EDC4ED2320903328DFBF130F4B9D97"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.vel'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Quantower.Tests.cs",
          "line": 5,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 4,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.vidya'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Namespace does not correspond to file location",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Namespace does not correspond to file location, must be: 'Quantower.Tests.wma'",
      "detailsInfo": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page.",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.Tests.cs",
          "line": 4,
          "offset": 11,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 11,
            "surroundingCode": "\nnamespace QuanTAlib.Tests;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "CheckNamespace"
      },
      "hash": "CF1EE3E71F3C4EF1531B6511B31971A58A133213DD269498943D7D98FEFC0022"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Expression is always 'true' or always 'false'",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Expression is always false",
      "detailsInfo": "Value of a boolean expression is always the same at this point",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 197,
          "offset": 13,
          "length": 12,
          "code": {
            "startLine": 196,
            "length": 12,
            "offset": 57,
            "surroundingCode": "        var data = indicator.HistoricalData;\n        if (data == null) return Array.Empty<Point>();\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConditionIsAlwaysTrueOrFalse"
      },
      "hash": "DC83FD692A471A50A607194809CA6FF0B872A45B3C9E83065046E2D03231DA05"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Expression is always 'true' or always 'false'",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Expression is always false",
      "detailsInfo": "Value of a boolean expression is always the same at this point",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 291,
          "offset": 13,
          "length": 12,
          "code": {
            "startLine": 290,
            "length": 12,
            "offset": 57,
            "surroundingCode": "        var data = indicator.HistoricalData;\n        if (data == null) return;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConditionIsAlwaysTrueOrFalse"
      },
      "hash": "A1F46420E389F5EDBDD180B86E842CEB7E8F1BA4FD0500735397F2D4AC19AB41"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Expression is always 'true' or always 'false'",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Expression is always false",
      "detailsInfo": "Value of a boolean expression is always the same at this point",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 360,
          "offset": 13,
          "length": 12,
          "code": {
            "startLine": 359,
            "length": 12,
            "offset": 57,
            "surroundingCode": "        var data = indicator.HistoricalData;\n        if (data == null) return new List<(Rectangle, Color)>();\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConditionIsAlwaysTrueOrFalse"
      },
      "hash": "F8FDF7A8C2B770D5B1DDB572641AA23B34DE46DF0DF9DD3D253B10943FCF8CD4"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 19,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 18,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public AdxValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "6166C1590BD89B62553403B257BDBA51036892FDF98652F6403946DEE8010B21"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 15,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 14,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public AdxrValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "B857817F8C2A4A83054BA67E1CED51A82E6ED871359886C3AEF0C64B625BDBDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 17,
          "offset": 12,
          "length": 17,
          "code": {
            "startLine": 16,
            "length": 17,
            "offset": 13,
            "surroundingCode": "\r\n    public AoValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "4742149A876448E384BA8F3E95884FB57CC15B9C192A144EB46F448EAB834708"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 10,
          "offset": 12,
          "length": 8,
          "code": {
            "startLine": 9,
            "length": 8,
            "offset": 13,
            "surroundingCode": "\r\n    public ApoTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "450358F6950173F3DADBA66AA724052E8090C8B0507F64F6A711690BB52A33F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 19,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 18,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public ApoValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "0708E1B544C4B772A7C6F9033F9789A29669A1B55FAD6E69393C26D13FE49B23"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 16,
          "offset": 12,
          "length": 20,
          "code": {
            "startLine": 15,
            "length": 20,
            "offset": 13,
            "surroundingCode": "\r\n    public AroonValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "AEDADB4CF738A8E8E726C966059651DDDBDA80A1C5111E2CF1CDE5ED1BEC2573"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 19,
          "offset": 12,
          "length": 23,
          "code": {
            "startLine": 18,
            "length": 23,
            "offset": 13,
            "surroundingCode": "\r\n    public AroonOscValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "DEAAF75F1A0276DFF219225D31B4BF86E66818E57811FA16C61FF3ABA60D5559"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Tests.cs",
          "line": 10,
          "offset": 12,
          "length": 8,
          "code": {
            "startLine": 9,
            "length": 8,
            "offset": 13,
            "surroundingCode": "\r\n    public RsxTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "C3EC713D2128309BA51200ABB859FAE15A2E43AA7CD7CD6CA3F98F56C251C4EF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 10,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 9,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public RsxValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "A1712813C6A21D5DDC6FDE2E2D31CF42DD37114208C3B3961042F4CF1EB5D7AA"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 19,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 18,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public ConvValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "5A8F3E193F2A29AEB38907BA9A66D6ABF3FD65E60D59C28AC2626FAA49FFF0E8"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 13,
          "offset": 12,
          "length": 9,
          "code": {
            "startLine": 12,
            "length": 9,
            "offset": 13,
            "surroundingCode": "\r\n    public HtitTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "E58FCE6036F0DFDEB1FE48051AE8A3111DF60FA94A19ED0CD237E70EF8BD6090"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 17,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 16,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public HtitValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "B44B60A9ED0B4D8020B6B01A05654784CB90A738466DA3D8F2CDC4F62ADBCF3D"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 13,
          "offset": 12,
          "length": 9,
          "code": {
            "startLine": 12,
            "length": 9,
            "offset": 13,
            "surroundingCode": "\r\n    public MgdiTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "F9B6A391E5A73BCAD75D52AB4E35F5E8264A1B661F014109275F344A6FAF3E6D"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 16,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 15,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public MgdiValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "3DB3780305B6E01CD2F09ECFCB9EF3E59BF30BC2773CFC1E8A7ACCF2FC42CB3C"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Validation.Tests.cs",
          "line": 16,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 15,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public RmaValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "A92E5B3BF411C9AAFE8F9825EDFA6C911558264B2E523A0AD9CFE54C0CF86C48"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 14,
          "offset": 12,
          "length": 20,
          "code": {
            "startLine": 13,
            "length": 20,
            "offset": 13,
            "surroundingCode": "\r\n    public SuperValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "74ECD412F04AEB41961A48D769FE61FD0F6EB101AF884C65D2CF66987AED69B8"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 15,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 14,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public AtrValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "2B990F730ED7ACCB5FA8E53F97CC0AB3460F5099919C0F89DFEC2085054C2814"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 15,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 14,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public AdlValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "0002B4EBAD51772C01F0297A9A5BD55B05B55EAC3EE1A4F5CBDDFDB8BF735BDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into member initializers",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert constructor into member initializers",
      "detailsInfo": "Replace constructor with members initialized inline",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 20,
          "offset": 12,
          "length": 20,
          "code": {
            "startLine": 19,
            "length": 20,
            "offset": 13,
            "surroundingCode": "\r\n    public AdoscValidationTests()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertConstructorToMemberInitializers"
      },
      "hash": "F81CF1B425AC176A5EBE45BBFDAA2CBDB347D3D12E7ADCD27AC2D7EC06799731"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "'if' statement can be rewritten as '?:' expression",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Convert into method call with '?:' expression inside",
      "detailsInfo": "Convert the following code:\r\n<pre>\r\n  if (condition) x = expr1;\r\n  else x = expr2;\r\n</pre>\r\nTo:\r\n<pre>\r\n  x = condition ? expr1 : expr2;\r\n</pre>",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 384,
          "offset": 13,
          "length": 2,
          "code": {
            "startLine": 383,
            "length": 2,
            "offset": 13,
            "surroundingCode": "\n            if (series[i] > 0)\n            {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertIfStatementToConditionalTernaryExpression"
      },
      "hash": "6B12D247DE8388F131E9619124F6D43A6ABB2CFC6DC6E20741B2719A231F553F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert extension methods to extension block",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Convert to extension block",
      "detailsInfo": "Convert classic extension methods to C#14 extension block",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 99,
          "offset": 24,
          "length": 17,
          "code": {
            "startLine": 98,
            "length": 17,
            "offset": 78,
            "surroundingCode": "    [MethodImpl(MethodImplOptions.AggressiveInlining)]\n    public static bool ContainsNonFinite(this ReadOnlySpan<double> span)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToExtensionBlock"
      },
      "hash": "830B940269454A0BCA642453851FC425E1B6AF54AA63CF7F0B35AF8CE0AB9175"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert extension methods to extension block",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Convert to extension block",
      "detailsInfo": "Convert classic extension methods to C#14 extension block",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 50,
          "offset": 26,
          "length": 13,
          "code": {
            "startLine": 49,
            "length": 13,
            "offset": 26,
            "surroundingCode": "\n    public static TValue GetInputValue(this Indicator indicator, UpdateArgs args, SourceType source)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToExtensionBlock"
      },
      "hash": "DFCB4AF0663B5E24DC6BEB09B614D59203EBBEDA58B6BCD50FB85A560640A51B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert extension methods to extension block",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Convert to extension block",
      "detailsInfo": "Convert classic extension methods to C#14 extension block",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 228,
          "offset": 24,
          "length": 16,
          "code": {
            "startLine": 227,
            "length": 16,
            "offset": 24,
            "surroundingCode": "\n    public static void PaintSmoothCurve(this Indicator indicator, PaintChartEventArgs args, LineSeries series, int warmupPeriod, bool showColdValues = true, double tension = 0.2)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToExtensionBlock"
      },
      "hash": "F4E218C3E2EFC51EC2F9E0B315EDE5CB531C62A9882F603D8C86C34B1B912566"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert extension methods to extension block",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Convert to extension block",
      "detailsInfo": "Convert classic extension methods to C#14 extension block",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 396,
          "offset": 24,
          "length": 14,
          "code": {
            "startLine": 395,
            "length": 14,
            "offset": 24,
            "surroundingCode": "\n    public static void PaintHistogram(this Indicator indicator, PaintChartEventArgs args, LineSeries series, int warmupPeriod, bool showColdValues = true)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToExtensionBlock"
      },
      "hash": "7A7241C8A44EDCC3CD71D8335F7D404DB5F35356E771021806284C78992F7565"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/tseries.cs",
          "line": 33,
          "offset": 12,
          "length": 7,
          "code": {
            "startLine": 32,
            "length": 7,
            "offset": 12,
            "surroundingCode": "\n    public TSeries(List<long> time, List<double> values)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "C2B316935E02690C20B60D5880CC4C45FBF11099AF096DCEE4942F6A81E3269C"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Validation.Tests.cs",
          "line": 12,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 11,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public CfbValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "1CC138C896D29A55A373E1FA4EC836D20B59B7090CE360D913F2061740FA22A7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Validation.Tests.cs",
          "line": 11,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 10,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public DmxValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "F1E34436CE3FE5F1174915F252F5FDD0842231225A2139964618FD47A59C1719"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.cs",
          "line": 30,
          "offset": 12,
          "length": 3,
          "code": {
            "startLine": 29,
            "length": 3,
            "offset": 12,
            "surroundingCode": "\n    public Dmx(int period)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "A4F92ADDB5A97CDADA5E114D1C1E4772B6C0F245C1F177D0BD1F33FD34D33B1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 20,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 19,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public AlmaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "652E6BE04B07BBAAA2C7196BA3E86F09D5369E7B7370A5DC98528BF01BB00086"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Validation.Tests.cs",
          "line": 12,
          "offset": 12,
          "length": 21,
          "code": {
            "startLine": 11,
            "length": 21,
            "offset": 13,
            "surroundingCode": "\r\n    public BesselValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "B1E713F9C56DCACAE7E91C05CA9EC379260799A6ED4550B57A142F3A6BEF33AB"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 17,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 16,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public DemaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "EB24C5BD22EA46878327B226BE9706BE7D12408C40DE328EECFAE772F343E386"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 18,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 17,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public DwmaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "79878AC4C5D8720046641CA765EDD892826BB98FA4B3A17EF6F44FCF9CBCBAD2"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 18,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 17,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public EmaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "977A5CB676738973ED0C6885B735F388B529D445004502DC73742866C61953C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 16,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 15,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public HmaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "7478B7A860BBEDA74F5C2614D23EA3AA807D4BC3EB7D978D2AF76B98B76A01E4"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 17,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 16,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public KamaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "D95E2495F152D3944E3BAC4C560496FE3B26642C2C0E4B9CE313E7159DDDB45D"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 17,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 16,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public LsmaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "A80D5ED076C17F6DA5CFA028057E2EDF36E667D12C12977D87DE075B1452D1CC"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Validation.Tests.cs",
          "line": 18,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 17,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public MamaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "D72886578CC1EDAEB6BBFDAD99A6B1D77FF2B8E7AA2909F633F48E6B8D19F526"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Validation.Tests.cs",
          "line": 16,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 15,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public PwmaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "9E603355A9A7BDD9D39B321C4420ACA43F952305037F0893831E4DF791E0FAF7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 18,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 17,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public SmaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "C938C298DA9C83EBCDA532A331A7E52B90388B558684267C95D2246A1F73D185"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Validation.Tests.cs",
          "line": 15,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 14,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public SsfValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "090D00BCB7ADF678C950ED03407867002B0F2EE200832C7468FDEB14201B00E5"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 19,
          "offset": 12,
          "length": 17,
          "code": {
            "startLine": 18,
            "length": 17,
            "offset": 13,
            "surroundingCode": "\r\n    public T3ValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "80BFAD0DDCEE5A51F42888A8C5F8DC699FB476005636B7997C091FD96C5EEEAF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 21,
          "offset": 12,
          "length": 19,
          "code": {
            "startLine": 20,
            "length": 19,
            "offset": 13,
            "surroundingCode": "\r\n    public TemaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "69F550DC31CB48EA67F3BDAE752E5445CF41F2614BD527F7B9F1C063BF4BBA51"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 17,
          "offset": 12,
          "length": 20,
          "code": {
            "startLine": 16,
            "length": 20,
            "offset": 13,
            "surroundingCode": "\r\n    public TrimaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "C006F92E9B3D609F64BC89C0B23E682DA6103B067268EB6FAB49D1F7E6E3DF57"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 19,
          "offset": 12,
          "length": 20,
          "code": {
            "startLine": 18,
            "length": 20,
            "offset": 13,
            "surroundingCode": "\r\n    public VidyaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "9791CF77D482C28F7E240C63A68C31ED4C01A2510A8DE5E25A56341EB264F08C"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 19,
          "offset": 12,
          "length": 18,
          "code": {
            "startLine": 18,
            "length": 18,
            "offset": 13,
            "surroundingCode": "\r\n    public WmaValidationTests(ITestOutputHelper output)\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "C345C472399E9E8BECE565EF654A9A6C48B1B0FAC0A7220A03979A026160264E"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 22,
          "offset": 16,
          "length": 24,
          "code": {
            "startLine": 21,
            "length": 24,
            "offset": 56,
            "surroundingCode": "        private readonly DateTime _time;\n        public TestCoordinatesConverter(DateTime time) => _time = time;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "50A3BB442A0E65F964764E259B5CD10F4B4042B27A5D908B89B96C6C8BD8271E"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert constructor into primary constructor",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Convert into primary constructor",
      "detailsInfo": "Replace ordinary constructor with primary constructor",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 33,
          "offset": 16,
          "length": 24,
          "code": {
            "startLine": 32,
            "length": 24,
            "offset": 21,
            "surroundingCode": "    {\n        public DataSourceInputAttribute(string label = \"Data source\", int sortIndex = 20)\n            : base(label, sortIndex, variants: new object[]"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ConvertToPrimaryConstructor"
      },
      "hash": "288C5877A63B1FD7BF83001CCA88E620B6A2DC2B906D710F14AAEC8B2B786530"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.cs",
          "line": 93,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 92,
            "length": 3,
            "offset": 38,
            "surroundingCode": "        var span = GetSpan();\n        for (int i = 0; i < span.Length; i++)\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "CC93EFC4AF8AABFBFA2D7F537065ED2AEA0F7A9150BB0AB70B40D7E53FADA2F2"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 20,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 19,
            "length": 3,
            "offset": 14,
            "surroundingCode": "    {\n        for (int i = 0; i < span.Length; i++)\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E11B55E52D94CF49BA52849BE6EF42097FCE5167C5D1EDEB763C9C24C32C0600"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 32,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 31,
            "length": 3,
            "offset": 37,
            "surroundingCode": "        double scalar = 0.0;\n        for (int i = 0; i < span.Length; i++)\n            scalar += span[i];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "1E970E860937F11321D8E559738E15960E0F980A73781657B7CB853BD39E0814"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 71,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 70,
            "length": 3,
            "offset": 41,
            "surroundingCode": "        double sumSquares = 0.0;\n        for (int i = 0; i < span.Length; i++)\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "D24902052CB2B76E49711F3D57C896C060BBAF6CF185D9E1EED0A3B590D0CD19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/Gbm.Tests.cs",
          "line": 163,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 162,
            "length": 3,
            "offset": 18,
            "surroundingCode": "        \r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "73AF724EB56206F8947D46EC2DABCB771283C3B3BE23F86C8139856C494DC5F2"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.OoplesRepro.Tests.cs",
          "line": 18,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 17,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 64,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 63,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 74,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 73,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 90,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 89,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 113,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 112,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 35,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 34,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 52,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 51,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 76,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 75,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 103,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 102,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 62,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 61,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 72,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 71,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 88,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 87,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 111,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 110,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 31,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 30,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 55,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 54,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 62,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 61,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 72,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 71,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 88,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 87,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 111,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 110,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 42,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 41,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 70,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 69,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 101,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 100,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 47,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 46,
            "length": 3,
            "offset": 64,
            "surroundingCode": "        var tSeries = new TSeries(source.Close.Count);\r\n        for (int i = 0; i < source.Close.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "44212526DAF636FC79FA6C9EC6F1C1591EC2B7050319B05DE4E45855F6CCA2EA"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 56,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 55,
            "length": 3,
            "offset": 57,
            "surroundingCode": "        var streamResults = new List<double>();\r\n        for (int i = 0; i < tSeries.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E84FEC12194509FA1721193731B8AC006BA29A8DF9EBC813E385E18B4E955387"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.cs",
          "line": 136,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 135,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < source.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "00957CB6C4B683E67922C69658B6382F5FFAB8DB7197C93C1413E1DB2CB7CAA1"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 66,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 65,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 76,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 75,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 92,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 91,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 115,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 114,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 34,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 33,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 62,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 61,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 104,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 103,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 62,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 61,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 72,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 71,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 88,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 87,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 111,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 110,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 35,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 34,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 53,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 52,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 79,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 78,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 110,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 109,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 62,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 61,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 71,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 70,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 87,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 86,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 122,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 121,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 144,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 143,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Validation.Tests.cs",
          "line": 24,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 23,
            "length": 3,
            "offset": 51,
            "surroundingCode": "        var streamResult = new TSeries();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "4A8D6FA328B2F9496457FB9D4A9B4B0E9AC5F708E6487B9B5A90C8644D327B62"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Validation.Tests.cs",
          "line": 47,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 46,
            "length": 3,
            "offset": 40,
            "surroundingCode": "        var dmx = new Dmx(14);\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "CF8EA481536AC02191FD346D083B7124E36AC261977284665BB53332CEC0C67E"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Tests.cs",
          "line": 288,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 287,
            "length": 3,
            "offset": 54,
            "surroundingCode": "        var streamingInd = new Alma(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "96E1A56C053E41FDB93DD2C36562375341944B8BF43214A1176B405BBE15E55C"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Tests.cs",
          "line": 297,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 296,
            "length": 3,
            "offset": 64,
            "surroundingCode": "        var eventingInd = new Alma(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "1BC5212EF7D7A0D43AC3B1E453A7A5CC3D00DAFC82625109C25E31766D6D165B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Tests.cs",
          "line": 250,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 249,
            "length": 3,
            "offset": 56,
            "surroundingCode": "        var streamingInd = new Bessel(length);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "3EFA5EBFD892ED8607E24EDCF07F71B229C7ACC67D3838F8C0C95B82301D2E12"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Tests.cs",
          "line": 259,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 258,
            "length": 3,
            "offset": 66,
            "surroundingCode": "        var eventingInd = new Bessel(pubSource, length);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "FA9034B590F4680672847BE810981CEAAF3A3584DB82E38A21D5840043473E69"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Tests.cs",
          "line": 188,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 187,
            "length": 3,
            "offset": 54,
            "surroundingCode": "        var streamingInd = new Conv(kernel);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C99C826D20CB392664BFBFD64E4C94D8B3DCD84E11CBCEBC13DB045EBBCDBFD5"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Tests.cs",
          "line": 197,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 196,
            "length": 3,
            "offset": 64,
            "surroundingCode": "        var eventingInd = new Conv(pubSource, kernel);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "21A8B1B026E630448B3490B488DB489D13166D131D7D2C0694CBC96481DEF637"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Tests.cs",
          "line": 286,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 285,
            "length": 3,
            "offset": 54,
            "surroundingCode": "        var streamingInd = new Dema(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "7495B7317A910E1E91A2A83E07F80813A444548A1AE5A2E2E0670B28D9AD824E"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Tests.cs",
          "line": 295,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 294,
            "length": 3,
            "offset": 64,
            "surroundingCode": "        var eventingInd = new Dema(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "4E6E419D4720A419962AA3D6B8E0ADB4A37BB1D83D16B41EB1CAF9FD4A1C7B32"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 170,
          "offset": 13,
          "length": 3,
          "code": {
            "startLine": 169,
            "length": 3,
            "offset": 14,
            "surroundingCode": "\r\n            for (int i = 0; i < _testData.Data.Count; i++)\r\n            {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "F0B8B70B50EB7C88FAE1D278467A19FD4CAF73138021C25BE440CCE773C809FC"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Tests.cs",
          "line": 195,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 194,
            "length": 3,
            "offset": 54,
            "surroundingCode": "        var streamingInd = new Dwma(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "9F887F415E9E68EA7CA4F24581FCF39AC37677BC0B8373201C0E7EF236D7B4F7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Tests.cs",
          "line": 204,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 203,
            "length": 3,
            "offset": 64,
            "surroundingCode": "        var eventingInd = new Dwma(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E007312745DD4501C5997CA9494750032F9852D2451FAA167E5481B08829CD1E"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 49,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 48,
            "length": 3,
            "offset": 18,
            "surroundingCode": "        \r\n        for (int i = 0; i < _testData.Data.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "BBBFEBF674E76924B99092751C67DDE8CD531A63CBDB05A6C95ABEEDCB2DCA1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 76,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 75,
            "length": 3,
            "offset": 18,
            "surroundingCode": "        \r\n        for (int i = 0; i < _testData.Data.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "BBBFEBF674E76924B99092751C67DDE8CD531A63CBDB05A6C95ABEEDCB2DCA1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Tests.cs",
          "line": 604,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 603,
            "length": 3,
            "offset": 53,
            "surroundingCode": "        var streamingInd = new Ema(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "18AFCB68EF67721A46FB76B2ED8701DB5417E3EE3119B90D53F1F5CFB0CB7CAC"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Tests.cs",
          "line": 613,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 612,
            "length": 3,
            "offset": 63,
            "surroundingCode": "        var eventingInd = new Ema(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C2B903DF787CE642ED512E6C80414B166BBD8CEB809773F224649A38E81E60DF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 371,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 370,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        // Find first valid value to seed lastValid\n        for (int k = 0; k < source.Length; k++)\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "F7B1E95093FF9F3AE6EC959FBAAA975D8C195E784E73022829788E90F0E58B56"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Tests.cs",
          "line": 262,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 261,
            "length": 3,
            "offset": 53,
            "surroundingCode": "        var streamingInd = new Hma(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "1E704E12F7E242DA4236895777AFC0D883E1DF4C0FAE19E0A46EF05936F0BE22"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Tests.cs",
          "line": 271,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 270,
            "length": 3,
            "offset": 63,
            "surroundingCode": "        var eventingInd = new Hma(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "ABA7AADB42BB3798C57E8A0A82B3240F0C56B84709E4B03CB95A5BBE433E4F31"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 180,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 179,
            "length": 3,
            "offset": 48,
            "surroundingCode": "        var streamingInd = new Htit();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "A4B51D6A1BE4E14441DFE5BBF958D28CE321AD8F3CF1706A3C27DEDD5D60FCD0"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 189,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 188,
            "length": 3,
            "offset": 56,
            "surroundingCode": "        var eventingInd = new Htit(pubSource);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "0A603BAD3241103CA8EC7D3BCC17A488B507673F75B26B2F5583B4EC0B8F2B67"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Tests.cs",
          "line": 200,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 199,
            "length": 3,
            "offset": 53,
            "surroundingCode": "        var streamingInd = new Jma(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "72D3399CC21AE819394B510CF8A2679C387EA444D32E2F10CCA199E81BB0A315"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Tests.cs",
          "line": 209,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 208,
            "length": 3,
            "offset": 63,
            "surroundingCode": "        var eventingInd = new Jma(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "2EF6D77866BB760110ED9F10EC24A883D68E017F0A1D189EB57238EE30F9C17A"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 260,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 259,
            "length": 3,
            "offset": 54,
            "surroundingCode": "        var streamingInd = new Kama(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "A3BF7D3A0C8CBABC459DBB2DC975C5589165DCD050B18EA8A000FF671F585363"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 269,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 268,
            "length": 3,
            "offset": 64,
            "surroundingCode": "        var eventingInd = new Kama(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5E590F02914E1401FB0AFDE2575E833FC526BC7D64412EE8B7161884E53D1D5D"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Tests.cs",
          "line": 377,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 376,
            "length": 3,
            "offset": 54,
            "surroundingCode": "        var streamingInd = new Pwma(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "12CBEAA970F429508A4C7812C4283323C973486E858F417655B3C151A3FCB2BA"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Tests.cs",
          "line": 386,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 385,
            "length": 3,
            "offset": 64,
            "surroundingCode": "        var eventingInd = new Pwma(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "2183A423633CBD4A8F7F54B5565FBC3828CDD21277B6447CD590486D5CA4812A"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Tests.cs",
          "line": 489,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 488,
            "length": 3,
            "offset": 53,
            "surroundingCode": "        var streamingInd = new Sma(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "119BF9B9818E59A606FDD80EC89AE89B49532C82C02C9AB666DBB1873E2C59B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Tests.cs",
          "line": 498,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 497,
            "length": 3,
            "offset": 63,
            "surroundingCode": "        var eventingInd = new Sma(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "EA229F5D4CBFC00FDAA48D157F5F038B4E824DABA1FC7EDA876547098C200753"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Tests.cs",
          "line": 266,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 265,
            "length": 3,
            "offset": 53,
            "surroundingCode": "        var streamingInd = new Ssf(period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DA879A9A78FDA709C1480A11A6685D12881DFBDA3EDDB1AC66456C624D48A5CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Tests.cs",
          "line": 275,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 274,
            "length": 3,
            "offset": 63,
            "surroundingCode": "        var eventingInd = new Ssf(pubSource, period);\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "55913AF422E2DC57E5173E622C8E6E5EDCCD26EA08DF1A82FD428F3BE3C9088B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 65,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 64,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 75,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 74,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 91,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 90,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 152,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 151,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "E51F13D320EB0E12101598DAB21743E6B14242B2F56FD26A43A3210AD08A1855"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 41,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 40,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.cs",
          "line": 227,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 226,
            "length": 3,
            "offset": 9,
            "surroundingCode": "\n        for (int i = 0; i < source.Count; i++)\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DFD7E3D27DBD708575AD7A57E3560BDC9C65BB016614796A0357287D167EF8AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 61,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 60,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 71,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 70,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 88,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 87,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 112,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 111,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 135,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 134,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 61,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 60,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 71,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 70,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 88,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 87,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 112,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 111,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 135,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 134,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 61,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 60,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 71,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 70,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 88,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 87,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 112,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 111,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 135,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 134,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 61,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 60,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 71,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 70,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 88,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 87,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 112,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 111,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 135,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 134,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 61,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 60,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 70,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 69,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 87,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 86,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 111,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 110,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 134,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 133,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 16,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 15,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 61,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 60,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DCE50DA7EE48DC6A522AF53462D9ED10F8D1DEF1D2FC826156737F0FD5F1DA91"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 71,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 70,
            "length": 3,
            "offset": 31,
            "surroundingCode": "        // Feed again\r\n        for (int i = 0; i < bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "C4BFBD50CE817F1FFBCD34A5D1590F82B32D3E2A5D5962CDDAFBBC1E772CCC8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 88,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 87,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 112,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 111,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 135,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 134,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        var streamingResults = new List<double>();\r\n        for (int i = 0; i < series.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "5538520D6AF5C43428D6310C0CA14E29DACC4A55CBAE720EF28C70E9354B8B7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 31,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 30,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 50,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 49,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < _data.Bars.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "AD0A6298AE99537D7D6BBAA7E111F57312DDE146E223F1CB1752DA8513B26DCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.cs",
          "line": 120,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 119,
            "length": 3,
            "offset": 9,
            "surroundingCode": "\n        for (int i = 0; i < source.Count; i++)\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "DFD7E3D27DBD708575AD7A57E3560BDC9C65BB016614796A0357287D167EF8AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "For-loop can be converted into foreach-loop",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "For-loop can be converted into foreach-loop",
      "detailsInfo": "For-loop can be converted into foreach-loop",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.cs",
          "line": 128,
          "offset": 9,
          "length": 3,
          "code": {
            "startLine": 127,
            "length": 3,
            "offset": 10,
            "surroundingCode": "\r\n        for (int i = 0; i < source.Count; i++)\r\n        {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "ForCanBeConvertedToForeach"
      },
      "hash": "00957CB6C4B683E67922C69658B6382F5FFAB8DB7197C93C1413E1DB2CB7CAA1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Heuristically unreachable code",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Code is heuristically unreachable",
      "detailsInfo": "Heuristically unreachable code detected",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 197,
          "offset": 27,
          "length": 28,
          "code": {
            "startLine": 196,
            "length": 28,
            "offset": 71,
            "surroundingCode": "        var data = indicator.HistoricalData;\n        if (data == null) return Array.Empty<Point>();\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "HeuristicUnreachableCode"
      },
      "hash": "DC83FD692A471A50A607194809CA6FF0B872A45B3C9E83065046E2D03231DA05"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Heuristically unreachable code",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Code is heuristically unreachable",
      "detailsInfo": "Heuristically unreachable code detected",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 291,
          "offset": 27,
          "length": 7,
          "code": {
            "startLine": 290,
            "length": 7,
            "offset": 71,
            "surroundingCode": "        var data = indicator.HistoricalData;\n        if (data == null) return;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "HeuristicUnreachableCode"
      },
      "hash": "A1F46420E389F5EDBDD180B86E842CEB7E8F1BA4FD0500735397F2D4AC19AB41"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Heuristically unreachable code",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Code is heuristically unreachable",
      "detailsInfo": "Heuristically unreachable code detected",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 360,
          "offset": 27,
          "length": 38,
          "code": {
            "startLine": 359,
            "length": 38,
            "offset": 71,
            "surroundingCode": "        var data = indicator.HistoricalData;\n        if (data == null) return new List<(Rectangle, Color)>();\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "HeuristicUnreachableCode"
      },
      "hash": "F8FDF7A8C2B770D5B1DDB572641AA23B34DE46DF0DF9DD3D253B10943FCF8CD4"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'A1_1' does not match rule 'Instance fields (not private)'. Suggested name is 'A11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 38,
          "offset": 23,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 86,
            "surroundingCode": "        // Absolute Momentum filters (3 stages, 2 filters each)\n        public double A1_1, A1_2;\n        public double A2_1, A2_2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1A3701A81282B64FB9582CE20A8FD16620A585C893BA3390B44D38321D7B5DFD"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'A1_2' does not match rule 'Instance fields (not private)'. Suggested name is 'A12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 38,
          "offset": 29,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 92,
            "surroundingCode": "        // Absolute Momentum filters (3 stages, 2 filters each)\n        public double A1_1, A1_2;\n        public double A2_1, A2_2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1A3701A81282B64FB9582CE20A8FD16620A585C893BA3390B44D38321D7B5DFD"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'A2_1' does not match rule 'Instance fields (not private)'. Suggested name is 'A21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 39,
          "offset": 23,
          "length": 4,
          "code": {
            "startLine": 38,
            "length": 4,
            "offset": 56,
            "surroundingCode": "        public double A1_1, A1_2;\n        public double A2_1, A2_2;\n        public double A3_1, A3_2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4BA79C5BA305ABF554179FB3ED0C8BC03A598C9D2F52F00AEC6BF1D8066BD0A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'A2_2' does not match rule 'Instance fields (not private)'. Suggested name is 'A22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 39,
          "offset": 29,
          "length": 4,
          "code": {
            "startLine": 38,
            "length": 4,
            "offset": 62,
            "surroundingCode": "        public double A1_1, A1_2;\n        public double A2_1, A2_2;\n        public double A3_1, A3_2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4BA79C5BA305ABF554179FB3ED0C8BC03A598C9D2F52F00AEC6BF1D8066BD0A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'A3_1' does not match rule 'Instance fields (not private)'. Suggested name is 'A31'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 40,
          "offset": 23,
          "length": 4,
          "code": {
            "startLine": 39,
            "length": 4,
            "offset": 56,
            "surroundingCode": "        public double A2_1, A2_2;\n        public double A3_1, A3_2;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "30E9F1A06FEA7DEE0606AD308EA35B61E99969AA3771BBF62763892F4609353B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'A3_2' does not match rule 'Instance fields (not private)'. Suggested name is 'A32'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 40,
          "offset": 29,
          "length": 4,
          "code": {
            "startLine": 39,
            "length": 4,
            "offset": 62,
            "surroundingCode": "        public double A2_1, A2_2;\n        public double A3_1, A3_2;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "30E9F1A06FEA7DEE0606AD308EA35B61E99969AA3771BBF62763892F4609353B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'AverageSIMD' does not match rule 'Methods'. Suggested name is 'AverageSimd'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 271,
          "offset": 26,
          "length": 11,
          "code": {
            "startLine": 270,
            "length": 11,
            "offset": 80,
            "surroundingCode": "    [MethodImpl(MethodImplOptions.AggressiveInlining)]\n    public static double AverageSIMD(this ReadOnlySpan<double> span)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4E1D8404A23583AB184C201FFE8841F5306EF37B6CBEF95A1648FD2D6491C8D9"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'COMPENSATOR_THRESHOLD' does not match rule 'Constant fields (private)'. Suggested name is 'CompensatorThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 185,
          "offset": 26,
          "length": 21,
          "code": {
            "startLine": 184,
            "length": 21,
            "offset": 77,
            "surroundingCode": "    private const double COVERAGE_THRESHOLD = 0.05;\n    private const double COMPENSATOR_THRESHOLD = 1e-10;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "5DC8E6A39E760298D86AB4392B120C1829DD0C068BF8E1296F8282FBDB03BAE3"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'COVERAGE_THRESHOLD' does not match rule 'Constant fields (private)'. Suggested name is 'CoverageThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 184,
          "offset": 26,
          "length": 18,
          "code": {
            "startLine": 183,
            "length": 18,
            "offset": 26,
            "surroundingCode": "\n    private const double COVERAGE_THRESHOLD = 0.05;\n    private const double COMPENSATOR_THRESHOLD = 1e-10;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CDB24F680A3F1C3AA4E2DE603AD7266CD67FE11430596CEEAC6464F8099BAA11"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'GBM' does not match rule 'Types and namespaces'. Suggested name is 'Gbm'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/gbm.cs",
          "line": 14,
          "offset": 14,
          "length": 3,
          "code": {
            "startLine": 13,
            "length": 3,
            "offset": 100,
            "surroundingCode": "#pragma warning disable S2245 // Random is acceptable for simulation/testing purposes\r\npublic class GBM : IFeed\r\n#pragma warning restore S101"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "23E88139F36C28A369976A175C76D85821AF6C8FE451A2F3FF64DCA294BEE017"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'GBMTests' does not match rule 'Types and namespaces'. Suggested name is 'GbmTests'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/Gbm.Tests.cs",
          "line": 4,
          "offset": 14,
          "length": 8,
          "code": {
            "startLine": 3,
            "length": 8,
            "offset": 15,
            "surroundingCode": "\r\npublic class GBMTests\r\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9D79853CC3DBACB7CFD61AF197362670B2DEEDA91C58E599099D81AA542D22CE"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'GeneratesRealisticOHLCV' does not match rule 'Methods'. Suggested name is 'GeneratesRealisticOhlcv'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/Gbm.Tests.cs",
          "line": 156,
          "offset": 17,
          "length": 23,
          "code": {
            "startLine": 155,
            "length": 23,
            "offset": 28,
            "surroundingCode": "    [Fact]\r\n    public void GeneratesRealisticOHLCV()\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "3F10C91DF436857883A045326A2B0879F09B5F983A43B5042E502363C6632A06"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'HL2' does not match rule 'Enum members'. Suggested name is 'Hl2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 12,
          "offset": 29,
          "length": 3,
          "code": {
            "startLine": 11,
            "length": 3,
            "offset": 30,
            "surroundingCode": "{\n    Open, High, Low, Close, HL2, OC2, OHL3, HLC3, OHLC4, HLCC4\n}"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D506084D041775431D7C8F47A09583FF93225F777F35ADA87233920FEAC2DD1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'HL2' does not match rule 'Properties'. Suggested name is 'Hl2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.cs",
          "line": 22,
          "offset": 19,
          "length": 3,
          "code": {
            "startLine": 21,
            "length": 3,
            "offset": 89,
            "surroundingCode": "    // Computed properties (calculated on demand, no storage overhead)\n    public double HL2 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (High + Low) * 0.5; }\n    public double OC2 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + Close) * 0.5; }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "69EF2B886AD26C9A496F987EF4F6325D12E15CA888B224098149954088D13774"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'HLC3' does not match rule 'Enum members'. Suggested name is 'Hlc3'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 12,
          "offset": 45,
          "length": 4,
          "code": {
            "startLine": 11,
            "length": 4,
            "offset": 46,
            "surroundingCode": "{\n    Open, High, Low, Close, HL2, OC2, OHL3, HLC3, OHLC4, HLCC4\n}"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D506084D041775431D7C8F47A09583FF93225F777F35ADA87233920FEAC2DD1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'HLC3' does not match rule 'Properties'. Suggested name is 'Hlc3'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.cs",
          "line": 25,
          "offset": 19,
          "length": 4,
          "code": {
            "startLine": 24,
            "length": 4,
            "offset": 147,
            "surroundingCode": "    public double OHL3 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + High + Low) * 0.333333333333333333; }\n    public double HLC3 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (High + Low + Close) * 0.333333333333333333; }\n    public double OHLC4 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + High + Low + Close) * 0.25; }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "8022406EA38545EC06872FB9FBD095D79C860013E1F0DD5226FAD937007F6E23"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'HLCC4' does not match rule 'Enum members'. Suggested name is 'Hlcc4'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 12,
          "offset": 58,
          "length": 5,
          "code": {
            "startLine": 11,
            "length": 5,
            "offset": 59,
            "surroundingCode": "{\n    Open, High, Low, Close, HL2, OC2, OHL3, HLC3, OHLC4, HLCC4\n}"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D506084D041775431D7C8F47A09583FF93225F777F35ADA87233920FEAC2DD1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'HLCC4' does not match rule 'Properties'. Suggested name is 'Hlcc4'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.cs",
          "line": 27,
          "offset": 19,
          "length": 5,
          "code": {
            "startLine": 26,
            "length": 5,
            "offset": 140,
            "surroundingCode": "    public double OHLC4 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + High + Low + Close) * 0.25; }\n    public double HLCC4 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (High + Low + Close + Close) * 0.25; }\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "31E0551B08FE0991BC12F5C7DA16385881F553BFE77D3B6643299028177FBF8B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'HistBarWidth' does not match rule 'Local variables'. Suggested name is 'histBarWidth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 382,
          "offset": 17,
          "length": 12,
          "code": {
            "startLine": 381,
            "length": 12,
            "offset": 69,
            "surroundingCode": "            int barY0 = (int)converter.GetChartY(0);\n            int HistBarWidth = indicator.CurrentChart.BarsWidth - 2;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6EF77886EDBEDA5D9B4DD906CCF1FB1C90E60B45E35DE585F50F74533F5BB6C5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'I1_buffer' does not match rule 'Local variables'. Suggested name is 'i1Buffer'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 254,
          "offset": 22,
          "length": 9,
          "code": {
            "startLine": 253,
            "length": 9,
            "offset": 76,
            "surroundingCode": "        Span<double> detrender = stackalloc double[8];\n        Span<double> I1_buffer = stackalloc double[8];\n        Span<double> Q1_buffer = stackalloc double[8];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1D6BAAFEBDB70A3C4D32F353D92EF429378F6D53B078346CC7D309E8F5F6FE98"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'L' does not match rule 'Local variables'. Suggested name is 'l'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.cs",
          "line": 160,
          "offset": 17,
          "length": 1,
          "code": {
            "startLine": 159,
            "length": 1,
            "offset": 26,
            "surroundingCode": "        {\n            int L = _lengths[i];\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1173C6C2878B2BE9BE74159F651B0600B0A8687EEF70824BFA338C821976A4EA"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'L' does not match rule 'Local variables'. Suggested name is 'l'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.cs",
          "line": 336,
          "offset": 21,
          "length": 1,
          "code": {
            "startLine": 335,
            "length": 1,
            "offset": 34,
            "surroundingCode": "            {\n                int L = lens[k];\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6DDEB155C9B4BCD65B58C4E5B9C4DE251D421C56AFAB067EAE395B00B50CA9F6"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'M1_1' does not match rule 'Instance fields (not private)'. Suggested name is 'M11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 33,
          "offset": 23,
          "length": 4,
          "code": {
            "startLine": 32,
            "length": 4,
            "offset": 77,
            "surroundingCode": "        // Momentum filters (3 stages, 2 filters each)\n        public double M1_1, M1_2;\n        public double M2_1, M2_2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "7BB0A4483012CE2C0ECCBE7FD6EF8F5752CA809C35D1DAAF66DCCC64E14E9C63"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'M1_2' does not match rule 'Instance fields (not private)'. Suggested name is 'M12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 33,
          "offset": 29,
          "length": 4,
          "code": {
            "startLine": 32,
            "length": 4,
            "offset": 83,
            "surroundingCode": "        // Momentum filters (3 stages, 2 filters each)\n        public double M1_1, M1_2;\n        public double M2_1, M2_2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "7BB0A4483012CE2C0ECCBE7FD6EF8F5752CA809C35D1DAAF66DCCC64E14E9C63"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'M2_1' does not match rule 'Instance fields (not private)'. Suggested name is 'M21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 34,
          "offset": 23,
          "length": 4,
          "code": {
            "startLine": 33,
            "length": 4,
            "offset": 56,
            "surroundingCode": "        public double M1_1, M1_2;\n        public double M2_1, M2_2;\n        public double M3_1, M3_2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "253DB717D5D1BAD81DFA00D33150F63F6445B71232BDBB366EB45EBD3C082DB4"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'M2_2' does not match rule 'Instance fields (not private)'. Suggested name is 'M22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 34,
          "offset": 29,
          "length": 4,
          "code": {
            "startLine": 33,
            "length": 4,
            "offset": 62,
            "surroundingCode": "        public double M1_1, M1_2;\n        public double M2_1, M2_2;\n        public double M3_1, M3_2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "253DB717D5D1BAD81DFA00D33150F63F6445B71232BDBB366EB45EBD3C082DB4"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'M3_1' does not match rule 'Instance fields (not private)'. Suggested name is 'M31'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 35,
          "offset": 23,
          "length": 4,
          "code": {
            "startLine": 34,
            "length": 4,
            "offset": 56,
            "surroundingCode": "        public double M2_1, M2_2;\n        public double M3_1, M3_2;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6759481F9824EF38B0F5DDEC63E3E4C17000538FC07AD85185BACFE9C2AD72E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'M3_2' does not match rule 'Instance fields (not private)'. Suggested name is 'M32'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 35,
          "offset": 29,
          "length": 4,
          "code": {
            "startLine": 34,
            "length": 4,
            "offset": 62,
            "surroundingCode": "        public double M2_1, M2_2;\n        public double M3_1, M3_2;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6759481F9824EF38B0F5DDEC63E3E4C17000538FC07AD85185BACFE9C2AD72E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'Mask' does not match rule 'Local constants'. Suggested name is 'mask'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 267,
          "offset": 19,
          "length": 4,
          "code": {
            "startLine": 266,
            "length": 4,
            "offset": 39,
            "surroundingCode": "        // Constants\n        const int Mask = 7;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "BE975EA486C58D6631ACBFF745E57C0D1B005669BFD5B161C1B5627E58ACEFF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'MaxSIMD' does not match rule 'Methods'. Suggested name is 'MaxSimd'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 226,
          "offset": 26,
          "length": 7,
          "code": {
            "startLine": 225,
            "length": 7,
            "offset": 80,
            "surroundingCode": "    [MethodImpl(MethodImplOptions.AggressiveInlining)]\n    public static double MaxSIMD(this ReadOnlySpan<double> span)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "7036CA38D59FB0678408752613F1DBF51D45AE4C92E19B21F913A4D6B67506E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'MinMaxSIMD' does not match rule 'Methods'. Suggested name is 'MinMaxSimd'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 348,
          "offset": 44,
          "length": 10,
          "code": {
            "startLine": 347,
            "length": 10,
            "offset": 98,
            "surroundingCode": "    [MethodImpl(MethodImplOptions.AggressiveInlining)]\n    public static (double Min, double Max) MinMaxSIMD(this ReadOnlySpan<double> span)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CE6E31B89B01578CC31C5174041120C3EEFB4145BC79D94F68BD8B6C8A3AF89F"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'MinSIMD' does not match rule 'Methods'. Suggested name is 'MinSimd'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 181,
          "offset": 26,
          "length": 7,
          "code": {
            "startLine": 180,
            "length": 7,
            "offset": 80,
            "surroundingCode": "    [MethodImpl(MethodImplOptions.AggressiveInlining)]\n    public static double MinSIMD(this ReadOnlySpan<double> span)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "089029A0266CC4D8E387D6A5D98503AEE68F177121097C54328E7E3157457080"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'OC2' does not match rule 'Enum members'. Suggested name is 'Oc2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 12,
          "offset": 34,
          "length": 3,
          "code": {
            "startLine": 11,
            "length": 3,
            "offset": 35,
            "surroundingCode": "{\n    Open, High, Low, Close, HL2, OC2, OHL3, HLC3, OHLC4, HLCC4\n}"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D506084D041775431D7C8F47A09583FF93225F777F35ADA87233920FEAC2DD1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'OC2' does not match rule 'Properties'. Suggested name is 'Oc2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.cs",
          "line": 23,
          "offset": 19,
          "length": 3,
          "code": {
            "startLine": 22,
            "length": 3,
            "offset": 122,
            "surroundingCode": "    public double HL2 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (High + Low) * 0.5; }\n    public double OC2 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + Close) * 0.5; }\n    public double OHL3 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + High + Low) * 0.333333333333333333; }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EE53FE1DDDC3207CD1DBE71A061251F4E094F3D49CDCCC01522AA82140836CE2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'OHL3' does not match rule 'Enum members'. Suggested name is 'Ohl3'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 12,
          "offset": 39,
          "length": 4,
          "code": {
            "startLine": 11,
            "length": 4,
            "offset": 40,
            "surroundingCode": "{\n    Open, High, Low, Close, HL2, OC2, OHL3, HLC3, OHLC4, HLCC4\n}"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D506084D041775431D7C8F47A09583FF93225F777F35ADA87233920FEAC2DD1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'OHL3' does not match rule 'Properties'. Suggested name is 'Ohl3'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.cs",
          "line": 24,
          "offset": 19,
          "length": 4,
          "code": {
            "startLine": 23,
            "length": 4,
            "offset": 124,
            "surroundingCode": "    public double OC2 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + Close) * 0.5; }\n    public double OHL3 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + High + Low) * 0.333333333333333333; }\n    public double HLC3 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (High + Low + Close) * 0.333333333333333333; }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "BD2FF66B1FD9778243CDCAE5BF25A7CC5E8ACB9D855205A94F49BC1F86AC0FA8"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'OHLC4' does not match rule 'Enum members'. Suggested name is 'Ohlc4'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 12,
          "offset": 51,
          "length": 5,
          "code": {
            "startLine": 11,
            "length": 5,
            "offset": 52,
            "surroundingCode": "{\n    Open, High, Low, Close, HL2, OC2, OHL3, HLC3, OHLC4, HLCC4\n}"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D506084D041775431D7C8F47A09583FF93225F777F35ADA87233920FEAC2DD1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'OHLC4' does not match rule 'Properties'. Suggested name is 'Ohlc4'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.cs",
          "line": 26,
          "offset": 19,
          "length": 5,
          "code": {
            "startLine": 25,
            "length": 5,
            "offset": 148,
            "surroundingCode": "    public double HLC3 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (High + Low + Close) * 0.333333333333333333; }\n    public double OHLC4 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (Open + High + Low + Close) * 0.25; }\n    public double HLCC4 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get => (High + Low + Close + Close) * 0.25; }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0A1B3361A9657836D0EDF4CA5E7F47FD7B4FE7DEFE3ACF22D886F1611DF90001"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'Q1_buffer' does not match rule 'Local variables'. Suggested name is 'q1Buffer'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 255,
          "offset": 22,
          "length": 9,
          "code": {
            "startLine": 254,
            "length": 9,
            "offset": 76,
            "surroundingCode": "        Span<double> I1_buffer = stackalloc double[8];\n        Span<double> Q1_buffer = stackalloc double[8];\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9C959FECEFF0B7696EC6DC92BEE530D9F2F37F93DFB2A04500E78DA712C66B1D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'SimdThreshold' does not match rule 'Local constants'. Suggested name is 'simdThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 265,
          "offset": 19,
          "length": 13,
          "code": {
            "startLine": 264,
            "length": 13,
            "offset": 93,
            "surroundingCode": "        // Requirements: SIMD support, large enough dataset, no NaN values\n        const int SimdThreshold = 256;\n        if (len >= SimdThreshold && !source.ContainsNonFinite())"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "34C3848F1FE82BAE4F0F7767C686B9094F5B3E04292760E61BCC27672FFDA791"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'SimdThreshold' does not match rule 'Local constants'. Suggested name is 'simdThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 234,
          "offset": 19,
          "length": 13,
          "code": {
            "startLine": 233,
            "length": 13,
            "offset": 19,
            "surroundingCode": "\n        const int SimdThreshold = 256;\n        if (Avx512F.IsSupported && len >= SimdThreshold && !source.ContainsNonFinite())"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D70A78B42F7A67B336DE70818BA1E2D4960F155C6B6447F4C094F77DA767B1D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'StackAllocThreshold' does not match rule 'Local constants'. Suggested name is 'stackAllocThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 297,
          "offset": 19,
          "length": 19,
          "code": {
            "startLine": 296,
            "length": 19,
            "offset": 19,
            "surroundingCode": "\n        const int StackAllocThreshold = 256;\n        Span<double> buffer = period <= StackAllocThreshold"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "8CAA789789FD0189B74A93486BAC97CA0BC9DAD03AF707879ADE964EDE1F1444"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'StackAllocThreshold' does not match rule 'Local constants'. Suggested name is 'stackAllocThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 310,
          "offset": 19,
          "length": 19,
          "code": {
            "startLine": 309,
            "length": 19,
            "offset": 19,
            "surroundingCode": "\n        const int StackAllocThreshold = 256;\n        Span<double> buffer = period <= StackAllocThreshold"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "8CAA789789FD0189B74A93486BAC97CA0BC9DAD03AF707879ADE964EDE1F1444"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'StackallocThreshold' does not match rule 'Local constants'. Suggested name is 'stackallocThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.cs",
          "line": 183,
          "offset": 19,
          "length": 19,
          "code": {
            "startLine": 182,
            "length": 19,
            "offset": 20,
            "surroundingCode": "\r\n        const int StackallocThreshold = 256;\r\n        Span<double> adxSpan = len <= StackallocThreshold"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "079A0F229CD6A79780CCAE3C9490073BFDE2FBE22C7C354DBB6AB488D2E308F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'StackallocThreshold' does not match rule 'Local constants'. Suggested name is 'stackallocThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.cs",
          "line": 175,
          "offset": 19,
          "length": 19,
          "code": {
            "startLine": 174,
            "length": 19,
            "offset": 19,
            "surroundingCode": "\n        const int StackallocThreshold = 256;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F5E4C115B39FAF172CBEB15C6DAC3590A7978C691D5A07D6B71D87D52AD6BCB3"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'StackallocThreshold' does not match rule 'Local constants'. Suggested name is 'stackallocThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.cs",
          "line": 290,
          "offset": 19,
          "length": 19,
          "code": {
            "startLine": 289,
            "length": 19,
            "offset": 19,
            "surroundingCode": "\n        const int StackallocThreshold = 256;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F5E4C115B39FAF172CBEB15C6DAC3590A7978C691D5A07D6B71D87D52AD6BCB3"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'StackallocThreshold' does not match rule 'Local constants'. Suggested name is 'stackallocThreshold'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.cs",
          "line": 167,
          "offset": 19,
          "length": 19,
          "code": {
            "startLine": 166,
            "length": 19,
            "offset": 19,
            "surroundingCode": "\n        const int StackallocThreshold = 256;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F5E4C115B39FAF172CBEB15C6DAC3590A7978C691D5A07D6B71D87D52AD6BCB3"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'StdDevSIMD' does not match rule 'Methods'. Suggested name is 'StdDevSimd'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 336,
          "offset": 26,
          "length": 10,
          "code": {
            "startLine": 335,
            "length": 10,
            "offset": 80,
            "surroundingCode": "    [MethodImpl(MethodImplOptions.AggressiveInlining)]\n    public static double StdDevSIMD(this ReadOnlySpan<double> span, double? mean = null)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CC8C5A720CAD44344F99E17A2FBF4DF8258C2CF107D7B3927D866454B68B032E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'SumSIMD' does not match rule 'Methods'. Suggested name is 'SumSimd'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 143,
          "offset": 26,
          "length": 7,
          "code": {
            "startLine": 142,
            "length": 7,
            "offset": 80,
            "surroundingCode": "    [MethodImpl(MethodImplOptions.AggressiveInlining)]\n    public static double SumSIMD(this ReadOnlySpan<double> span)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B507A26F6DF72373968A47B84F6A3428E3D69799EC6104433B43ECF4E76E6880"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'SumXY' does not match rule 'Properties'. Suggested name is 'SumXy'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 37,
          "offset": 53,
          "length": 5,
          "code": {
            "startLine": 36,
            "length": 5,
            "offset": 53,
            "surroundingCode": "\n    private record struct State(double SumY, double SumXY, double LastVal, double LastValidValue);\n    private State _state;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "72A286E97F71B4663AA430857F7E55B743AB5542DD31AFE23F54BDB0CBBEA0E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'TBar' does not match rule 'Types and namespaces'. Suggested name is 'Bar'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.cs",
          "line": 10,
          "offset": 31,
          "length": 4,
          "code": {
            "startLine": 9,
            "length": 4,
            "offset": 47,
            "surroundingCode": "[SkipLocalsInit]\npublic readonly record struct TBar(long Time, double Open, double High, double Low, double Close, double Volume)\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "7A59931D4B80A058A8B5EA9D8D2444DB43BA5A7EED23E7A22C8846552AFFA34F"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'TBarSeries' does not match rule 'Types and namespaces'. Suggested name is 'BarSeries'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/tbarseries.cs",
          "line": 12,
          "offset": 14,
          "length": 10,
          "code": {
            "startLine": 11,
            "length": 10,
            "offset": 28,
            "surroundingCode": "/// </summary>\npublic class TBarSeries : IReadOnlyList<TBar>\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1D00E0CED1BA0581F2389EAC901E11FBB764A60D58EC29C87F040FEBF3CD7A72"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'TBarSeriesTests' does not match rule 'Types and namespaces'. Suggested name is 'BarSeriesTests'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/TBarSeries.Tests.cs",
          "line": 4,
          "offset": 18,
          "length": 15,
          "code": {
            "startLine": 3,
            "length": 15,
            "offset": 20,
            "surroundingCode": "{\r\n    public class TBarSeriesTests\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A887C759EF60FE5A44D942A8E102B4C281E99E1F2C748E4BF36804833428C5D3"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'TBarTests' does not match rule 'Types and namespaces'. Suggested name is 'BarTests'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbar/TBar.Tests.cs",
          "line": 4,
          "offset": 18,
          "length": 9,
          "code": {
            "startLine": 3,
            "length": 9,
            "offset": 20,
            "surroundingCode": "{\r\n    public class TBarTests\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6E51B74CBB269EFEC82F17FF52B2B0A5DD92586FDE3328AF977E7D166CF73C02"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'TSeries' does not match rule 'Types and namespaces'. Suggested name is 'Series'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/tseries.cs",
          "line": 14,
          "offset": 14,
          "length": 7,
          "code": {
            "startLine": 13,
            "length": 7,
            "offset": 28,
            "surroundingCode": "/// </summary>\npublic class TSeries : IReadOnlyList<TValue>, ITValuePublisher\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "48ED7901C043A7F29657293201A00EF3B5D2CDAF41F78FE26C75C2D9481A95DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'TSeriesTests' does not match rule 'Types and namespaces'. Suggested name is 'SeriesTests'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/TSeries.Tests.cs",
          "line": 4,
          "offset": 14,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 15,
            "surroundingCode": "\r\npublic class TSeriesTests\r\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A35067960164F83DD31066DB63B968A8DDF636635DF2B7C26A42228E29F44A83"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'TValue' does not match rule 'Types and namespaces'. Suggested name is 'Value'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tvalue/tvalue.cs",
          "line": 10,
          "offset": 31,
          "length": 6,
          "code": {
            "startLine": 9,
            "length": 6,
            "offset": 47,
            "surroundingCode": "[SkipLocalsInit]\npublic readonly record struct TValue(long Time, double Value)\n{"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4FE7F107A9A6D691996559A7834F7CA6CA1B4549975D05D68448D7B2621FF630"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'TValueTests' does not match rule 'Types and namespaces'. Suggested name is 'ValueTests'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tvalue/TValue.Tests.cs",
          "line": 4,
          "offset": 18,
          "length": 11,
          "code": {
            "startLine": 3,
            "length": 11,
            "offset": 20,
            "surroundingCode": "{\r\n    public class TValueTests\r\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2B9B38A4BA5FEF6BEB6C9A2FE61DEC9E4987E86289445BCC8C002588698E31B5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'TWOPI' does not match rule 'Constant fields (private)'. Suggested name is 'Twopi'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 39,
          "offset": 26,
          "length": 5,
          "code": {
            "startLine": 38,
            "length": 5,
            "offset": 86,
            "surroundingCode": "    private const double adjIntercept = 27.0 / 50.0; // 0.54\n    private const double TWOPI = 2.0 * Math.PI;\n    private const double RadToDeg = 180.0 / Math.PI;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "5C0E319A79E5F0F92FECB13BADC349D4CA98EED19479F0A6C60A547118BA820B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'V512_Idx_1' does not match rule 'Static readonly fields (private)'. Suggested name is 'V512Idx1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 42,
          "offset": 45,
          "length": 10,
          "code": {
            "startLine": 41,
            "length": 10,
            "offset": 45,
            "surroundingCode": "\n    private static readonly Vector512<long> V512_Idx_1 = Vector512.Create(0L, 0, 1, 2, 3, 4, 5, 6);\n    private static readonly Vector512<long> V512_Idx_2 = Vector512.Create(0L, 0, 0, 1, 2, 3, 4, 5);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B6C176BB306EC74C3BFAEF70A4707B76B7FFD409C4A3A9D5C5325C8D45C70981"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'V512_Idx_2' does not match rule 'Static readonly fields (private)'. Suggested name is 'V512Idx2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 43,
          "offset": 45,
          "length": 10,
          "code": {
            "startLine": 42,
            "length": 10,
            "offset": 144,
            "surroundingCode": "    private static readonly Vector512<long> V512_Idx_1 = Vector512.Create(0L, 0, 1, 2, 3, 4, 5, 6);\n    private static readonly Vector512<long> V512_Idx_2 = Vector512.Create(0L, 0, 0, 1, 2, 3, 4, 5);\n    private static readonly Vector512<long> V512_Idx_4 = Vector512.Create(0L, 0, 0, 0, 0, 1, 2, 3);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "39DC053A11E689DAD67472630B4A5AB1C2555F889ED78B81E8CDA811A56E45CA"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'V512_Idx_4' does not match rule 'Static readonly fields (private)'. Suggested name is 'V512Idx4'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 44,
          "offset": 45,
          "length": 10,
          "code": {
            "startLine": 43,
            "length": 10,
            "offset": 144,
            "surroundingCode": "    private static readonly Vector512<long> V512_Idx_2 = Vector512.Create(0L, 0, 0, 1, 2, 3, 4, 5);\n    private static readonly Vector512<long> V512_Idx_4 = Vector512.Create(0L, 0, 0, 0, 0, 1, 2, 3);\n    private static readonly Vector512<double> V512_Mask_1 = Vector512.Create(0.0, 1, 1, 1, 1, 1, 1, 1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0F3256FEE0F65217704F9DB2CCDA26574DFBC12259C3CC5BDC56BED9A4F439E0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'V512_Mask_1' does not match rule 'Static readonly fields (private)'. Suggested name is 'V512Mask1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 45,
          "offset": 47,
          "length": 11,
          "code": {
            "startLine": 44,
            "length": 11,
            "offset": 146,
            "surroundingCode": "    private static readonly Vector512<long> V512_Idx_4 = Vector512.Create(0L, 0, 0, 0, 0, 1, 2, 3);\n    private static readonly Vector512<double> V512_Mask_1 = Vector512.Create(0.0, 1, 1, 1, 1, 1, 1, 1);\n    private static readonly Vector512<double> V512_Mask_2 = Vector512.Create(0.0, 0, 1, 1, 1, 1, 1, 1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6B8E129BBB103AADB0753638DB7AD5C079C921FB5AF80F77C6B32B11238EC7A9"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'V512_Mask_2' does not match rule 'Static readonly fields (private)'. Suggested name is 'V512Mask2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 46,
          "offset": 47,
          "length": 11,
          "code": {
            "startLine": 45,
            "length": 11,
            "offset": 150,
            "surroundingCode": "    private static readonly Vector512<double> V512_Mask_1 = Vector512.Create(0.0, 1, 1, 1, 1, 1, 1, 1);\n    private static readonly Vector512<double> V512_Mask_2 = Vector512.Create(0.0, 0, 1, 1, 1, 1, 1, 1);\n    private static readonly Vector512<double> V512_Mask_4 = Vector512.Create(0.0, 0, 0, 0, 1, 1, 1, 1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0A11774E7273C50894B77ED20D2C1742F731551895183681F4A378AFB389A1FB"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'V512_Mask_4' does not match rule 'Static readonly fields (private)'. Suggested name is 'V512Mask4'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 47,
          "offset": 47,
          "length": 11,
          "code": {
            "startLine": 46,
            "length": 11,
            "offset": 150,
            "surroundingCode": "    private static readonly Vector512<double> V512_Mask_2 = Vector512.Create(0.0, 0, 1, 1, 1, 1, 1, 1);\n    private static readonly Vector512<double> V512_Mask_4 = Vector512.Create(0.0, 0, 0, 0, 1, 1, 1, 1);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CC89F4AC6907B8970C6438D72B9559A13E159F0AF18F1DCFE29A4F388707B743"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'VarianceSIMD' does not match rule 'Methods'. Suggested name is 'VarianceSimd'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 284,
          "offset": 26,
          "length": 12,
          "code": {
            "startLine": 283,
            "length": 12,
            "offset": 80,
            "surroundingCode": "    [MethodImpl(MethodImplOptions.AggressiveInlining)]\n    public static double VarianceSIMD(this ReadOnlySpan<double> span, double? mean = null)\n    {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "13003D8B289CC6A5C48C3C877CC71C361931E8C618F03BF949032BC0210A510A"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'VectorWidth' does not match rule 'Local constants'. Suggested name is 'vectorWidth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 381,
          "offset": 19,
          "length": 11,
          "code": {
            "startLine": 380,
            "length": 11,
            "offset": 51,
            "surroundingCode": "        int len = source.Length;\n        const int VectorWidth = 8;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "04713BDF67153DAC5AB9AA2D97F4A8AD57F6BF1FDBB1B8940D6F2C8B0848874C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'VectorWidth' does not match rule 'Local constants'. Suggested name is 'vectorWidth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 453,
          "offset": 19,
          "length": 11,
          "code": {
            "startLine": 452,
            "length": 11,
            "offset": 51,
            "surroundingCode": "        int len = source.Length;\n        const int VectorWidth = 4;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EB8CED262034EE7E768970351137F7E0E5BC09205F957F67D3F7EA78710DCEBC"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'VectorWidth' does not match rule 'Local constants'. Suggested name is 'vectorWidth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 524,
          "offset": 19,
          "length": 11,
          "code": {
            "startLine": 523,
            "length": 11,
            "offset": 51,
            "surroundingCode": "        int len = source.Length;\n        const int VectorWidth = 2;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "474FC0863927BFFE15C74778222C7039DDD486C59DD5BD300BB445C3D2186028"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'VectorWidth' does not match rule 'Local constants'. Suggested name is 'vectorWidth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 333,
          "offset": 19,
          "length": 11,
          "code": {
            "startLine": 332,
            "length": 11,
            "offset": 51,
            "surroundingCode": "        int len = source.Length;\n        const int VectorWidth = 8;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "04713BDF67153DAC5AB9AA2D97F4A8AD57F6BF1FDBB1B8940D6F2C8B0848874C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'VectorWidth' does not match rule 'Local constants'. Suggested name is 'vectorWidth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 448,
          "offset": 19,
          "length": 11,
          "code": {
            "startLine": 447,
            "length": 11,
            "offset": 51,
            "surroundingCode": "        int len = source.Length;\n        const int VectorWidth = 4;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EB8CED262034EE7E768970351137F7E0E5BC09205F957F67D3F7EA78710DCEBC"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'VectorWidth' does not match rule 'Local constants'. Suggested name is 'vectorWidth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 628,
          "offset": 19,
          "length": 11,
          "code": {
            "startLine": 627,
            "length": 11,
            "offset": 51,
            "surroundingCode": "        int len = source.Length;\n        const int VectorWidth = 2;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "474FC0863927BFFE15C74778222C7039DDD486C59DD5BD300BB445C3D2186028"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'Y' does not match rule 'Local variables'. Suggested name is 'y'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 184,
          "offset": 13,
          "length": 1,
          "code": {
            "startLine": 183,
            "length": 1,
            "offset": 51,
            "surroundingCode": "        int rightX = clientRect.Right;\n        int Y = GetHLineY(converter, value);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0DA3A74CDCB8B6D9C88FFBF8C45D95806078B13F6E684B6A9C78A1CA2729FDA8"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_I1_buffer' does not match rule 'Instance fields (private)'. Suggested name is '_i1Buffer'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 31,
          "offset": 33,
          "length": 10,
          "code": {
            "startLine": 30,
            "length": 10,
            "offset": 76,
            "surroundingCode": "    private readonly RingBuffer _detrender;\n    private readonly RingBuffer _I1_buffer;\n    private readonly RingBuffer _Q1_buffer;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F95EDDEF222FD0EC1BEE3753BF524209B2C4D7994C0AF99467F45D396A91E5E9"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_Q1_buffer' does not match rule 'Instance fields (private)'. Suggested name is '_q1Buffer'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 32,
          "offset": 33,
          "length": 10,
          "code": {
            "startLine": 31,
            "length": 10,
            "offset": 76,
            "surroundingCode": "    private readonly RingBuffer _I1_buffer;\n    private readonly RingBuffer _Q1_buffer;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "95FEBF14BF1E14C27010659338624EBB988AB599C033C08CBD5E85E962766724"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_c' does not match rule 'Instance fields (not private)'. Suggested name is 'C'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/tbarseries.cs",
          "line": 18,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 17,
            "length": 2,
            "offset": 76,
            "surroundingCode": "    protected readonly List<double> _l;\n    protected readonly List<double> _c;\n    protected readonly List<double> _v;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "34FC84256A3538FE773DC5824B70D6E83F4A18B764C12A98F45F27298979A6DF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_h' does not match rule 'Instance fields (not private)'. Suggested name is 'H'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/tbarseries.cs",
          "line": 16,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 15,
            "length": 2,
            "offset": 76,
            "surroundingCode": "    protected readonly List<double> _o;\n    protected readonly List<double> _h;\n    protected readonly List<double> _l;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B2CEFF41E9649D098326BDCE9CCD1BC8DC2557C99DA08B828472DD38F141A0F3"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_jmaTR' does not match rule 'Instance fields (private)'. Suggested name is '_jmaTr'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.cs",
          "line": 19,
          "offset": 26,
          "length": 6,
          "code": {
            "startLine": 18,
            "length": 6,
            "offset": 59,
            "surroundingCode": "    private readonly Jma _jmaDMm;\n    private readonly Jma _jmaTR;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "C1A76653E34D7946E310952C1197DDE99D1A1B70869945B7AEA77B6D5D2E6A6D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_l' does not match rule 'Instance fields (not private)'. Suggested name is 'L'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/tbarseries.cs",
          "line": 17,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 76,
            "surroundingCode": "    protected readonly List<double> _h;\n    protected readonly List<double> _l;\n    protected readonly List<double> _c;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "850DE1FAECC730E9A60E56E834E3A5EDD2A58E1C36FAE1034E219C343C79EEB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_o' does not match rule 'Instance fields (not private)'. Suggested name is 'O'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/tbarseries.cs",
          "line": 15,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 14,
            "length": 2,
            "offset": 74,
            "surroundingCode": "    protected readonly List<long> _t;\n    protected readonly List<double> _o;\n    protected readonly List<double> _h;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "02003B5DDDBF1D1D4C0D8E83F4D6F1C3AE00DC8F28EEFB96CEFD6B48A321F7E1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name '_p_adl' does not match rule 'Instance fields (private)'. Suggested name is '_pAdl'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.cs",
          "line": 28,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 27,
            "length": 6,
            "offset": 44,
            "surroundingCode": "    private double _adl;\n    private double _p_adl;\n    private bool _isInitialized;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4182031B431089F0BD188E03FF28583232A785719E17B2355169BEC27BFA2BDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_adx' does not match rule 'Instance fields (private)'. Suggested name is '_pAdx'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 53,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 52,
            "length": 6,
            "offset": 44,
            "surroundingCode": "    private double _adx;\n    private double _p_adx;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E58749F88506E1969AF6EF9C49599DAF2080B8D1BC94888475060CB6FDAE939C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_adxHistory' does not match rule 'Instance fields (private)'. Suggested name is '_pAdxHistory'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.cs",
          "line": 26,
          "offset": 33,
          "length": 13,
          "code": {
            "startLine": 25,
            "length": 13,
            "offset": 78,
            "surroundingCode": "    private readonly RingBuffer _adxHistory;\r\n    private readonly RingBuffer _p_adxHistory;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B6BC9428E7657E58213EFD3A0362A2F92873E297D8B8D253D6CDCFF63F06C166"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_dmMinusSmooth' does not match rule 'Instance fields (private)'. Suggested name is '_pDmMinusSmooth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 44,
          "offset": 50,
          "length": 16,
          "code": {
            "startLine": 43,
            "length": 16,
            "offset": 110,
            "surroundingCode": "    private double _trSmooth, _dmPlusSmooth, _dmMinusSmooth;\n    private double _p_trSmooth, _p_dmPlusSmooth, _p_dmMinusSmooth;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2E504BF0527F8F29248E92F0769B83F44B47E032B7F873262BDD5713AAE0811C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_dmMinusSum' does not match rule 'Instance fields (private)'. Suggested name is '_pDmMinusSum'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 39,
          "offset": 44,
          "length": 13,
          "code": {
            "startLine": 38,
            "length": 13,
            "offset": 95,
            "surroundingCode": "    private double _trSum, _dmPlusSum, _dmMinusSum;\n    private double _p_trSum, _p_dmPlusSum, _p_dmMinusSum;\n    private int _samples;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FC7E929138F9C646D8FB8980686ABF99736F29D8A47DBDD5D375D5C42F491A36"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_dmPlusSmooth' does not match rule 'Instance fields (private)'. Suggested name is '_pDmPlusSmooth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 44,
          "offset": 33,
          "length": 15,
          "code": {
            "startLine": 43,
            "length": 15,
            "offset": 93,
            "surroundingCode": "    private double _trSmooth, _dmPlusSmooth, _dmMinusSmooth;\n    private double _p_trSmooth, _p_dmPlusSmooth, _p_dmMinusSmooth;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2E504BF0527F8F29248E92F0769B83F44B47E032B7F873262BDD5713AAE0811C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_dmPlusSum' does not match rule 'Instance fields (private)'. Suggested name is '_pDmPlusSum'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 39,
          "offset": 30,
          "length": 12,
          "code": {
            "startLine": 38,
            "length": 12,
            "offset": 81,
            "surroundingCode": "    private double _trSum, _dmPlusSum, _dmMinusSum;\n    private double _p_trSum, _p_dmPlusSum, _p_dmMinusSum;\n    private int _samples;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FC7E929138F9C646D8FB8980686ABF99736F29D8A47DBDD5D375D5C42F491A36"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_dxSamples' does not match rule 'Instance fields (private)'. Suggested name is '_pDxSamples'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 50,
          "offset": 17,
          "length": 12,
          "code": {
            "startLine": 49,
            "length": 12,
            "offset": 44,
            "surroundingCode": "    private int _dxSamples;\n    private int _p_dxSamples;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D785757284B9ADA46C9E2043E1F174A4CF02CA544D164EB6FF9A20FC6B5E8FA1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_dxSum' does not match rule 'Instance fields (private)'. Suggested name is '_pDxSum'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 48,
          "offset": 20,
          "length": 8,
          "code": {
            "startLine": 47,
            "length": 8,
            "offset": 46,
            "surroundingCode": "    private double _dxSum;\n    private double _p_dxSum;\n    private int _dxSamples;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1F00E5714CE51DDB441EFDAE2E8430D7AFD7A64EBA505AF9AE35B9735E411AF4"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_lastValidValue' does not match rule 'Instance fields (private)'. Suggested name is '_pLastValidValue'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 41,
          "offset": 20,
          "length": 17,
          "code": {
            "startLine": 40,
            "length": 17,
            "offset": 55,
            "surroundingCode": "    private double _lastValidValue;\n    private double _p_lastValidValue;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "82AF1258A5575A8502920971CF42E0AE4EA884250685FAF2DBD4FDB5C3088133"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_lastValidValue' does not match rule 'Instance fields (private)'. Suggested name is '_pLastValidValue'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 40,
          "offset": 20,
          "length": 17,
          "code": {
            "startLine": 39,
            "length": 17,
            "offset": 55,
            "surroundingCode": "    private double _lastValidValue;\n    private double _p_lastValidValue;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "82AF1258A5575A8502920971CF42E0AE4EA884250685FAF2DBD4FDB5C3088133"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_lastValidValue' does not match rule 'Instance fields (private)'. Suggested name is '_pLastValidValue'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.cs",
          "line": 41,
          "offset": 20,
          "length": 17,
          "code": {
            "startLine": 40,
            "length": 17,
            "offset": 55,
            "surroundingCode": "    private double _lastValidValue;\n    private double _p_lastValidValue;\n    private ITValuePublisher? _publisher;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A694BC7A1FF9CE67573E7BB9985005AE4019D4A0CEF3809F516DE8E105ABE4B2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_lastValidValue' does not match rule 'Instance fields (private)'. Suggested name is '_pLastValidValue'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 45,
          "offset": 20,
          "length": 17,
          "code": {
            "startLine": 44,
            "length": 17,
            "offset": 55,
            "surroundingCode": "    private double _lastValidValue;\n    private double _p_lastValidValue;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "82AF1258A5575A8502920971CF42E0AE4EA884250685FAF2DBD4FDB5C3088133"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_prevBar' does not match rule 'Instance fields (private)'. Suggested name is '_pPrevBar'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 34,
          "offset": 18,
          "length": 10,
          "code": {
            "startLine": 33,
            "length": 10,
            "offset": 44,
            "surroundingCode": "    private TBar _prevBar;\n    private TBar _p_prevBar;\n    private bool _isInitialized;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F2263D9BD24150E39EEE35A0D394D440E11D33C5E5CEDA5557277FA9885791A9"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_runningSums' does not match rule 'Instance fields (private)'. Suggested name is '_pRunningSums'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.cs",
          "line": 38,
          "offset": 31,
          "length": 14,
          "code": {
            "startLine": 37,
            "length": 14,
            "offset": 74,
            "surroundingCode": "    private readonly double[] _runningSums;\n    private readonly double[] _p_runningSums;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "81041BDD8556BC5D1B12F6F36573235D67D9251AB48AD4DE8A66574D44552AA2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_samples' does not match rule 'Instance fields (private)'. Suggested name is '_pSamples'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 41,
          "offset": 17,
          "length": 10,
          "code": {
            "startLine": 40,
            "length": 10,
            "offset": 42,
            "surroundingCode": "    private int _samples;\n    private int _p_samples;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9185051D9064C69BECFD93B954D7EFA64966E9C524469DCCC0A9FB0B53604975"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.cs",
          "line": 42,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 41,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 48,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 47,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.cs",
          "line": 38,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 37,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.cs",
          "line": 40,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 39,
            "length": 8,
            "offset": 59,
            "surroundingCode": "    private State _state = State.New();\r\n    private State _p_state = State.New();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F5F3FC5325EED7BCCAD0F06B1D3FCCCB8C8F02EB1BE7CD73D422DEB335D39160"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.cs",
          "line": 30,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 29,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 38,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 37,
            "length": 8,
            "offset": 58,
            "surroundingCode": "    private State _state = State.New();\n    private State _p_state = State.New();\n    private double _lastValidValue;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B5BF58A3A7B04727B23AEB7299EB232E80EDC3A6FFC9DD13244C65A2E83B71F7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 39,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 38,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.cs",
          "line": 38,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 37,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 32,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 31,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 39,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 38,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 26,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 25,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.cs",
          "line": 29,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 28,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.cs",
          "line": 38,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 37,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 36,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 35,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.cs",
          "line": 29,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 28,
            "length": 8,
            "offset": 59,
            "surroundingCode": "    private State _state = State.New();\r\n    private State _p_state = State.New();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F5F3FC5325EED7BCCAD0F06B1D3FCCCB8C8F02EB1BE7CD73D422DEB335D39160"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.cs",
          "line": 29,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 28,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.cs",
          "line": 39,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 38,
            "length": 8,
            "offset": 58,
            "surroundingCode": "    private State _state = State.New();\n    private State _p_state = State.New();\n    private double _lastValidValue;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B5BF58A3A7B04727B23AEB7299EB232E80EDC3A6FFC9DD13244C65A2E83B71F7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.cs",
          "line": 30,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 29,
            "length": 8,
            "offset": 59,
            "surroundingCode": "    private State _state = State.New();\r\n    private State _p_state = State.New();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F5F3FC5325EED7BCCAD0F06B1D3FCCCB8C8F02EB1BE7CD73D422DEB335D39160"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.cs",
          "line": 42,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 41,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state' does not match rule 'Instance fields (private)'. Suggested name is '_pState'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 38,
          "offset": 19,
          "length": 8,
          "code": {
            "startLine": 37,
            "length": 8,
            "offset": 44,
            "surroundingCode": "    private State _state;\n    private State _p_state;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EA640029C16A16F58DC077C7F10636E26A457F4048C4F2C5E3CCE3A9BA5E06FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state1' does not match rule 'Instance fields (private)'. Suggested name is '_pState1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 37,
          "offset": 22,
          "length": 9,
          "code": {
            "startLine": 36,
            "length": 9,
            "offset": 68,
            "surroundingCode": "    private EmaState _state2 = EmaState.New();\n    private EmaState _p_state1 = EmaState.New();\n    private EmaState _p_state2 = EmaState.New();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "21C17BD21BCDA513EBC0C2E1BD7264E52ADD7F773966DCF55EDC724652451249"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state1' does not match rule 'Instance fields (private)'. Suggested name is '_pState1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 40,
          "offset": 22,
          "length": 9,
          "code": {
            "startLine": 39,
            "length": 9,
            "offset": 68,
            "surroundingCode": "    private EmaState _state3 = EmaState.New();\n    private EmaState _p_state1 = EmaState.New();\n    private EmaState _p_state2 = EmaState.New();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2DCF9CA5537136D49A6C5DB69EA2DA2B6A16DA4E29CE796CC2B792043D793785"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state2' does not match rule 'Instance fields (private)'. Suggested name is '_pState2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 38,
          "offset": 22,
          "length": 9,
          "code": {
            "startLine": 37,
            "length": 9,
            "offset": 70,
            "surroundingCode": "    private EmaState _p_state1 = EmaState.New();\n    private EmaState _p_state2 = EmaState.New();\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "3B65DAEFEDDE31D7EDF0F896BBC1991111A47EABE8A356D9D9C98CE97D21D83E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state2' does not match rule 'Instance fields (private)'. Suggested name is '_pState2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 41,
          "offset": 22,
          "length": 9,
          "code": {
            "startLine": 40,
            "length": 9,
            "offset": 70,
            "surroundingCode": "    private EmaState _p_state1 = EmaState.New();\n    private EmaState _p_state2 = EmaState.New();\n    private EmaState _p_state3 = EmaState.New();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "C318BC9954C8E30AF5A7F956E217014A3B3076B2B9CDA0D7D802E3BD100AD874"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_state3' does not match rule 'Instance fields (private)'. Suggested name is '_pState3'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 42,
          "offset": 22,
          "length": 9,
          "code": {
            "startLine": 41,
            "length": 9,
            "offset": 70,
            "surroundingCode": "    private EmaState _p_state2 = EmaState.New();\n    private EmaState _p_state3 = EmaState.New();\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E08950A0A73115A6B536030A7F2965A3257A1001F50777EC01D52AD849AE8892"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_trSmooth' does not match rule 'Instance fields (private)'. Suggested name is '_pTrSmooth'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 44,
          "offset": 20,
          "length": 11,
          "code": {
            "startLine": 43,
            "length": 11,
            "offset": 80,
            "surroundingCode": "    private double _trSmooth, _dmPlusSmooth, _dmMinusSmooth;\n    private double _p_trSmooth, _p_dmPlusSmooth, _p_dmMinusSmooth;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2E504BF0527F8F29248E92F0769B83F44B47E032B7F873262BDD5713AAE0811C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_p_trSum' does not match rule 'Instance fields (private)'. Suggested name is '_pTrSum'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 39,
          "offset": 20,
          "length": 8,
          "code": {
            "startLine": 38,
            "length": 8,
            "offset": 71,
            "surroundingCode": "    private double _trSum, _dmPlusSum, _dmMinusSum;\n    private double _p_trSum, _p_dmPlusSum, _p_dmMinusSum;\n    private int _samples;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FC7E929138F9C646D8FB8980686ABF99736F29D8A47DBDD5D375D5C42F491A36"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_sum_x' does not match rule 'Instance fields (private)'. Suggested name is '_sumX'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 34,
          "offset": 29,
          "length": 6,
          "code": {
            "startLine": 33,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\n    private readonly double _sum_x;\n    private readonly double _denominator;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F5D334823EFB36B1B05246B68F78207374C3CB250EC680EC79335D70C32FD62D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_t' does not match rule 'Instance fields (not private)'. Suggested name is 'T'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/tbarseries.cs",
          "line": 14,
          "offset": 35,
          "length": 2,
          "code": {
            "startLine": 13,
            "length": 2,
            "offset": 36,
            "surroundingCode": "{\n    protected readonly List<long> _t;\n    protected readonly List<double> _o;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "94D9620072FDAD9C19DB93804C6D06DD4B5EC107670D5C09B712026FB80CF71B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_t' does not match rule 'Instance fields (not private)'. Suggested name is 'T'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/tseries.cs",
          "line": 16,
          "offset": 35,
          "length": 2,
          "code": {
            "startLine": 15,
            "length": 2,
            "offset": 36,
            "surroundingCode": "{\n    protected readonly List<long> _t;\n    protected readonly List<double> _v;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1D85242C1E34F47A11265B8DB1B3F19FE98142EF2E316EEBAE9BFFAA70DE8F0D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_v' does not match rule 'Instance fields (not private)'. Suggested name is 'V'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/tbarseries.cs",
          "line": 19,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 18,
            "length": 2,
            "offset": 76,
            "surroundingCode": "    protected readonly List<double> _c;\n    protected readonly List<double> _v;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B7B6B9055E79DA1C37927E47B4D0D8DF146209FBF34AF00AA2DFE7DE9CF72E0D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name '_v' does not match rule 'Instance fields (not private)'. Suggested name is 'V'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/tseries.cs",
          "line": 17,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 74,
            "surroundingCode": "    protected readonly List<long> _t;\n    protected readonly List<double> _v;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1AA8B54637818BFED603531855303404E549D701F312D1945250355F65BA7A90"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a1_1' does not match rule 'Local variables'. Suggested name is 'a11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 144,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 143,
            "length": 4,
            "offset": 16,
            "surroundingCode": "\n        double a1_1 = _state.A1_1 + _alpha * (absMomentum - _state.A1_1);\n        double a1_2 = _state.A1_2 + _alpha * (a1_1 - _state.A1_2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6F670E3065275F50B44F177985588BD6295663C700867E27511AF0666A5D2B8D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a1_1' does not match rule 'Local variables'. Suggested name is 'a11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 237,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 236,
            "length": 4,
            "offset": 47,
            "surroundingCode": "        // Abs Momentum filters\n        double a1_1 = 0, a1_2 = 0;\n        double a2_1 = 0, a2_2 = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1A2B03003D1DCFBAF3645B96CF5F9B34B15D7B039E9C74D6A9FFBF3078FFFCEE"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a1_2' does not match rule 'Local variables'. Suggested name is 'a12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 145,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 144,
            "length": 4,
            "offset": 89,
            "surroundingCode": "        double a1_1 = _state.A1_1 + _alpha * (absMomentum - _state.A1_1);\n        double a1_2 = _state.A1_2 + _alpha * (a1_1 - _state.A1_2);\n        double a1_out = (3.0 * a1_1 - a1_2) * 0.5;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F1404D3DDCE757BDEB7F12934A7C194D82528FA01CF7C1EF6F116F736C30795C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a1_2' does not match rule 'Local variables'. Suggested name is 'a12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 237,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 236,
            "length": 4,
            "offset": 57,
            "surroundingCode": "        // Abs Momentum filters\n        double a1_1 = 0, a1_2 = 0;\n        double a2_1 = 0, a2_2 = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1A2B03003D1DCFBAF3645B96CF5F9B34B15D7B039E9C74D6A9FFBF3078FFFCEE"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a1_out' does not match rule 'Local variables'. Suggested name is 'a1Out'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 146,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 145,
            "length": 6,
            "offset": 82,
            "surroundingCode": "        double a1_2 = _state.A1_2 + _alpha * (a1_1 - _state.A1_2);\n        double a1_out = (3.0 * a1_1 - a1_2) * 0.5;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "50933DF8CA53FD81D720B2F629D5FB407E8F3450242B8D5AB2F6D0339935B31E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a1_out' does not match rule 'Local variables'. Suggested name is 'a1Out'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 284,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 283,
            "length": 6,
            "offset": 62,
            "surroundingCode": "            a1_2 += alpha * (a1_1 - a1_2);\n            double a1_out = (3.0 * a1_1 - a1_2) * 0.5;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9006E8BDF4C01159346C3BC4BD47E93EC0EDA6D1C71BA8337DB138376992592A"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a2_1' does not match rule 'Local variables'. Suggested name is 'a21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 148,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 147,
            "length": 4,
            "offset": 16,
            "surroundingCode": "\n        double a2_1 = _state.A2_1 + _alpha * (a1_out - _state.A2_1);\n        double a2_2 = _state.A2_2 + _alpha * (a2_1 - _state.A2_2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9604AC600C87E11FE4DDB5B4DA1011ED0E3CD437B51358B53EC4057F3C4A056C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a2_1' does not match rule 'Local variables'. Suggested name is 'a21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 238,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 237,
            "length": 4,
            "offset": 50,
            "surroundingCode": "        double a1_1 = 0, a1_2 = 0;\n        double a2_1 = 0, a2_2 = 0;\n        double a3_1 = 0, a3_2 = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EAF68445B4FD6EE088FCF6719B6DA99B7D31A3B3A261367274B4181A98E3AFFD"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a2_2' does not match rule 'Local variables'. Suggested name is 'a22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 149,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 148,
            "length": 4,
            "offset": 84,
            "surroundingCode": "        double a2_1 = _state.A2_1 + _alpha * (a1_out - _state.A2_1);\n        double a2_2 = _state.A2_2 + _alpha * (a2_1 - _state.A2_2);\n        double a2_out = (3.0 * a2_1 - a2_2) * 0.5;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D0ECC5D6F99BCAB6875810EA4AD30B08A20905AED1750CD4441F53E30C025738"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a2_2' does not match rule 'Local variables'. Suggested name is 'a22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 238,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 237,
            "length": 4,
            "offset": 60,
            "surroundingCode": "        double a1_1 = 0, a1_2 = 0;\n        double a2_1 = 0, a2_2 = 0;\n        double a3_1 = 0, a3_2 = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EAF68445B4FD6EE088FCF6719B6DA99B7D31A3B3A261367274B4181A98E3AFFD"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a2_out' does not match rule 'Local variables'. Suggested name is 'a2Out'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 150,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 149,
            "length": 6,
            "offset": 82,
            "surroundingCode": "        double a2_2 = _state.A2_2 + _alpha * (a2_1 - _state.A2_2);\n        double a2_out = (3.0 * a2_1 - a2_2) * 0.5;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D5120D3999A37CFD71A726CBB8D7477E4BA5D671C73DCBBED79F324C6B830A5B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a2_out' does not match rule 'Local variables'. Suggested name is 'a2Out'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 288,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 287,
            "length": 6,
            "offset": 62,
            "surroundingCode": "            a2_2 += alpha * (a2_1 - a2_2);\n            double a2_out = (3.0 * a2_1 - a2_2) * 0.5;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FE3A70AC4FFA23E52445CCE7712A76D1265C86043AADD59064228F34801CD2AE"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a3_1' does not match rule 'Local variables'. Suggested name is 'a31'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 152,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 151,
            "length": 4,
            "offset": 16,
            "surroundingCode": "\n        double a3_1 = _state.A3_1 + _alpha * (a2_out - _state.A3_1);\n        double a3_2 = _state.A3_2 + _alpha * (a3_1 - _state.A3_2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "BE68B96CFA6255CB495B6CEF43B92D8C41E7E05815A05051B0062AED49533AB5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a3_1' does not match rule 'Local variables'. Suggested name is 'a31'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 239,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 238,
            "length": 4,
            "offset": 50,
            "surroundingCode": "        double a2_1 = 0, a2_2 = 0;\n        double a3_1 = 0, a3_2 = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0A161E70B212E8B325BFBE1E34885C3F19552A81CB18BE620EAA72A0E45EA210"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a3_2' does not match rule 'Local variables'. Suggested name is 'a32'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 153,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 152,
            "length": 4,
            "offset": 84,
            "surroundingCode": "        double a3_1 = _state.A3_1 + _alpha * (a2_out - _state.A3_1);\n        double a3_2 = _state.A3_2 + _alpha * (a3_1 - _state.A3_2);\n        double smoothedAbsMomentum = (3.0 * a3_1 - a3_2) * 0.5;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D37FBC43EAFEB29559C755F00886291442521C8C0BA7F065012671FCB652ED9A"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'a3_2' does not match rule 'Local variables'. Suggested name is 'a32'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 239,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 238,
            "length": 4,
            "offset": 60,
            "surroundingCode": "        double a2_1 = 0, a2_2 = 0;\n        double a3_1 = 0, a3_2 = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0A161E70B212E8B325BFBE1E34885C3F19552A81CB18BE620EAA72A0E45EA210"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'adjIntercept' does not match rule 'Constant fields (private)'. Suggested name is 'AdjIntercept'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 35,
          "offset": 26,
          "length": 12,
          "code": {
            "startLine": 34,
            "length": 12,
            "offset": 82,
            "surroundingCode": "    private const double adjSlope = 3.0 / 40.0; // 0.075\n    private const double adjIntercept = 27.0 / 50.0; // 0.54\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E862C31450B411F58708C74CCB1327A05419B97D87598E41019D7C907E6B4395"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'adjIntercept' does not match rule 'Constant fields (private)'. Suggested name is 'AdjIntercept'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 38,
          "offset": 26,
          "length": 12,
          "code": {
            "startLine": 37,
            "length": 12,
            "offset": 82,
            "surroundingCode": "    private const double adjSlope = 3.0 / 40.0; // 0.075\n    private const double adjIntercept = 27.0 / 50.0; // 0.54\n    private const double TWOPI = 2.0 * Math.PI;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D67C21B0B04084C6BDE62E16DF7FD0BAC8BFBDA742DD3CDC269DBB7C1FF144E1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'adjSlope' does not match rule 'Constant fields (private)'. Suggested name is 'AdjSlope'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 34,
          "offset": 26,
          "length": 8,
          "code": {
            "startLine": 33,
            "length": 8,
            "offset": 84,
            "surroundingCode": "    private const double c2 = 15.0 / 26.0;  // ~0.57692308\n    private const double adjSlope = 3.0 / 40.0; // 0.075\n    private const double adjIntercept = 27.0 / 50.0; // 0.54"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9C4628527FD10E27CDC58468F96A83E5334C9314073732C961E84E73EF5A3F7C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'adjSlope' does not match rule 'Constant fields (private)'. Suggested name is 'AdjSlope'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 37,
          "offset": 26,
          "length": 8,
          "code": {
            "startLine": 36,
            "length": 8,
            "offset": 84,
            "surroundingCode": "    private const double c2 = 15.0 / 26.0;  // ~0.57692308\n    private const double adjSlope = 3.0 / 40.0; // 0.075\n    private const double adjIntercept = 27.0 / 50.0; // 0.54"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9C4628527FD10E27CDC58468F96A83E5334C9314073732C961E84E73EF5A3F7C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'alpha' does not match rule 'Instance fields (private)'. Suggested name is '_alpha'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 51,
          "offset": 33,
          "length": 5,
          "code": {
            "startLine": 50,
            "length": 5,
            "offset": 39,
            "surroundingCode": "    {\r\n        private readonly double alpha, ialpha;\r\n        // Internal state variables for filter registers:"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F8D49D3FF7CE9F4C9F7D78EB99072DAD4925F0A2F02B9C9CD952505CA6E3A53B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'c1' does not match rule 'Constant fields (private)'. Suggested name is 'C1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 32,
          "offset": 26,
          "length": 2,
          "code": {
            "startLine": 31,
            "length": 2,
            "offset": 57,
            "surroundingCode": "    // High-precision constants\n    private const double c1 = 5.0 / 52.0;   // ~0.09615385\n    private const double c2 = 15.0 / 26.0;  // ~0.57692308"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E6244D3879BA8E2C2357E08BC3E842FE1E6C064AA7046F06CB16AA7AED31D834"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'c1' does not match rule 'Constant fields (private)'. Suggested name is 'C1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 35,
          "offset": 26,
          "length": 2,
          "code": {
            "startLine": 34,
            "length": 2,
            "offset": 57,
            "surroundingCode": "    // High-precision constants\n    private const double c1 = 5.0 / 52.0;   // ~0.09615385\n    private const double c2 = 15.0 / 26.0;  // ~0.57692308"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E6244D3879BA8E2C2357E08BC3E842FE1E6C064AA7046F06CB16AA7AED31D834"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'c2' does not match rule 'Constant fields (private)'. Suggested name is 'C2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 33,
          "offset": 26,
          "length": 2,
          "code": {
            "startLine": 32,
            "length": 2,
            "offset": 84,
            "surroundingCode": "    private const double c1 = 5.0 / 52.0;   // ~0.09615385\n    private const double c2 = 15.0 / 26.0;  // ~0.57692308\n    private const double adjSlope = 3.0 / 40.0; // 0.075"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0D98D34DF21EF58A8AB48C0927EBA22BE2EF07F79A064D4793ACF44C16637F61"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'c2' does not match rule 'Constant fields (private)'. Suggested name is 'C2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 36,
          "offset": 26,
          "length": 2,
          "code": {
            "startLine": 35,
            "length": 2,
            "offset": 84,
            "surroundingCode": "    private const double c1 = 5.0 / 52.0;   // ~0.09615385\n    private const double c2 = 15.0 / 26.0;  // ~0.57692308\n    private const double adjSlope = 3.0 / 40.0; // 0.075"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0D98D34DF21EF58A8AB48C0927EBA22BE2EF07F79A064D4793ACF44C16637F61"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'd1_0' does not match rule 'Local variables'. Suggested name is 'd10'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 675,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 674,
            "length": 4,
            "offset": 83,
            "surroundingCode": "                // Prefix sum for first vector: [d0, d0+d1]\n                double d1_0 = vDeltaS1.GetElement(0);\n                double d1_1 = vDeltaS1.GetElement(1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F3E01F236BB0FC093FA6006E1E9CBF7B0E5D4213115D64F63A836BBABE2635B9"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'd1_1' does not match rule 'Local variables'. Suggested name is 'd11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 676,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 675,
            "length": 4,
            "offset": 77,
            "surroundingCode": "                double d1_0 = vDeltaS1.GetElement(0);\n                double d1_1 = vDeltaS1.GetElement(1);\n                double ps1_0 = sumState + d1_0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "16EF89FD0F798A84BEA647C16D186ECB7DB89510F14F424DEC849F160AEEC899"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'd2_0' does not match rule 'Local variables'. Suggested name is 'd20'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 681,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 680,
            "length": 4,
            "offset": 71,
            "surroundingCode": "                // Prefix sum for second vector\n                double d2_0 = vDeltaS2.GetElement(0);\n                double d2_1 = vDeltaS2.GetElement(1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F181FD21F0F8E9B455AB75005B6EE3DC8083DF2E7B2A03C0586259B2B6A832E1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'd2_1' does not match rule 'Local variables'. Suggested name is 'd21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 682,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 681,
            "length": 4,
            "offset": 77,
            "surroundingCode": "                double d2_0 = vDeltaS2.GetElement(0);\n                double d2_1 = vDeltaS2.GetElement(1);\n                double ps2_0 = ps1_1 + d2_0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B7BD9BD6CF64EC929490106951A44D2024B5D1DA3A49AC96AD77CED6E8117A78"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'diff_in' does not match rule 'Local variables'. Suggested name is 'diffIn'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 115,
          "offset": 24,
          "length": 7,
          "code": {
            "startLine": 114,
            "length": 7,
            "offset": 79,
            "surroundingCode": "                double diff_out = _p_state.NextDiffOut;\n                double diff_in = Math.Abs(_buffer[^1] - _buffer[^2]);\n                _state.VolatilitySum += diff_in - diff_out;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "784BAD4C490F3CA15A8FE57C6AC29CDC83EFB9808F738800C403D84873127506"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'diff_in' does not match rule 'Local variables'. Suggested name is 'diffIn'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 124,
          "offset": 24,
          "length": 7,
          "code": {
            "startLine": 123,
            "length": 7,
            "offset": 37,
            "surroundingCode": "            {\n                double diff_in = Math.Abs(_buffer[^1] - _buffer[^2]);\n                _state.VolatilitySum += diff_in;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "58043042C87BD2C94A3341B5D184421A835CC29315B79B19BBB0E73C22C8B0FB"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'diff_in' does not match rule 'Local variables'. Suggested name is 'diffIn'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 141,
          "offset": 24,
          "length": 7,
          "code": {
            "startLine": 140,
            "length": 7,
            "offset": 37,
            "surroundingCode": "            {\n                double diff_in = Math.Abs(_buffer[^1] - _buffer[^2]);\n                // Use NextDiffOut from _p_state (which is the correct DiffOut for this transition)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "55ABE9DC83FC02330EE3BA505E79D347A916BF5531A1E74A76B42D8EEB536564"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'diff_in' does not match rule 'Local variables'. Suggested name is 'diffIn'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 147,
          "offset": 24,
          "length": 7,
          "code": {
            "startLine": 146,
            "length": 7,
            "offset": 37,
            "surroundingCode": "            {\n                double diff_in = Math.Abs(_buffer[^1] - _buffer[^2]);\n                _state.VolatilitySum = _p_state.VolatilitySum + diff_in;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9F1CFE643F919A00E958F399CC9CDB0BF00BC8701CA0EE329739BE5BCB89260E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'diff_in' does not match rule 'Local variables'. Suggested name is 'diffIn'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 277,
          "offset": 24,
          "length": 7,
          "code": {
            "startLine": 276,
            "length": 7,
            "offset": 90,
            "surroundingCode": "                int prevIdx = (bufferIdx - 1 + bufSize) % bufSize;\n                double diff_in = Math.Abs(val - buffer[prevIdx]);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A696136E08AAAB53A0B33A22E491B280BE69A57D2D912D8927D596425AD27D80"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'diff_out' does not match rule 'Local variables'. Suggested name is 'diffOut'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 114,
          "offset": 24,
          "length": 8,
          "code": {
            "startLine": 113,
            "length": 8,
            "offset": 37,
            "surroundingCode": "            {\n                double diff_out = _p_state.NextDiffOut;\n                double diff_in = Math.Abs(_buffer[^1] - _buffer[^2]);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B9CAAB52A08234C7F0EB8182DCF8CE9A37CC477BD9E94B7E2F168C47016EA989"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'diff_out' does not match rule 'Local variables'. Suggested name is 'diffOut'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 286,
          "offset": 28,
          "length": 8,
          "code": {
            "startLine": 285,
            "length": 8,
            "offset": 90,
            "surroundingCode": "                    int oldestIdx = (bufferIdx + 1) % bufSize;\n                    double diff_out = Math.Abs(removed - buffer[oldestIdx]);\n                    volatilitySum -= diff_out;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "AE4066648266891BA6765E6A0539155034532DDC7F9C996A8BDB0859CBFD5A0A"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'e1_final' does not match rule 'Local variables'. Suggested name is 'e1Final'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 146,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 145,
            "length": 8,
            "offset": 16,
            "surroundingCode": "\n        double e1_final = GetCompensated(_state1);\n        double e2_final = GetCompensated(_state2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "8E2C6BE08593DF2C68E8577190F6A704D6FA05DAF18977E8C6CD7AFD3BAAFE82"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'e2_final' does not match rule 'Local variables'. Suggested name is 'e2Final'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 147,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 146,
            "length": 8,
            "offset": 66,
            "surroundingCode": "        double e1_final = GetCompensated(_state1);\n        double e2_final = GetCompensated(_state2);\n        double e3_final = GetCompensated(_state3);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "16C0850919CE92995DC6D8DFEDA6C72809B60EB3917CC755F57FAE3088FC90A6"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'e3_final' does not match rule 'Local variables'. Suggested name is 'e3Final'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 148,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 147,
            "length": 8,
            "offset": 66,
            "surroundingCode": "        double e2_final = GetCompensated(_state2);\n        double e3_final = GetCompensated(_state3);\n        double result = 3 * e1_final - 3 * e2_final + e3_final;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "394B8C455F56687E3B66C64B660B01CDB3F365CFFC0579D4721BBDBEE0D6F51B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema1_e' does not match rule 'Local variables'. Suggested name is 'ema1E'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 226,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 225,
            "length": 6,
            "offset": 44,
            "surroundingCode": "        double ema1_val = 0;\n        double ema1_e = 1.0;\n        bool ema1_isCompensated = false;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "91E52A0F60C3626DF3D4F20BD5AF88CB3FBA1B9AC8581598BEEF552414D1BC0D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema1_e' does not match rule 'Local variables'. Suggested name is 'ema1E'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 317,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 316,
            "length": 6,
            "offset": 44,
            "surroundingCode": "        double ema1_val = 0;\n        double ema1_e = 1.0;\n        bool ema1_isCompensated = false;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "91E52A0F60C3626DF3D4F20BD5AF88CB3FBA1B9AC8581598BEEF552414D1BC0D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema1_isCompensated' does not match rule 'Local variables'. Suggested name is 'ema1IsCompensated'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 227,
          "offset": 14,
          "length": 18,
          "code": {
            "startLine": 226,
            "length": 18,
            "offset": 42,
            "surroundingCode": "        double ema1_e = 1.0;\n        bool ema1_isCompensated = false;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "938A0FE6D1D7A2A04E010F1E764BB3F97F1C803BF89F70D2303385EC29B1DCD1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema1_isCompensated' does not match rule 'Local variables'. Suggested name is 'ema1IsCompensated'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 318,
          "offset": 14,
          "length": 18,
          "code": {
            "startLine": 317,
            "length": 18,
            "offset": 42,
            "surroundingCode": "        double ema1_e = 1.0;\n        bool ema1_isCompensated = false;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "938A0FE6D1D7A2A04E010F1E764BB3F97F1C803BF89F70D2303385EC29B1DCD1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema1_val' does not match rule 'Local variables'. Suggested name is 'ema1Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 225,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 224,
            "length": 8,
            "offset": 41,
            "surroundingCode": "        // State for EMA1\n        double ema1_val = 0;\n        double ema1_e = 1.0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "ECE58E59A43A30FFCBEE4288AE08E2879B3F3167BD5248930B2F141BCC3E65C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema1_val' does not match rule 'Local variables'. Suggested name is 'ema1Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 316,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 315,
            "length": 8,
            "offset": 41,
            "surroundingCode": "        // State for EMA1\n        double ema1_val = 0;\n        double ema1_e = 1.0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "ECE58E59A43A30FFCBEE4288AE08E2879B3F3167BD5248930B2F141BCC3E65C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema2_e' does not match rule 'Local variables'. Suggested name is 'ema2E'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 231,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 230,
            "length": 6,
            "offset": 44,
            "surroundingCode": "        double ema2_val = 0;\n        double ema2_e = 1.0;\n        bool ema2_isCompensated = false;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E682D6DD8E5961E3A326049413653D97D8C569076BA8E29178F5709791D3291E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema2_e' does not match rule 'Local variables'. Suggested name is 'ema2E'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 322,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 321,
            "length": 6,
            "offset": 44,
            "surroundingCode": "        double ema2_val = 0;\n        double ema2_e = 1.0;\n        bool ema2_isCompensated = false;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E682D6DD8E5961E3A326049413653D97D8C569076BA8E29178F5709791D3291E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema2_isCompensated' does not match rule 'Local variables'. Suggested name is 'ema2IsCompensated'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 232,
          "offset": 14,
          "length": 18,
          "code": {
            "startLine": 231,
            "length": 18,
            "offset": 42,
            "surroundingCode": "        double ema2_e = 1.0;\n        bool ema2_isCompensated = false;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B1083587D451D66F6C3CA2BD26EC13B6D26139DCE0FC230FA00F1DD0BF6B2FF4"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema2_isCompensated' does not match rule 'Local variables'. Suggested name is 'ema2IsCompensated'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 323,
          "offset": 14,
          "length": 18,
          "code": {
            "startLine": 322,
            "length": 18,
            "offset": 42,
            "surroundingCode": "        double ema2_e = 1.0;\n        bool ema2_isCompensated = false;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B1083587D451D66F6C3CA2BD26EC13B6D26139DCE0FC230FA00F1DD0BF6B2FF4"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema2_val' does not match rule 'Local variables'. Suggested name is 'ema2Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 230,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 229,
            "length": 8,
            "offset": 41,
            "surroundingCode": "        // State for EMA2\n        double ema2_val = 0;\n        double ema2_e = 1.0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0D4B4C5B113C5FD83811F6EE81FF7BA8F1CB02C06D9E0641A8163787334F3C9E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema2_val' does not match rule 'Local variables'. Suggested name is 'ema2Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 321,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 320,
            "length": 8,
            "offset": 41,
            "surroundingCode": "        // State for EMA2\n        double ema2_val = 0;\n        double ema2_e = 1.0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0D4B4C5B113C5FD83811F6EE81FF7BA8F1CB02C06D9E0641A8163787334F3C9E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema3_e' does not match rule 'Local variables'. Suggested name is 'ema3E'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 327,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 326,
            "length": 6,
            "offset": 44,
            "surroundingCode": "        double ema3_val = 0;\n        double ema3_e = 1.0;\n        bool ema3_isCompensated = false;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "49DE046B9F9581A5EF1076C8D8A53539CB6F788498F8CFF2ACB0FABF6264F0FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema3_isCompensated' does not match rule 'Local variables'. Suggested name is 'ema3IsCompensated'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 328,
          "offset": 14,
          "length": 18,
          "code": {
            "startLine": 327,
            "length": 18,
            "offset": 42,
            "surroundingCode": "        double ema3_e = 1.0;\n        bool ema3_isCompensated = false;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FB4A4163AC7B1E6CD4B673BC282F394CBE51DE1D9A4D0CD2C4111631E2A93E7D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ema3_val' does not match rule 'Local variables'. Suggested name is 'ema3Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 326,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 325,
            "length": 8,
            "offset": 41,
            "surroundingCode": "        // State for EMA3\n        double ema3_val = 0;\n        double ema3_e = 1.0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "82383C2365C37A854437933F5D00D141F1A891623B86EDC09DD445FEE04701E0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'exp_arg' does not match rule 'Local variables'. Suggested name is 'expArg'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.cs",
          "line": 44,
          "offset": 16,
          "length": 7,
          "code": {
            "startLine": 43,
            "length": 7,
            "offset": 56,
            "surroundingCode": "        double arg = sqrt2_pi / period;\r\n        double exp_arg = Math.Exp(-arg);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "56A8418309585C06C338C0E9F710F33F1E7F414E1156B4C95A8833CBFDCEC708"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'exp_arg' does not match rule 'Local variables'. Suggested name is 'expArg'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.cs",
          "line": 272,
          "offset": 16,
          "length": 7,
          "code": {
            "startLine": 271,
            "length": 7,
            "offset": 56,
            "surroundingCode": "        double arg = sqrt2_pi / period;\r\n        double exp_arg = Math.Exp(-arg);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "56A8418309585C06C338C0E9F710F33F1E7F414E1156B4C95A8833CBFDCEC708"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'exp_arg' does not match rule 'Local variables'. Suggested name is 'expArg'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.cs",
          "line": 43,
          "offset": 16,
          "length": 7,
          "code": {
            "startLine": 42,
            "length": 7,
            "offset": 56,
            "surroundingCode": "        double arg = sqrt2_pi / period;\r\n        double exp_arg = Math.Exp(-arg);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "56A8418309585C06C338C0E9F710F33F1E7F414E1156B4C95A8833CBFDCEC708"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'exp_arg' does not match rule 'Local variables'. Suggested name is 'expArg'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.cs",
          "line": 274,
          "offset": 16,
          "length": 7,
          "code": {
            "startLine": 273,
            "length": 7,
            "offset": 56,
            "surroundingCode": "        double arg = sqrt2_pi / period;\r\n        double exp_arg = Math.Exp(-arg);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "56A8418309585C06C338C0E9F710F33F1E7F414E1156B4C95A8833CBFDCEC708"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f28' does not match rule 'Instance fields (private)'. Suggested name is '_f28'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 53,
          "offset": 24,
          "length": 3,
          "code": {
            "startLine": 52,
            "length": 3,
            "offset": 82,
            "surroundingCode": "        // Internal state variables for filter registers:\r\n        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "18DFBFBA80D8C3DE6D3C088F70866DA034B151B0B5B5B9717A8E2E6BF7C67BF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f30' does not match rule 'Instance fields (private)'. Suggested name is '_f30'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 53,
          "offset": 29,
          "length": 3,
          "code": {
            "startLine": 52,
            "length": 3,
            "offset": 87,
            "surroundingCode": "        // Internal state variables for filter registers:\r\n        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "18DFBFBA80D8C3DE6D3C088F70866DA034B151B0B5B5B9717A8E2E6BF7C67BF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f38' does not match rule 'Instance fields (private)'. Suggested name is '_f38'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 53,
          "offset": 34,
          "length": 3,
          "code": {
            "startLine": 52,
            "length": 3,
            "offset": 92,
            "surroundingCode": "        // Internal state variables for filter registers:\r\n        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "18DFBFBA80D8C3DE6D3C088F70866DA034B151B0B5B5B9717A8E2E6BF7C67BF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f40' does not match rule 'Instance fields (private)'. Suggested name is '_f40'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 53,
          "offset": 39,
          "length": 3,
          "code": {
            "startLine": 52,
            "length": 3,
            "offset": 97,
            "surroundingCode": "        // Internal state variables for filter registers:\r\n        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "18DFBFBA80D8C3DE6D3C088F70866DA034B151B0B5B5B9717A8E2E6BF7C67BF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f48' does not match rule 'Instance fields (private)'. Suggested name is '_f48'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 53,
          "offset": 44,
          "length": 3,
          "code": {
            "startLine": 52,
            "length": 3,
            "offset": 102,
            "surroundingCode": "        // Internal state variables for filter registers:\r\n        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "18DFBFBA80D8C3DE6D3C088F70866DA034B151B0B5B5B9717A8E2E6BF7C67BF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f50' does not match rule 'Instance fields (private)'. Suggested name is '_f50'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 53,
          "offset": 49,
          "length": 3,
          "code": {
            "startLine": 52,
            "length": 3,
            "offset": 107,
            "surroundingCode": "        // Internal state variables for filter registers:\r\n        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "18DFBFBA80D8C3DE6D3C088F70866DA034B151B0B5B5B9717A8E2E6BF7C67BF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f58' does not match rule 'Instance fields (private)'. Suggested name is '_f58'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 54,
          "offset": 24,
          "length": 3,
          "code": {
            "startLine": 53,
            "length": 3,
            "offset": 77,
            "surroundingCode": "        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EF158AA4C14870BD989D9A03A4C9F2D81AE89AF37229F4448A61FE94505D50A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f60' does not match rule 'Instance fields (private)'. Suggested name is '_f60'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 54,
          "offset": 29,
          "length": 3,
          "code": {
            "startLine": 53,
            "length": 3,
            "offset": 82,
            "surroundingCode": "        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EF158AA4C14870BD989D9A03A4C9F2D81AE89AF37229F4448A61FE94505D50A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f68' does not match rule 'Instance fields (private)'. Suggested name is '_f68'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 54,
          "offset": 34,
          "length": 3,
          "code": {
            "startLine": 53,
            "length": 3,
            "offset": 87,
            "surroundingCode": "        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EF158AA4C14870BD989D9A03A4C9F2D81AE89AF37229F4448A61FE94505D50A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f70' does not match rule 'Instance fields (private)'. Suggested name is '_f70'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 54,
          "offset": 39,
          "length": 3,
          "code": {
            "startLine": 53,
            "length": 3,
            "offset": 92,
            "surroundingCode": "        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EF158AA4C14870BD989D9A03A4C9F2D81AE89AF37229F4448A61FE94505D50A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f78' does not match rule 'Instance fields (private)'. Suggested name is '_f78'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 54,
          "offset": 44,
          "length": 3,
          "code": {
            "startLine": 53,
            "length": 3,
            "offset": 97,
            "surroundingCode": "        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EF158AA4C14870BD989D9A03A4C9F2D81AE89AF37229F4448A61FE94505D50A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'f80' does not match rule 'Instance fields (private)'. Suggested name is '_f80'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 54,
          "offset": 49,
          "length": 3,
          "code": {
            "startLine": 53,
            "length": 3,
            "offset": 102,
            "surroundingCode": "        private double f28, f30, f38, f40, f48, f50;\r\n        private double f58, f60, f68, f70, f78, f80;\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "EF158AA4C14870BD989D9A03A4C9F2D81AE89AF37229F4448A61FE94505D50A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'full_denom' does not match rule 'Local variables'. Suggested name is 'fullDenom'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 311,
          "offset": 16,
          "length": 10,
          "code": {
            "startLine": 310,
            "length": 10,
            "offset": 98,
            "surroundingCode": "        double full_sum_x2 = (period - 1.0) * period * (2.0 * period - 1.0) / 6.0;\n        double full_denom = period * full_sum_x2 - full_sum_x * full_sum_x;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "86B95B79A7C3E959E0DC110DD8051868DBAF2EDF0BD32E58A67B2E7CB913C881"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'full_sum_x' does not match rule 'Local variables'. Suggested name is 'fullSumX'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 309,
          "offset": 16,
          "length": 10,
          "code": {
            "startLine": 308,
            "length": 10,
            "offset": 65,
            "surroundingCode": "        // Precalculate constants for full period\n        double full_sum_x = 0.5 * period * (period - 1);\n        double full_sum_x2 = (period - 1.0) * period * (2.0 * period - 1.0) / 6.0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4886056E43FB84BA0CF5EE0A56A5923933C227EEC6731CD07F41F17723DDD09B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'full_sum_x2' does not match rule 'Local variables'. Suggested name is 'fullSumX2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 310,
          "offset": 16,
          "length": 11,
          "code": {
            "startLine": 309,
            "length": 11,
            "offset": 72,
            "surroundingCode": "        double full_sum_x = 0.5 * period * (period - 1);\n        double full_sum_x2 = (period - 1.0) * period * (2.0 * period - 1.0) / 6.0;\n        double full_denom = period * full_sum_x2 - full_sum_x * full_sum_x;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "C3C7BF869164AA06419A2F3ABA88A4CC71AE5D2E510F24CA08BDE1F7AF0CD2A8"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'h_l' does not match rule 'Local variables'. Suggested name is 'hL'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.cs",
          "line": 119,
          "offset": 20,
          "length": 3,
          "code": {
            "startLine": 118,
            "length": 3,
            "offset": 29,
            "surroundingCode": "        {\n            double h_l = input.High - input.Low;\n            double h_pc = Math.Abs(input.High - _prevBar.Close);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E99F995D8CD16BEAD63CE7FB0DB05FA458663ADD7E87D13CFF0D8E6661929E4E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'h_pc' does not match rule 'Local variables'. Suggested name is 'hPc'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.cs",
          "line": 120,
          "offset": 20,
          "length": 4,
          "code": {
            "startLine": 119,
            "length": 4,
            "offset": 68,
            "surroundingCode": "            double h_l = input.High - input.Low;\n            double h_pc = Math.Abs(input.High - _prevBar.Close);\n            double l_pc = Math.Abs(input.Low - _prevBar.Close);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FCE641BDBF75F4B4D927E2228579AF7949542BC11BE10F6FC83D86DB9DAE07A7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'i1_0' does not match rule 'Local variables'. Suggested name is 'i10'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 353,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 352,
            "length": 4,
            "offset": 60,
            "surroundingCode": "                // 4. Advance phases\n                double i1_0 = i1Buffer[i1Idx];\n                double i1_2 = i1Buffer[(i1Idx - 2 + 7) % 7];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "99616BB22FBE010224E89899B4CD50034F6CFF4B6DA88AC8FF282CD11B16A8E2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'i1_2' does not match rule 'Local variables'. Suggested name is 'i12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 354,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 353,
            "length": 4,
            "offset": 70,
            "surroundingCode": "                double i1_0 = i1Buffer[i1Idx];\n                double i1_2 = i1Buffer[(i1Idx - 2 + 7) % 7];\n                double i1_4 = i1Buffer[(i1Idx - 4 + 7) % 7];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CBB6621DE46CA97CCC73084238679B1EB545D6B2B1563CE76D485FE149BC489C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'i1_4' does not match rule 'Local variables'. Suggested name is 'i14'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 355,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 354,
            "length": 4,
            "offset": 84,
            "surroundingCode": "                double i1_2 = i1Buffer[(i1Idx - 2 + 7) % 7];\n                double i1_4 = i1Buffer[(i1Idx - 4 + 7) % 7];\n                double i1_6 = i1Buffer[(i1Idx - 6 + 7) % 7];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "283E2D6BE80215B7933343F6FE475D7A720F03A963C90B1F273D8E623F366814"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'i1_6' does not match rule 'Local variables'. Suggested name is 'i16'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 356,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 355,
            "length": 4,
            "offset": 84,
            "surroundingCode": "                double i1_4 = i1Buffer[(i1Idx - 4 + 7) % 7];\n                double i1_6 = i1Buffer[(i1Idx - 6 + 7) % 7];\n                double jI = (c1 * i1_0 + c2 * i1_2 - c2 * i1_4 - c1 * i1_6) * adj;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "7FEAFAB2BD9076C617EEA86B31BB2F71D080CD04DA029A10450A6DF3D5092F60"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'i2_raw' does not match rule 'Local variables'. Suggested name is 'i2Raw'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 210,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 209,
            "length": 6,
            "offset": 45,
            "surroundingCode": "        // 5. Phasor addition\n        double i2_raw = i1 - jQ;\n        double q2_raw = q1 + jI;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F6EB312E9C62AFF6FF3D495DF046D1B51490CB27AF751DD5FDEBB048F9CCA68A"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'i2_raw' does not match rule 'Local variables'. Suggested name is 'i2Raw'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 366,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 365,
            "length": 6,
            "offset": 61,
            "surroundingCode": "                // 5. Phasor addition\n                double i2_raw = i1 - jQ;\n                double q2_raw = q1 + jI;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "974305E8259713ECE7ACDD2FA8766B4717D0B5D840CB128634C852D9F6B509FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'i2_val' does not match rule 'Local variables'. Suggested name is 'i2Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 140,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 139,
            "length": 6,
            "offset": 50,
            "surroundingCode": "            // Phasor addition\n            double i2_val = i1 - jQ;\n            double q2_val = q1 + jI;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "24B4B9CBE6635329928F628A223CFAF393A25723C21FFD3976DC9335CB83F946"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'i2_val' does not match rule 'Local variables'. Suggested name is 'i2Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 330,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 329,
            "length": 6,
            "offset": 58,
            "surroundingCode": "                // Phasor addition\n                double i2_val = i1 - jQ;\n                double q2_val = q1 + jI;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F7C22E52BB09EE7041784D83E3116FF78342B43E47F4957BB77B9CC82C9C7B62"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'ialpha' does not match rule 'Instance fields (private)'. Suggested name is '_ialpha'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 51,
          "offset": 40,
          "length": 6,
          "code": {
            "startLine": 50,
            "length": 6,
            "offset": 46,
            "surroundingCode": "    {\r\n        private readonly double alpha, ialpha;\r\n        // Internal state variables for filter registers:"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F8D49D3FF7CE9F4C9F7D78EB99072DAD4925F0A2F02B9C9CD952505CA6E3A53B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'im_raw' does not match rule 'Local variables'. Suggested name is 'imRaw'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 219,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 218,
            "length": 6,
            "offset": 94,
            "surroundingCode": "        double re_raw = (_state.I2 * _p_state.I2) + (_state.Q2 * _p_state.Q2);\n        double im_raw = (_state.I2 * _p_state.Q2) - (_state.Q2 * _p_state.I2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A4D8D9F663B3463B018268E5716D41BB1094BF6F6867B84681434F68BDD31E24"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'im_raw' does not match rule 'Local variables'. Suggested name is 'imRaw'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 374,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 373,
            "length": 6,
            "offset": 82,
            "surroundingCode": "                double re_raw = (i2 * p_i2) + (q2 * p_q2);\n                double im_raw = (i2 * p_q2) - (q2 * p_i2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "66A347376787E51563798BC4F25971BEC5205312D22645FFF47758F1C6011999"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'im_val' does not match rule 'Local variables'. Suggested name is 'imVal'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 149,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 148,
            "length": 6,
            "offset": 102,
            "surroundingCode": "            double re_val = (_state.I2 * _p_state.I2) + (_state.Q2 * _p_state.Q2);\n            double im_val = (_state.I2 * _p_state.Q2) - (_state.Q2 * _p_state.I2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "21FC1822CB1E169F86105F6892F4E5DFC7847BD2F29D057A1A7712D4FAA39C3C"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'im_val' does not match rule 'Local variables'. Suggested name is 'imVal'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 339,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 338,
            "length": 6,
            "offset": 82,
            "surroundingCode": "                double re_val = (i2 * p_i2) + (q2 * p_q2);\n                double im_val = (i2 * p_q2) - (q2 * p_i2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "420FF5C0345DC3EB3A0A4979F01F62BB1703F4692437D7DCDBB13CFD33AAE218"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'initialized' does not match rule 'Instance fields (private)'. Suggested name is '_initialized'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 58,
          "offset": 22,
          "length": 11,
          "code": {
            "startLine": 57,
            "length": 11,
            "offset": 53,
            "surroundingCode": "        private double lastF8;\r\n        private bool initialized;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4593E091BFDC06EC706B3DE40DEAEF88CE04E8CC732BC797CD731D430029865F"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'l_pc' does not match rule 'Local variables'. Suggested name is 'lPc'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.cs",
          "line": 121,
          "offset": 20,
          "length": 4,
          "code": {
            "startLine": 120,
            "length": 4,
            "offset": 84,
            "surroundingCode": "            double h_pc = Math.Abs(input.High - _prevBar.Close);\n            double l_pc = Math.Abs(input.Low - _prevBar.Close);\n            tr = Math.Max(h_l, Math.Max(h_pc, l_pc));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D716BA70A4E69B3B073505021891CD30809EA8EB25C08038FE2FF40F93F2F898"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'lastF8' does not match rule 'Instance fields (private)'. Suggested name is '_lastF8'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 57,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 56,
            "length": 6,
            "offset": 61,
            "surroundingCode": "        // Added state for f10 logic\r\n        private double lastF8;\r\n        private bool initialized;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FA85CC6F9BFCAF3AE8485A22B217E864370A6B36673C25A6BC6A53982E4268FC"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm1_1' does not match rule 'Local variables'. Suggested name is 'm11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 129,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 128,
            "length": 4,
            "offset": 53,
            "surroundingCode": "        // --- Momentum Smoothing ---\n        double m1_1 = _state.M1_1 + _alpha * (momentum - _state.M1_1);\n        double m1_2 = _state.M1_2 + _alpha * (m1_1 - _state.M1_2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2DF57A0B60D7C7EB9768F29ED62002E0FBE316055D9CDB8C086D217E9B9D3AD2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm1_1' does not match rule 'Local variables'. Suggested name is 'm11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 232,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 231,
            "length": 4,
            "offset": 43,
            "surroundingCode": "        // Momentum filters\n        double m1_1 = 0, m1_2 = 0;\n        double m2_1 = 0, m2_2 = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "7AE36CB1DAC88183A30E0BB7A5C6839AF2DB3EA14D38035B2A477F2614D0F6A9"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm1_2' does not match rule 'Local variables'. Suggested name is 'm12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 130,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 129,
            "length": 4,
            "offset": 86,
            "surroundingCode": "        double m1_1 = _state.M1_1 + _alpha * (momentum - _state.M1_1);\n        double m1_2 = _state.M1_2 + _alpha * (m1_1 - _state.M1_2);\n        double m1_out = (3.0 * m1_1 - m1_2) * 0.5;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4BC618C20F7705DF5F40D9082777CC84DF0C2661A5E5EF2902C63A64BA155735"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm1_2' does not match rule 'Local variables'. Suggested name is 'm12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 232,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 231,
            "length": 4,
            "offset": 53,
            "surroundingCode": "        // Momentum filters\n        double m1_1 = 0, m1_2 = 0;\n        double m2_1 = 0, m2_2 = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "7AE36CB1DAC88183A30E0BB7A5C6839AF2DB3EA14D38035B2A477F2614D0F6A9"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm1_out' does not match rule 'Local variables'. Suggested name is 'm1Out'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 131,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 130,
            "length": 6,
            "offset": 82,
            "surroundingCode": "        double m1_2 = _state.M1_2 + _alpha * (m1_1 - _state.M1_2);\n        double m1_out = (3.0 * m1_1 - m1_2) * 0.5;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "62110584C242890C3DC3D31F06A0889670423ADC7AA9BD46B43FBB783833B598"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm1_out' does not match rule 'Local variables'. Suggested name is 'm1Out'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 269,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 268,
            "length": 6,
            "offset": 62,
            "surroundingCode": "            m1_2 += alpha * (m1_1 - m1_2);\n            double m1_out = (3.0 * m1_1 - m1_2) * 0.5;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "AEF5D6FC0DDE369FBEF03FBF3F3B9F6E79AFF47564580D087CA64EA6A0064B69"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm2_1' does not match rule 'Local variables'. Suggested name is 'm21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 133,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 132,
            "length": 4,
            "offset": 16,
            "surroundingCode": "\n        double m2_1 = _state.M2_1 + _alpha * (m1_out - _state.M2_1);\n        double m2_2 = _state.M2_2 + _alpha * (m2_1 - _state.M2_2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "BF972F3D22A325FC26E0C2626DBB7C06715C16FF9194FA850872400B213D36DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm2_1' does not match rule 'Local variables'. Suggested name is 'm21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 233,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 232,
            "length": 4,
            "offset": 50,
            "surroundingCode": "        double m1_1 = 0, m1_2 = 0;\n        double m2_1 = 0, m2_2 = 0;\n        double m3_1 = 0, m3_2 = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0F41E063FEDF56551735671E012184809E6A43F66E868B3EF46D06EB25C64A4B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm2_2' does not match rule 'Local variables'. Suggested name is 'm22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 134,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 133,
            "length": 4,
            "offset": 84,
            "surroundingCode": "        double m2_1 = _state.M2_1 + _alpha * (m1_out - _state.M2_1);\n        double m2_2 = _state.M2_2 + _alpha * (m2_1 - _state.M2_2);\n        double m2_out = (3.0 * m2_1 - m2_2) * 0.5;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "AE0157B83DB29BB642FB0FB8BAEDBA78C236F12304A6486AC44C162E5D18CF2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm2_2' does not match rule 'Local variables'. Suggested name is 'm22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 233,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 232,
            "length": 4,
            "offset": 60,
            "surroundingCode": "        double m1_1 = 0, m1_2 = 0;\n        double m2_1 = 0, m2_2 = 0;\n        double m3_1 = 0, m3_2 = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0F41E063FEDF56551735671E012184809E6A43F66E868B3EF46D06EB25C64A4B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm2_out' does not match rule 'Local variables'. Suggested name is 'm2Out'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 135,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 134,
            "length": 6,
            "offset": 82,
            "surroundingCode": "        double m2_2 = _state.M2_2 + _alpha * (m2_1 - _state.M2_2);\n        double m2_out = (3.0 * m2_1 - m2_2) * 0.5;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "45899D89E5D43F11BBC5B41FAC695506108394AAF55E69833CB5B4335843B13E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm2_out' does not match rule 'Local variables'. Suggested name is 'm2Out'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 273,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 272,
            "length": 6,
            "offset": 62,
            "surroundingCode": "            m2_2 += alpha * (m2_1 - m2_2);\n            double m2_out = (3.0 * m2_1 - m2_2) * 0.5;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A14874D0134B283C3F86BE378E24AD75DFA4E5C9E8AD812C794806043158F3A0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm3_1' does not match rule 'Local variables'. Suggested name is 'm31'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 137,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 136,
            "length": 4,
            "offset": 16,
            "surroundingCode": "\n        double m3_1 = _state.M3_1 + _alpha * (m2_out - _state.M3_1);\n        double m3_2 = _state.M3_2 + _alpha * (m3_1 - _state.M3_2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4F0F38C443DAFC6B33ABDA3E34CA23F050407524CEB6A7C0F3A46B83D61EBDE8"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm3_1' does not match rule 'Local variables'. Suggested name is 'm31'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 234,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 233,
            "length": 4,
            "offset": 50,
            "surroundingCode": "        double m2_1 = 0, m2_2 = 0;\n        double m3_1 = 0, m3_2 = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "06D74CD333310891F6F25F9D9753524F7456DF6B06E696598FA0525A64BEBC63"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm3_2' does not match rule 'Local variables'. Suggested name is 'm32'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 138,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 137,
            "length": 4,
            "offset": 84,
            "surroundingCode": "        double m3_1 = _state.M3_1 + _alpha * (m2_out - _state.M3_1);\n        double m3_2 = _state.M3_2 + _alpha * (m3_1 - _state.M3_2);\n        double smoothedMomentum = (3.0 * m3_1 - m3_2) * 0.5;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D53A8C171A1934AE280FE4A88CC6EA24805FB91802FA8E1EA26F11F23CA17C55"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'm3_2' does not match rule 'Local variables'. Suggested name is 'm32'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 234,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 233,
            "length": 4,
            "offset": 60,
            "surroundingCode": "        double m2_1 = 0, m2_2 = 0;\n        double m3_1 = 0, m3_2 = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "06D74CD333310891F6F25F9D9753524F7456DF6B06E696598FA0525A64BEBC63"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.cs",
          "line": 23,
          "offset": 19,
          "length": 2,
          "code": {
            "startLine": 22,
            "length": 2,
            "offset": 19,
            "surroundingCode": "\n    private Alma? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4D17882F5624924BCC7BFA054B77A7F9A7997A6489F47FDEA11526A345EA8812"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Quantower.cs",
          "line": 17,
          "offset": 19,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 19,
            "surroundingCode": "\n    private Dema? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FCB44B32BE9B1BB62E78FCA909E2CF8BC14420C05048C655A2BA4676D09CABF2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Quantower.cs",
          "line": 17,
          "offset": 19,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 19,
            "surroundingCode": "\n    private Dwma? ma;\n    private int _warmupBarIndex = -1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6D0359CCA5FB5940A2F9697A67250ABBAB3E63A31A2C2B03F4D2D7B08120CF29"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.cs",
          "line": 17,
          "offset": 18,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 18,
            "surroundingCode": "\n    private Ema? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "737F9DC5B47F354411FF93BC87FC69CF62A350BC6797D09F417144BEFB76D3A6"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Quantower.cs",
          "line": 17,
          "offset": 18,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 18,
            "surroundingCode": "\n    private Hma? ma;\n    private int _warmupBarIndex = -1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "48021D465BA31D1F281DDA79427ECF34FF57AA545400C4DFDCEFAC33A9ED2B7B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Quantower.cs",
          "line": 23,
          "offset": 18,
          "length": 2,
          "code": {
            "startLine": 22,
            "length": 2,
            "offset": 18,
            "surroundingCode": "\n    private Jma? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "BFBD1908C17CA992109B95FC59CDEAD6C15FF44E60F055BC2BEEFBACDD25D035"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.cs",
          "line": 23,
          "offset": 19,
          "length": 2,
          "code": {
            "startLine": 22,
            "length": 2,
            "offset": 19,
            "surroundingCode": "\n    private Kama? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "3EF9E37BA6CC413D86ADB9A2E1BD605C06E8C6DF3E3CEF7C6B175C2854E30FD2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Quantower.cs",
          "line": 20,
          "offset": 19,
          "length": 2,
          "code": {
            "startLine": 19,
            "length": 2,
            "offset": 19,
            "surroundingCode": "\n    private Lsma? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "880F7BBE5A9BC4ABCA3219FBCFD5096FEB59D91C9FFCC40D14B5AF50498EC76E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.cs",
          "line": 17,
          "offset": 18,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 18,
            "surroundingCode": "\n    private Rma? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F91CD82CF56D671A4F95E529BEEE2D68E3BD7E54E216726BD10A1D4E6D03F3EF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.cs",
          "line": 17,
          "offset": 18,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 18,
            "surroundingCode": "\n    private Sma? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "11E9F0763940044FA642CFDA845D273E3BEA6D954CC2655208650A41B9FF8F10"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.cs",
          "line": 17,
          "offset": 18,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 19,
            "surroundingCode": "\r\n    private Ssf? ma;\r\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "07A2A370AA101469AFE6F679B2C0E383FD738239185D4CEDE4CF6438F6A38B62"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.cs",
          "line": 20,
          "offset": 17,
          "length": 2,
          "code": {
            "startLine": 19,
            "length": 2,
            "offset": 17,
            "surroundingCode": "\n    private T3? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "543F373A75B4D0C4550AD26F7F3A59136A4CF4D45B40FE1A3FF9DB4032498A06"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Quantower.cs",
          "line": 17,
          "offset": 19,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 19,
            "surroundingCode": "\n    private Tema? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "51DE0ACF8882E3E486243141128BDFECAE4FC61C4A61D54FCBEB0B6EC330141F"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.cs",
          "line": 17,
          "offset": 20,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 20,
            "surroundingCode": "\n    private Trima? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "AE754B34A63FF6F5AC3DC7075C6AB15FCFAB464B0D651110D4D64CA07467F437"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Quantower.cs",
          "line": 17,
          "offset": 18,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 19,
            "surroundingCode": "\r\n    private Usf? ma;\r\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CC02D8B9CDDD7C28C978A42D0C99916A3785349D15DEA805B196C2BA8E7E283B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.cs",
          "line": 17,
          "offset": 20,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 20,
            "surroundingCode": "\n    private Vidya? ma;\n    protected LineSeries? Series;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "18B76CDCEE0777939D7AEEEB3C2FD258D06FC6AFA1FF87A1069F5555E0295D04"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ma' does not match rule 'Instance fields (private)'. Suggested name is '_ma'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.cs",
          "line": 17,
          "offset": 18,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 18,
            "surroundingCode": "\n    private Wma? ma;\n    private int _warmupBarIndex = -1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4D2D36FCE7D600DB81C3474D145A5C3AA4A682B8B8AAB7688C7D0A16179CEAA1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_i2' does not match rule 'Local variables'. Suggested name is 'pI2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 295,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 294,
            "length": 4,
            "offset": 62,
            "surroundingCode": "        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;\n        double lastValid = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "16AD0F447464252038B8CA7C7B6B21CF2EB55BEA06D376BCD9C0FCEF9F915D2D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_i2' does not match rule 'Local variables'. Suggested name is 'pI2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 264,
          "offset": 16,
          "length": 4,
          "code": {
            "startLine": 263,
            "length": 4,
            "offset": 69,
            "surroundingCode": "        double p_period = 0, p_phase = 0, p_mama = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "380327695DAB41784C27F02098FA411DCEE78006E4DC3C534CF36C0A42B99A94"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_im' does not match rule 'Local variables'. Suggested name is 'pIm'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 295,
          "offset": 46,
          "length": 4,
          "code": {
            "startLine": 294,
            "length": 4,
            "offset": 92,
            "surroundingCode": "        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;\n        double lastValid = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "16AD0F447464252038B8CA7C7B6B21CF2EB55BEA06D376BCD9C0FCEF9F915D2D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_im' does not match rule 'Local variables'. Suggested name is 'pIm'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 264,
          "offset": 46,
          "length": 4,
          "code": {
            "startLine": 263,
            "length": 4,
            "offset": 99,
            "surroundingCode": "        double p_period = 0, p_phase = 0, p_mama = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "380327695DAB41784C27F02098FA411DCEE78006E4DC3C534CF36C0A42B99A94"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_mama' does not match rule 'Local variables'. Suggested name is 'pMama'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 263,
          "offset": 43,
          "length": 6,
          "code": {
            "startLine": 262,
            "length": 6,
            "offset": 109,
            "surroundingCode": "        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "C7DA7E34FDD31A883AB3FC3A990FCA44F05E38BBE45EC3B81FD35B8051FAD600"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_period' does not match rule 'Local variables'. Suggested name is 'pPeriod'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 263,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 262,
            "length": 8,
            "offset": 82,
            "surroundingCode": "        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "C7DA7E34FDD31A883AB3FC3A990FCA44F05E38BBE45EC3B81FD35B8051FAD600"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_phase' does not match rule 'Local variables'. Suggested name is 'pPhase'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 263,
          "offset": 30,
          "length": 7,
          "code": {
            "startLine": 262,
            "length": 7,
            "offset": 96,
            "surroundingCode": "        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "C7DA7E34FDD31A883AB3FC3A990FCA44F05E38BBE45EC3B81FD35B8051FAD600"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_q2' does not match rule 'Local variables'. Suggested name is 'pQ2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 295,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 294,
            "length": 4,
            "offset": 72,
            "surroundingCode": "        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;\n        double lastValid = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "16AD0F447464252038B8CA7C7B6B21CF2EB55BEA06D376BCD9C0FCEF9F915D2D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_q2' does not match rule 'Local variables'. Suggested name is 'pQ2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 264,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 263,
            "length": 4,
            "offset": 79,
            "surroundingCode": "        double p_period = 0, p_phase = 0, p_mama = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "380327695DAB41784C27F02098FA411DCEE78006E4DC3C534CF36C0A42B99A94"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_re' does not match rule 'Local variables'. Suggested name is 'pRe'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 295,
          "offset": 36,
          "length": 4,
          "code": {
            "startLine": 294,
            "length": 4,
            "offset": 82,
            "surroundingCode": "        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;\n        double lastValid = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "16AD0F447464252038B8CA7C7B6B21CF2EB55BEA06D376BCD9C0FCEF9F915D2D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'p_re' does not match rule 'Local variables'. Suggested name is 'pRe'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 264,
          "offset": 36,
          "length": 4,
          "code": {
            "startLine": 263,
            "length": 4,
            "offset": 89,
            "surroundingCode": "        double p_period = 0, p_phase = 0, p_mama = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "380327695DAB41784C27F02098FA411DCEE78006E4DC3C534CF36C0A42B99A94"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'prev_sum_y' does not match rule 'Local variables'. Suggested name is 'prevSumY'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 96,
          "offset": 20,
          "length": 10,
          "code": {
            "startLine": 95,
            "length": 10,
            "offset": 63,
            "surroundingCode": "            double oldest = _buffer.Oldest;\n            double prev_sum_y = _state.SumY;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "4B5E80AEFEE0F22B2B9E5C82784B34C41D358EC8EEDD0B8D3A98845A0A5394CE"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'prev_sum_y' does not match rule 'Local variables'. Suggested name is 'prevSumY'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 369,
          "offset": 24,
          "length": 10,
          "code": {
            "startLine": 368,
            "length": 10,
            "offset": 76,
            "surroundingCode": "                double oldest = buffer[bufferIndex];\n                double prev_sum_y = sum_y;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "63B3BF1044974CBADBB18D7F4D8AE84764DFE03AB2DFB6B9A6957BA4CCAFC1F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ps1_0' does not match rule 'Local variables'. Suggested name is 'ps10'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 677,
          "offset": 24,
          "length": 5,
          "code": {
            "startLine": 676,
            "length": 5,
            "offset": 77,
            "surroundingCode": "                double d1_1 = vDeltaS1.GetElement(1);\n                double ps1_0 = sumState + d1_0;\n                double ps1_1 = ps1_0 + d1_1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "591F01E6ABFB93438D52B0BBB619B8BE5C50F6CE6077C3812AD1F7D4878CC1DD"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ps1_1' does not match rule 'Local variables'. Suggested name is 'ps11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 678,
          "offset": 24,
          "length": 5,
          "code": {
            "startLine": 677,
            "length": 5,
            "offset": 71,
            "surroundingCode": "                double ps1_0 = sumState + d1_0;\n                double ps1_1 = ps1_0 + d1_1;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2487E0D8866212B59B522236B706EBC97C51CBC62786F60118683261C707D2DD"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ps2_0' does not match rule 'Local variables'. Suggested name is 'ps20'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 683,
          "offset": 24,
          "length": 5,
          "code": {
            "startLine": 682,
            "length": 5,
            "offset": 77,
            "surroundingCode": "                double d2_1 = vDeltaS2.GetElement(1);\n                double ps2_0 = ps1_1 + d2_0;\n                double ps2_1 = ps2_0 + d2_1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1A070C766A9F3026DBEBA71D46EE77203A78E882D835A9A5820A135B960E1B38"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'ps2_1' does not match rule 'Local variables'. Suggested name is 'ps21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 684,
          "offset": 24,
          "length": 5,
          "code": {
            "startLine": 683,
            "length": 5,
            "offset": 68,
            "surroundingCode": "                double ps2_0 = ps1_1 + d2_0;\n                double ps2_1 = ps2_0 + d2_1;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "6BD8CD9EB04B02BED142AD9D95C4488B673DAAC39B2009E4BABC4A157DDF49BF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'pw1_0' does not match rule 'Local variables'. Suggested name is 'pw10'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 694,
          "offset": 24,
          "length": 5,
          "code": {
            "startLine": 693,
            "length": 5,
            "offset": 65,
            "surroundingCode": "                // Prefix sum of U values\n                double pw1_0 = wsumState + u1_0;\n                double pw1_1 = pw1_0 + u1_1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "19C1D3EEDC192CFFF5AB7BA36291E13F1D9B6DD9F61084F0104C345DCB1B0C09"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'pw1_1' does not match rule 'Local variables'. Suggested name is 'pw11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 695,
          "offset": 24,
          "length": 5,
          "code": {
            "startLine": 694,
            "length": 5,
            "offset": 72,
            "surroundingCode": "                double pw1_0 = wsumState + u1_0;\n                double pw1_1 = pw1_0 + u1_1;\n                double pw2_0 = pw1_1 + u2_0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "DD0644829D193F4A2C224DD504D11EE9793C0362777A609C8142B65616C69664"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'pw2_0' does not match rule 'Local variables'. Suggested name is 'pw20'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 696,
          "offset": 24,
          "length": 5,
          "code": {
            "startLine": 695,
            "length": 5,
            "offset": 68,
            "surroundingCode": "                double pw1_1 = pw1_0 + u1_1;\n                double pw2_0 = pw1_1 + u2_0;\n                double pw2_1 = pw2_0 + u2_1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "57AAB7031B4BAEA117B61940E115E38083AF85F960B3D9FADACF46A0DB2FAE0B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'pw2_1' does not match rule 'Local variables'. Suggested name is 'pw21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 697,
          "offset": 24,
          "length": 5,
          "code": {
            "startLine": 696,
            "length": 5,
            "offset": 68,
            "surroundingCode": "                double pw2_0 = pw1_1 + u2_0;\n                double pw2_1 = pw2_0 + u2_1;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "298A1980835F17333A8D7BA9E2720E23DE9D70DCED327FB1C78DF8D68A8451DA"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'q1_0' does not match rule 'Local variables'. Suggested name is 'q10'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 359,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 358,
            "length": 4,
            "offset": 24,
            "surroundingCode": "\n                double q1_0 = q1Buffer[q1Idx];\n                double q1_2 = q1Buffer[(q1Idx - 2 + 7) % 7];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "83BF8248DDB8932DA8570F8EDF3DF4FB70EF237FCA66AD99248C98DC6DA68B09"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'q1_2' does not match rule 'Local variables'. Suggested name is 'q12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 360,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 359,
            "length": 4,
            "offset": 70,
            "surroundingCode": "                double q1_0 = q1Buffer[q1Idx];\n                double q1_2 = q1Buffer[(q1Idx - 2 + 7) % 7];\n                double q1_4 = q1Buffer[(q1Idx - 4 + 7) % 7];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "18E18DBD051CB13B1531729695F3FFA8A27C44D0DA5F885099B1730A51C273AF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'q1_4' does not match rule 'Local variables'. Suggested name is 'q14'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 361,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 360,
            "length": 4,
            "offset": 84,
            "surroundingCode": "                double q1_2 = q1Buffer[(q1Idx - 2 + 7) % 7];\n                double q1_4 = q1Buffer[(q1Idx - 4 + 7) % 7];\n                double q1_6 = q1Buffer[(q1Idx - 6 + 7) % 7];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "56B38D59412F6FCFED50AB32F3FF3B61B7327E4A330B48A0D583241092DC6140"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'q1_6' does not match rule 'Local variables'. Suggested name is 'q16'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 362,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 361,
            "length": 4,
            "offset": 84,
            "surroundingCode": "                double q1_4 = q1Buffer[(q1Idx - 4 + 7) % 7];\n                double q1_6 = q1Buffer[(q1Idx - 6 + 7) % 7];\n                double jQ = (c1 * q1_0 + c2 * q1_2 - c2 * q1_4 - c1 * q1_6) * adj;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "5FEADDBA0B1733065142F2C849BA58751CDCBA7C431714132DB941A7F8035509"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'q2_raw' does not match rule 'Local variables'. Suggested name is 'q2Raw'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 211,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 210,
            "length": 6,
            "offset": 48,
            "surroundingCode": "        double i2_raw = i1 - jQ;\n        double q2_raw = q1 + jI;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B9FC6152E2FD993517FD675CF871A62FBB01685B5382702D31A851C4D10C59D2"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'q2_raw' does not match rule 'Local variables'. Suggested name is 'q2Raw'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 367,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 366,
            "length": 6,
            "offset": 64,
            "surroundingCode": "                double i2_raw = i1 - jQ;\n                double q2_raw = q1 + jI;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "708A760D0301CB6F95DADFCFE7E4315D53AB857EB9314D13281064BDD99100D9"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'q2_val' does not match rule 'Local variables'. Suggested name is 'q2Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 141,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 140,
            "length": 6,
            "offset": 56,
            "surroundingCode": "            double i2_val = i1 - jQ;\n            double q2_val = q1 + jI;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "258EE0EE2B82BC65A62BE5A66C04EA8E817870882356B044045532C427A4169E"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'q2_val' does not match rule 'Local variables'. Suggested name is 'q2Val'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 331,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 330,
            "length": 6,
            "offset": 64,
            "surroundingCode": "                double i2_val = i1 - jQ;\n                double q2_val = q1 + jI;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A1B85CB143419C15DCBD409AD41F8B57AB55236CE87049F242888508196E1833"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 're_raw' does not match rule 'Local variables'. Suggested name is 'reRaw'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 218,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 217,
            "length": 6,
            "offset": 52,
            "surroundingCode": "        // 6. Homodyne Discriminator\n        double re_raw = (_state.I2 * _p_state.I2) + (_state.Q2 * _p_state.Q2);\n        double im_raw = (_state.I2 * _p_state.Q2) - (_state.Q2 * _p_state.I2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "219E789706C55B0ED635A2AB8E0414D5EEC41553EC8C8D816D8BEA627F1BD8D1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 're_raw' does not match rule 'Local variables'. Suggested name is 'reRaw'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 373,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 372,
            "length": 6,
            "offset": 68,
            "surroundingCode": "                // 6. Homodyne Discriminator\n                double re_raw = (i2 * p_i2) + (q2 * p_q2);\n                double im_raw = (i2 * p_q2) - (q2 * p_i2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "AB9BA015F898D2DCDD472E46C4E5CB5D24BF7662B54CC4E48E1788B5D11B3D02"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 're_val' does not match rule 'Local variables'. Suggested name is 'reVal'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 148,
          "offset": 20,
          "length": 6,
          "code": {
            "startLine": 147,
            "length": 6,
            "offset": 57,
            "surroundingCode": "            // Homodyne discriminator\n            double re_val = (_state.I2 * _p_state.I2) + (_state.Q2 * _p_state.Q2);\n            double im_val = (_state.I2 * _p_state.Q2) - (_state.Q2 * _p_state.I2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "DCB5DD4C69ADEE562AA6C994E4E95ECABA4D654E85C0278617BA98F30BF821CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 're_val' does not match rule 'Local variables'. Suggested name is 'reVal'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 338,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 337,
            "length": 6,
            "offset": 65,
            "surroundingCode": "                // Homodyne discriminator\n                double re_val = (i2 * p_i2) + (q2 * p_q2);\n                double im_val = (i2 * p_q2) - (q2 * p_i2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "60691F04A6A5C05A693BCBBE0907B4C010A81FD47C5D316300FB2A5CF0AE1584"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'sqrt2_pi' does not match rule 'Local variables'. Suggested name is 'sqrt2Pi'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.cs",
          "line": 42,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 41,
            "length": 8,
            "offset": 123,
            "surroundingCode": "        // Note: Some implementations (like Ooples/PineScript) use 1.414 * 3.14159 which causes divergence\r\n        double sqrt2_pi = Math.Sqrt(2) * Math.PI;\r\n        double arg = sqrt2_pi / period;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "3A7F33BA31E350965FE0B8FBAA4D9F5DAB9A8C9814D502A86E95AA09D00745AE"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'sqrt2_pi' does not match rule 'Local variables'. Suggested name is 'sqrt2Pi'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.cs",
          "line": 270,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 269,
            "length": 8,
            "offset": 17,
            "surroundingCode": "\r\n        double sqrt2_pi = Math.Sqrt(2) * Math.PI;\r\n        double arg = sqrt2_pi / period;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0A1BB2ABED8CC6C11447224EC761BC778E7AD18E3CC088DCB223B4432313A7BA"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'sqrt2_pi' does not match rule 'Local variables'. Suggested name is 'sqrt2Pi'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.cs",
          "line": 41,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 40,
            "length": 8,
            "offset": 17,
            "surroundingCode": "\r\n        double sqrt2_pi = Math.Sqrt(2) * Math.PI;\r\n        double arg = sqrt2_pi / period;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0A1BB2ABED8CC6C11447224EC761BC778E7AD18E3CC088DCB223B4432313A7BA"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'sqrt2_pi' does not match rule 'Local variables'. Suggested name is 'sqrt2Pi'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.cs",
          "line": 272,
          "offset": 16,
          "length": 8,
          "code": {
            "startLine": 271,
            "length": 8,
            "offset": 17,
            "surroundingCode": "\r\n        double sqrt2_pi = Math.Sqrt(2) * Math.PI;\r\n        double arg = sqrt2_pi / period;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0A1BB2ABED8CC6C11447224EC761BC778E7AD18E3CC088DCB223B4432313A7BA"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'sum_x2' does not match rule 'Local variables'. Suggested name is 'sumX2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 68,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 67,
            "length": 6,
            "offset": 72,
            "surroundingCode": "        // sum_x2 = 0^2 + ... + (n-1)^2 = (n-1)n(2n-1)/6\n        double sum_x2 = (period - 1.0) * period * (2.0 * period - 1.0) / 6.0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "5A13198C1EADB1152D4A71EB07651BF48ED7AFA5064C324BBC87F20C27C87369"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'sum_xy' does not match rule 'Local variables'. Suggested name is 'sumXy'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 303,
          "offset": 16,
          "length": 6,
          "code": {
            "startLine": 302,
            "length": 6,
            "offset": 41,
            "surroundingCode": "        double sum_y = 0;\n        double sum_xy = 0;\n        double lastValid = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B27D039C2BCFDD3EFBFF78F4304DA7A0D9432808326B981E417DF35430F0A25D"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'sum_y' does not match rule 'Local variables'. Suggested name is 'sumY'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 302,
          "offset": 16,
          "length": 5,
          "code": {
            "startLine": 301,
            "length": 5,
            "offset": 16,
            "surroundingCode": "\n        double sum_y = 0;\n        double sum_xy = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CA70F93281E590DEC79425F2F93853CC42F95B96AC7B1ADAB595814F251EF148"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 't3_2' does not match rule 'Local variables'. Suggested name is 't32'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 44,
          "offset": 13,
          "length": 4,
          "code": {
            "startLine": 43,
            "length": 4,
            "offset": 68,
            "surroundingCode": "        // Create new instance and feed up to modified\r\n        var t3_2 = new T3(5, 0.7);\r\n        for (int i = 0; i < 99; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FAB3633CB83EC4413C069A5159328CF1FA7EB01201CD5882C662CAD6444250DC"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 't3_2' does not match rule 'Local variables'. Suggested name is 't32'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 93,
          "offset": 13,
          "length": 4,
          "code": {
            "startLine": 92,
            "length": 4,
            "offset": 14,
            "surroundingCode": "\r\n        var t3_2 = new T3(5, 0.7);\r\n        var seriesResults = t3_2.Update(series);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2610D95E2BED08AD792BCB2997C9FBC098732CF3514164904E8D52A96CB05EB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'u1_0' does not match rule 'Local variables'. Suggested name is 'u10'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 688,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 687,
            "length": 4,
            "offset": 88,
            "surroundingCode": "                // For element i: u_i = period * new_i - S_(i-1)\n                double u1_0 = period * vNew1.GetElement(0) - sumState;\n                double u1_1 = period * vNew1.GetElement(1) - ps1_0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0DE8AEE6CBAC50AB4930592CE1CADAA7F975B4131ED97D6C2E310B88425DDFC6"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'u1_1' does not match rule 'Local variables'. Suggested name is 'u11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 689,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 688,
            "length": 4,
            "offset": 94,
            "surroundingCode": "                double u1_0 = period * vNew1.GetElement(0) - sumState;\n                double u1_1 = period * vNew1.GetElement(1) - ps1_0;\n                double u2_0 = period * vNew2.GetElement(0) - ps1_1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "75EF8D7E6CEE9D3E680CBA032A1F99A9CBB829FB0D822690617D750DD51F4EC5"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'u2_0' does not match rule 'Local variables'. Suggested name is 'u20'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 690,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 689,
            "length": 4,
            "offset": 91,
            "surroundingCode": "                double u1_1 = period * vNew1.GetElement(1) - ps1_0;\n                double u2_0 = period * vNew2.GetElement(0) - ps1_1;\n                double u2_1 = period * vNew2.GetElement(1) - ps2_0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "53CD4DB4A419939C32466A8D8A28DB06B0F655891C7BFDF100ECC1A2708A8AED"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'u2_1' does not match rule 'Local variables'. Suggested name is 'u21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 691,
          "offset": 24,
          "length": 4,
          "code": {
            "startLine": 690,
            "length": 4,
            "offset": 91,
            "surroundingCode": "                double u2_0 = period * vNew2.GetElement(0) - ps1_1;\n                double u2_1 = period * vNew2.GetElement(1) - ps2_0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A9DFEB6B2831B70F93D8D98D6CA57A96FD6C5E6FA73A22322A9060472A387C99"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'usf_2' does not match rule 'Local variables'. Suggested name is 'usf2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 44,
          "offset": 13,
          "length": 5,
          "code": {
            "startLine": 43,
            "length": 5,
            "offset": 68,
            "surroundingCode": "        // Create new instance and feed up to modified\r\n        var usf_2 = new Usf(10);\r\n        for (int i = 0; i < 99; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "70239B799F24E3FCFF0394E9FE62F0586D9560317B0C570198B3D877F7322E67"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'usf_2' does not match rule 'Local variables'. Suggested name is 'usf2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 93,
          "offset": 13,
          "length": 5,
          "code": {
            "startLine": 92,
            "length": 5,
            "offset": 14,
            "surroundingCode": "\r\n        var usf_2 = new Usf(10);\r\n        var seriesResults = usf_2.Update(series);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "F13182FB4C27DE664911BEED449A5AD59DDA24B00DC662054A511EB9A264A560"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Name 'v3_corrected' does not match rule 'Local variables'. Suggested name is 'v3Corrected'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Tests.cs",
          "line": 54,
          "offset": 13,
          "length": 12,
          "code": {
            "startLine": 53,
            "length": 12,
            "offset": 94,
            "surroundingCode": "        var v3 = dwma.Update(new TValue(DateTime.UtcNow, 3), isNew: true).Value;\r\n        var v3_corrected = dwma.Update(new TValue(DateTime.UtcNow, 4), isNew: false).Value;\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "9C4CFDB2DF1884A972634586A906D4F80437BAAC7167052CC3140BF376B1399F"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPS1' does not match rule 'Local variables'. Suggested name is 'vPs1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 377,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 376,
            "length": 4,
            "offset": 127,
            "surroundingCode": "                var vShiftS1 = Avx512F.Multiply(Avx512F.PermuteVar8x64(vDeltaS, V512_Idx_1), V512_Mask_1);\n                var vPS1 = Avx512F.Add(vDeltaS, vShiftS1);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "FF45C46EBDA036DDB9D8B6F62C997EF8A56A0C289206E7CDDFE48FFF3F2E2BBB"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPS1' does not match rule 'Local variables'. Suggested name is 'vPs1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 562,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 561,
            "length": 4,
            "offset": 84,
            "surroundingCode": "                vShiftS1 = Avx.Blend(vZero, vShiftS1, 0b_1110);\n                var vPS1 = Avx.Add(vDeltaS, vShiftS1);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "25A13C145BE4CB68A9312DE56E8A82677BDDD63F89722E194F3CE9EE2FD6C511"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPS2' does not match rule 'Local variables'. Suggested name is 'vPs2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 380,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 379,
            "length": 4,
            "offset": 124,
            "surroundingCode": "                var vShiftS2 = Avx512F.Multiply(Avx512F.PermuteVar8x64(vPS1, V512_Idx_2), V512_Mask_2);\n                var vPS2 = Avx512F.Add(vPS1, vShiftS2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "98D29ACB1B23FDA330F51702C55351675AC99DD785E1755BF21CB11028514C71"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPS2' does not match rule 'Local variables'. Suggested name is 'vPs2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 566,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 565,
            "length": 4,
            "offset": 84,
            "surroundingCode": "                vShiftS2 = Avx.Blend(vZero, vShiftS2, 0b_1100);\n                var vPS2 = Avx.Add(vPS1, vShiftS2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CF9AC59E3261BFDC9F55369EC98E61C08B90B25A969C33DD7CCF51ED7EACDE55"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPS4' does not match rule 'Local variables'. Suggested name is 'vPs4'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 383,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 382,
            "length": 4,
            "offset": 124,
            "surroundingCode": "                var vShiftS4 = Avx512F.Multiply(Avx512F.PermuteVar8x64(vPS2, V512_Idx_4), V512_Mask_4);\n                var vPS4 = Avx512F.Add(vPS2, vShiftS4);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "04E791A956681377D178AEA8D1C3E997DE304C9C6E13073E92274588960049EF"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPS_DeltaS1' does not match rule 'Local variables'. Suggested name is 'vPsDeltaS1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 497,
          "offset": 21,
          "length": 11,
          "code": {
            "startLine": 496,
            "length": 11,
            "offset": 88,
            "surroundingCode": "                vShiftS1_1 = Avx.Blend(vZero, vShiftS1_1, 0b_1110);\n                var vPS_DeltaS1 = Avx.Add(vDeltaS1, vShiftS1_1);\n                var vShiftS2_1 = Avx2.Permute4x64(vPS_DeltaS1.AsUInt64(), 0b_01_00_00_00).AsDouble(); // skipcq: CS-R1131"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "558044BF7619CAAB3C1ED9FBF571B1FD921386381A50EF8D02C58F6DAF68AD02"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPS_DeltaS2' does not match rule 'Local variables'. Suggested name is 'vPsDeltaS2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 504,
          "offset": 21,
          "length": 11,
          "code": {
            "startLine": 503,
            "length": 11,
            "offset": 88,
            "surroundingCode": "                vShiftS1_2 = Avx.Blend(vZero, vShiftS1_2, 0b_1110);\n                var vPS_DeltaS2 = Avx.Add(vDeltaS2, vShiftS1_2);\n                var vShiftS2_2 = Avx2.Permute4x64(vPS_DeltaS2.AsUInt64(), 0b_01_00_00_00).AsDouble(); // skipcq: CS-R1131"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "CF032CC77D33DE8CFA81ECCD5D74FD9A3E5EF85722CAA82EF60541D954C208EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW1' does not match rule 'Local variables'. Suggested name is 'vPw1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 393,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 392,
            "length": 4,
            "offset": 122,
            "surroundingCode": "                var vShiftW1 = Avx512F.Multiply(Avx512F.PermuteVar8x64(vU, V512_Idx_1), V512_Mask_1);\n                var vPW1 = Avx512F.Add(vU, vShiftW1);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "E323F66E440D75E3794FAEA468AB84B4E4AEC3DC0A00ACEC21440BB5D69B409A"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW1' does not match rule 'Local variables'. Suggested name is 'vPw1'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 576,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 575,
            "length": 4,
            "offset": 84,
            "surroundingCode": "                vShiftW1 = Avx.Blend(vZero, vShiftW1, 0b_1110);\n                var vPW1 = Avx.Add(vU, vShiftW1);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "17DC99B78983E52E20A86E8C3F83AF523F1AFF11DB143F7156106DBEB97110A3"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW1_1' does not match rule 'Local variables'. Suggested name is 'vPw11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 530,
          "offset": 21,
          "length": 6,
          "code": {
            "startLine": 529,
            "length": 6,
            "offset": 88,
            "surroundingCode": "                vShiftW1_1 = Avx.Blend(vZero, vShiftW1_1, 0b_1110);\n                var vPW1_1 = Avx.Add(vU1, vShiftW1_1);\n                var vShiftW2_1 = Avx2.Permute4x64(vPW1_1.AsUInt64(), 0b_01_00_00_00).AsDouble(); // skipcq: CS-R1131"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "2B9D37C865D54F3959296FC7616D72CEC690239C8BB0B6D69A97FE0CEA798DE7"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW1_2' does not match rule 'Local variables'. Suggested name is 'vPw12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 537,
          "offset": 21,
          "length": 6,
          "code": {
            "startLine": 536,
            "length": 6,
            "offset": 88,
            "surroundingCode": "                vShiftW1_2 = Avx.Blend(vZero, vShiftW1_2, 0b_1110);\n                var vPW1_2 = Avx.Add(vU2, vShiftW1_2);\n                var vShiftW2_2 = Avx2.Permute4x64(vPW1_2.AsUInt64(), 0b_01_00_00_00).AsDouble(); // skipcq: CS-R1131"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A47F04278F5471FAFB03D0908F53C89D806DF7E6BAF8543B0A8E616820253196"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW2' does not match rule 'Local variables'. Suggested name is 'vPw2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 396,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 395,
            "length": 4,
            "offset": 124,
            "surroundingCode": "                var vShiftW2 = Avx512F.Multiply(Avx512F.PermuteVar8x64(vPW1, V512_Idx_2), V512_Mask_2);\n                var vPW2 = Avx512F.Add(vPW1, vShiftW2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "0400708686EEA71E2723A6E0E5981D2C97E757899E4593CDDFA27AB415EC80F1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW2' does not match rule 'Local variables'. Suggested name is 'vPw2'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 580,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 579,
            "length": 4,
            "offset": 84,
            "surroundingCode": "                vShiftW2 = Avx.Blend(vZero, vShiftW2, 0b_1100);\n                var vPW2 = Avx.Add(vPW1, vShiftW2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A7C858CF8BFF8A3678C85FB78281E0EE72420A9C75C3D0302E55E44C34F1A0DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW2_1' does not match rule 'Local variables'. Suggested name is 'vPw21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 533,
          "offset": 21,
          "length": 6,
          "code": {
            "startLine": 532,
            "length": 6,
            "offset": 88,
            "surroundingCode": "                vShiftW2_1 = Avx.Blend(vZero, vShiftW2_1, 0b_1100);\n                var vPW2_1 = Avx.Add(vPW1_1, vShiftW2_1);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "A294BC9634C12336E7459FD0DB68575698EFA58CC293E563A6B14A283A134389"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW2_2' does not match rule 'Local variables'. Suggested name is 'vPw22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 540,
          "offset": 21,
          "length": 6,
          "code": {
            "startLine": 539,
            "length": 6,
            "offset": 88,
            "surroundingCode": "                vShiftW2_2 = Avx.Blend(vZero, vShiftW2_2, 0b_1100);\n                var vPW2_2 = Avx.Add(vPW1_2, vShiftW2_2);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "032F62DEC84F607B54DFD4064C56E3094EDF76DAF67D4D4381EF035D93889E2B"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vPW4' does not match rule 'Local variables'. Suggested name is 'vPw4'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 399,
          "offset": 21,
          "length": 4,
          "code": {
            "startLine": 398,
            "length": 4,
            "offset": 124,
            "surroundingCode": "                var vShiftW4 = Avx512F.Multiply(Avx512F.PermuteVar8x64(vPW2, V512_Idx_4), V512_Mask_4);\n                var vPW4 = Avx512F.Add(vPW2, vShiftW4);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "B8314E25ABB847E021F73D2BF829B71DA9E9EDC0E8AFDD7E2051F19428ADD4A1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vShiftS1_1' does not match rule 'Local variables'. Suggested name is 'vShiftS11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 495,
          "offset": 21,
          "length": 10,
          "code": {
            "startLine": 494,
            "length": 10,
            "offset": 21,
            "surroundingCode": "\n                var vShiftS1_1 = Avx2.Permute4x64(vDeltaS1.AsUInt64(), 0b_10_01_00_00).AsDouble(); // skipcq: CS-R1131\n                vShiftS1_1 = Avx.Blend(vZero, vShiftS1_1, 0b_1110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "D0C141797147F4EB9542CE6C9E48D2B3BE01F006EAAE3E382484B90F84FF47D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vShiftS1_2' does not match rule 'Local variables'. Suggested name is 'vShiftS12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 502,
          "offset": 21,
          "length": 10,
          "code": {
            "startLine": 501,
            "length": 10,
            "offset": 21,
            "surroundingCode": "\n                var vShiftS1_2 = Avx2.Permute4x64(vDeltaS2.AsUInt64(), 0b_10_01_00_00).AsDouble(); // skipcq: CS-R1131\n                vShiftS1_2 = Avx.Blend(vZero, vShiftS1_2, 0b_1110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "3571081CA8833D79EBDDEA3C5120A5A9E6E01D3C676141EED14286C64FB938CE"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vShiftS2_1' does not match rule 'Local variables'. Suggested name is 'vShiftS21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 498,
          "offset": 21,
          "length": 10,
          "code": {
            "startLine": 497,
            "length": 10,
            "offset": 85,
            "surroundingCode": "                var vPS_DeltaS1 = Avx.Add(vDeltaS1, vShiftS1_1);\n                var vShiftS2_1 = Avx2.Permute4x64(vPS_DeltaS1.AsUInt64(), 0b_01_00_00_00).AsDouble(); // skipcq: CS-R1131\n                vShiftS2_1 = Avx.Blend(vZero, vShiftS2_1, 0b_1100);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "366E286E39AF4030804096BD2AAFB3775406C5B092CA61D6F91507F47BEED082"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vShiftS2_2' does not match rule 'Local variables'. Suggested name is 'vShiftS22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 505,
          "offset": 21,
          "length": 10,
          "code": {
            "startLine": 504,
            "length": 10,
            "offset": 85,
            "surroundingCode": "                var vPS_DeltaS2 = Avx.Add(vDeltaS2, vShiftS1_2);\n                var vShiftS2_2 = Avx2.Permute4x64(vPS_DeltaS2.AsUInt64(), 0b_01_00_00_00).AsDouble(); // skipcq: CS-R1131\n                vShiftS2_2 = Avx.Blend(vZero, vShiftS2_2, 0b_1100);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "7A6D28396B0C058304736C07E48D89A26CCDC62D3DBA9CDD4029A14ECFEE0712"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vShiftW1_1' does not match rule 'Local variables'. Suggested name is 'vShiftW11'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 528,
          "offset": 21,
          "length": 10,
          "code": {
            "startLine": 527,
            "length": 10,
            "offset": 21,
            "surroundingCode": "\n                var vShiftW1_1 = Avx2.Permute4x64(vU1.AsUInt64(), 0b_10_01_00_00).AsDouble(); // skipcq: CS-R1131\n                vShiftW1_1 = Avx.Blend(vZero, vShiftW1_1, 0b_1110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1D4454F0EE90A78143DC7780978A423956EEAD071B16D6BE1C727406FF0A7A54"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vShiftW1_2' does not match rule 'Local variables'. Suggested name is 'vShiftW12'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 535,
          "offset": 21,
          "length": 10,
          "code": {
            "startLine": 534,
            "length": 10,
            "offset": 21,
            "surroundingCode": "\n                var vShiftW1_2 = Avx2.Permute4x64(vU2.AsUInt64(), 0b_10_01_00_00).AsDouble(); // skipcq: CS-R1131\n                vShiftW1_2 = Avx.Blend(vZero, vShiftW1_2, 0b_1110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "281FE6A31C04BD65D6FA9243DDEDCC1841FD9A86F42DC30FC01239E01E0F3CE0"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vShiftW2_1' does not match rule 'Local variables'. Suggested name is 'vShiftW21'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 531,
          "offset": 21,
          "length": 10,
          "code": {
            "startLine": 530,
            "length": 10,
            "offset": 75,
            "surroundingCode": "                var vPW1_1 = Avx.Add(vU1, vShiftW1_1);\n                var vShiftW2_1 = Avx2.Permute4x64(vPW1_1.AsUInt64(), 0b_01_00_00_00).AsDouble(); // skipcq: CS-R1131\n                vShiftW2_1 = Avx.Blend(vZero, vShiftW2_1, 0b_1100);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "1B5D5519AD523B0CF020D761A4A93D6E3D7C859C45915E1E203FA1A7AD73EAC1"
    },
    {
      "tool": "Code Inspection",
      "category": "Constraints Violations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.ConstraintViolation",
          "name": "Constraints Violations"
        }
      ],
      "type": "Inconsistent Naming",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Name 'vShiftW2_2' does not match rule 'Local variables'. Suggested name is 'vShiftW22'.",
      "detailsInfo": "Name doesn't match naming style defined for this kind of symbol",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 538,
          "offset": 21,
          "length": 10,
          "code": {
            "startLine": 537,
            "length": 10,
            "offset": 75,
            "surroundingCode": "                var vPW1_2 = Avx.Add(vU2, vShiftW1_2);\n                var vShiftW2_2 = Avx2.Permute4x64(vPW1_2.AsUInt64(), 0b_01_00_00_00).AsDouble(); // skipcq: CS-R1131\n                vShiftW2_2 = Avx.Blend(vZero, vShiftW2_2, 0b_1100);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InconsistentNaming"
      },
      "hash": "DC27953C7CF21EF5BB1BC41D0FA974461B9286CD105A60C2D7EC95375721C3EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 23,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 99,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 39,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 115,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 42,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 118,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 21,
          "offset": 6,
          "length": 1,
          "code": {
            "startLine": 20,
            "length": 1,
            "offset": 9,
            "surroundingCode": "///\n/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state."
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "5541571426B62BD127F441CAB057E44B89383485B77852E5C5D6405289AA13CF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 21,
          "offset": 16,
          "length": 1,
          "code": {
            "startLine": 20,
            "length": 1,
            "offset": 19,
            "surroundingCode": "///\n/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state."
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "5541571426B62BD127F441CAB057E44B89383485B77852E5C5D6405289AA13CF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 7,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 23,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 14,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 30,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 23,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 39,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 45,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 38,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 54,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 42,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 58,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 48,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 64,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 52,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 68,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 80,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 22,
          "offset": 70,
          "length": 1,
          "code": {
            "startLine": 21,
            "length": 1,
            "offset": 86,
            "surroundingCode": "/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state.\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "05158AC98E138B4FB9518ACFF946DB94063674BC545C0D9CCE2DA66F29262EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 24,
          "offset": 10,
          "length": 1,
          "code": {
            "startLine": 23,
            "length": 1,
            "offset": 13,
            "surroundingCode": "///\n/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "A3324FDBF2FF49FDD5C48FD2E964878A9E40EEA35524CF4B25887027E7D64B0F"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 12,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 22,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 17,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 27,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 22,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 32,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 39,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 40,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 50,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'=' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 50,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 60,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "'>' or '/>' expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 82,
          "offset": 56,
          "length": 1,
          "code": {
            "startLine": 81,
            "length": 1,
            "offset": 74,
            "surroundingCode": "    /// </summary>\n    /// <param name=\"alpha\">Smoothing factor (0 < alpha <= 1)</param>\n    public Ema(double alpha)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "17B9530B063D8D6AE3A62E1CC1BE063B58EBC64B483965FCE9A84FD2E8A89731"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Attribute value is expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 13,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 89,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Attribute value is expected",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 26,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 36,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Duplicate attribute 'alpha'",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 45,
          "length": 5,
          "code": {
            "startLine": 24,
            "length": 5,
            "offset": 55,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Duplicate attribute 'ln'",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 38,
          "length": 2,
          "code": {
            "startLine": 24,
            "length": 2,
            "offset": 48,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Duplicate attribute 'n'",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 23,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 33,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Invalid tag header",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 82,
          "offset": 57,
          "length": 1,
          "code": {
            "startLine": 81,
            "length": 1,
            "offset": 75,
            "surroundingCode": "    /// </summary>\n    /// <param name=\"alpha\">Smoothing factor (0 < alpha <= 1)</param>\n    public Ema(double alpha)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "17B9530B063D8D6AE3A62E1CC1BE063B58EBC64B483965FCE9A84FD2E8A89731"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 18,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 17,
            "length": 1,
            "offset": 94,
            "surroundingCode": "/// Initialization:\n/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "97FC38C558DAC3054CD0359E30267C9CA1C52AE3DE005FB7CC72B3667E4EEB2C"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 18,
          "offset": 76,
          "length": 1,
          "code": {
            "startLine": 17,
            "length": 1,
            "offset": 95,
            "surroundingCode": "/// Initialization:\n/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "97FC38C558DAC3054CD0359E30267C9CA1C52AE3DE005FB7CC72B3667E4EEB2C"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 24,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 100,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 26,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 102,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 103,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 105,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 107,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 108,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 109,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 40,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 116,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 21,
          "offset": 7,
          "length": 1,
          "code": {
            "startLine": 20,
            "length": 1,
            "offset": 10,
            "surroundingCode": "///\n/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state."
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "5541571426B62BD127F441CAB057E44B89383485B77852E5C5D6405289AA13CF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 21,
          "offset": 8,
          "length": 1,
          "code": {
            "startLine": 20,
            "length": 1,
            "offset": 11,
            "surroundingCode": "///\n/// O(1) update:\n/// No buffer required, only previous EMA value and compensator state."
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "5541571426B62BD127F441CAB057E44B89383485B77852E5C5D6405289AA13CF"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 40,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 41,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 42,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 43,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 44,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 36,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 46,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 41,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 51,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 25,
          "offset": 43,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 53,
            "surroundingCode": "/// IsHot:\n/// Becomes true when n = ln(0.05) / ln(1 - alpha) \n/// </remarks>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "D80A41C4EB5D62DCD527731BE38D34750B3F1A85A494F6E21406EB33D0D960AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 82,
          "offset": 60,
          "length": 1,
          "code": {
            "startLine": 81,
            "length": 1,
            "offset": 78,
            "surroundingCode": "    /// </summary>\n    /// <param name=\"alpha\">Smoothing factor (0 < alpha <= 1)</param>\n    public Ema(double alpha)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "17B9530B063D8D6AE3A62E1CC1BE063B58EBC64B483965FCE9A84FD2E8A89731"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Unexpected token",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 82,
          "offset": 61,
          "length": 1,
          "code": {
            "startLine": 81,
            "length": 1,
            "offset": 79,
            "surroundingCode": "    /// </summary>\n    /// <param name=\"alpha\">Smoothing factor (0 < alpha <= 1)</param>\n    public Ema(double alpha)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "17B9530B063D8D6AE3A62E1CC1BE063B58EBC64B483965FCE9A84FD2E8A89731"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Whitespace required",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 110,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Whitespace required",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 19,
          "offset": 41,
          "length": 1,
          "code": {
            "startLine": 18,
            "length": 1,
            "offset": 117,
            "surroundingCode": "/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)\n///"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "7799EFCB9911E7B385EF83E526F08B5109F1405DE72E265C709640F817E2A14E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "XML element is not closed",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 12,
          "offset": 17,
          "length": 1,
          "code": {
            "startLine": 11,
            "length": 1,
            "offset": 94,
            "surroundingCode": "/// SIMD-accelerated extension methods for high-performance array operations.\n/// Uses Vector<T> for 4-8x speedup on supported hardware with automatic scalar fallback.\n/// </summary>"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "096069766575C7C65CCDA89A6EB3636575755CDEEFC6813133F014C08AAF9728"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "XML element is not closed",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.cs",
          "line": 13,
          "offset": 5,
          "length": 1,
          "code": {
            "startLine": 12,
            "length": 1,
            "offset": 94,
            "surroundingCode": "/// Uses Vector<T> for 4-8x speedup on supported hardware with automatic scalar fallback.\n/// </summary>\npublic static class SimdExtensions"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "A8A14CA909BCCF50C8FB974230E27247FC0AE543A63EEE9E15EE5095A1689CB9"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "XML element is not closed",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 18,
          "offset": 69,
          "length": 6,
          "code": {
            "startLine": 17,
            "length": 6,
            "offset": 88,
            "surroundingCode": "/// Initialization:\n/// Uses a compensator factor to correct early-stage bias (when n < period).\n/// Output = EMA_state / (1 - (1-alpha)^n)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "97FC38C558DAC3054CD0359E30267C9CA1C52AE3DE005FB7CC72B3667E4EEB2C"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Invalid XML documentation comment",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "XML element is not closed",
      "detailsInfo": "Invalid XML documentation comment",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 82,
          "offset": 51,
          "length": 5,
          "code": {
            "startLine": 81,
            "length": 5,
            "offset": 69,
            "surroundingCode": "    /// </summary>\n    /// <param name=\"alpha\">Smoothing factor (0 < alpha <= 1)</param>\n    public Ema(double alpha)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvalidXmlDocComment"
      },
      "hash": "17B9530B063D8D6AE3A62E1CC1BE063B58EBC64B483965FCE9A84FD2E8A89731"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.Tests.cs",
          "line": 535,
          "offset": 43,
          "length": 10,
          "code": {
            "startLine": 534,
            "length": 10,
            "offset": 89,
            "surroundingCode": "        // 1*4 + 2*5 + 3*6 = 4 + 10 + 18 = 32\r\n        Assert.Equal(32.0, SimdExtensions.DotProduct(a, b));\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "1477D91AB1A23553116BB09727ECC0E1A8E833AC8E3C0BEA440D7B2FA09739F3"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.Tests.cs",
          "line": 543,
          "offset": 63,
          "length": 10,
          "code": {
            "startLine": 542,
            "length": 10,
            "offset": 91,
            "surroundingCode": "        double[] b = [1.0];\r\n        Assert.Throws<ArgumentException>(() => SimdExtensions.DotProduct(a, b));\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "4EE5CB9463E1A4E42E33A82D0431D6F96872D75D3087837369ACFB3F22695327"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/simd/SimdExtensions.Tests.cs",
          "line": 551,
          "offset": 42,
          "length": 10,
          "code": {
            "startLine": 550,
            "length": 10,
            "offset": 67,
            "surroundingCode": "        double[] b = [];\r\n        Assert.Equal(0.0, SimdExtensions.DotProduct(a, b));\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "CD0C755F1B7EC83B73177BC81F10170CAB2B9AB2C582A4E7E062CB417001C1B8"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.cs",
          "line": 201,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 200,
            "length": 11,
            "offset": 112,
            "surroundingCode": "                var vResult = Avx512F.Subtract(Avx512F.Multiply(vHalf, vTwo), vFull);\n                Vector512.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, i));\n            }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "A8BF6CE33FC553B794A1FAB1D456711E5CF1615E8D5BE1168BF106ED32C1E828"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.cs",
          "line": 212,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 211,
            "length": 11,
            "offset": 104,
            "surroundingCode": "                var vResult = Avx.Subtract(Avx.Multiply(vHalf, vTwo), vFull);\n                Vector256.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, i));\n            }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "D89B3B32BE70CBD982545A031890724E902456738EBE88DB212D470E15EC976B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.cs",
          "line": 223,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 222,
            "length": 11,
            "offset": 124,
            "surroundingCode": "                var vResult = AdvSimd.Arm64.Subtract(AdvSimd.Arm64.Multiply(vHalf, vTwo), vFull);\n                Vector128.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, i));\n            }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "23CC9281923269A3CC867D0912C67E632CD48B0A4B34695B5757EF338371E606"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 309,
          "offset": 40,
          "length": 28,
          "code": {
            "startLine": 308,
            "length": 28,
            "offset": 95,
            "surroundingCode": "            var stockData = new StockData(ooplesData);\r\n            var sResult = Calculations.CalculateSimpleMovingAverage(stockData, period).OutputValues.Values.First();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "FCA0ADAEB638B54F6C686B1C3B72E2A8E4BB84E81CA34D9318BFA22E1C5FFFCF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 424,
          "offset": 23,
          "length": 11,
          "code": {
            "startLine": 423,
            "length": 11,
            "offset": 85,
            "surroundingCode": "            var vResult = Avx512F.Multiply(vSums, vInvPeriod);\n            Vector512.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, i));\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "BFF9D55F3DD99816CB506C49B7413016F5E2A96F280C514DFB6D5C654CC5719E"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 495,
          "offset": 23,
          "length": 11,
          "code": {
            "startLine": 494,
            "length": 11,
            "offset": 81,
            "surroundingCode": "            var vResult = Avx.Multiply(vSums, vInvPeriod);\n            Vector256.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, i));\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "78A2F6ACD6B8160451E6B9C8E56E609D59ED5BD9639258AF14E22322883B4972"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 562,
          "offset": 23,
          "length": 11,
          "code": {
            "startLine": 561,
            "length": 11,
            "offset": 91,
            "surroundingCode": "            var vResult = AdvSimd.Arm64.Multiply(vSums, vInvPeriod);\n            Vector128.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, i));\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "10082D2AA8652C5D7833CF2D76D278DFED1C6DECF0EAA2DD6C66774C0B183529"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 404,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 403,
            "length": 11,
            "offset": 95,
            "surroundingCode": "                var vResult = Avx512F.Multiply(vWsums, vInvDivisor);\n                Vector512.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, idx));\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "A345744B9E233E6EEC501B516E03D16B8F6C9274EA2BEF1B71B7AC6ADEFDF65A"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 546,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 545,
            "length": 11,
            "offset": 27,
            "surroundingCode": "\n                Vector256.StoreUnsafe(Avx.Multiply(vWsums1, vInvDivisor), ref Unsafe.Add(ref outRef, idx));\n                Vector256.StoreUnsafe(Avx.Multiply(vWsums2, vInvDivisor), ref Unsafe.Add(ref outRef, idx + VectorWidth));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "CA9BD8AAAB7FD62624332C9DB9BE25985C3A4A7E7A66D4FEA50C98CECB5A0139"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 547,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 546,
            "length": 11,
            "offset": 134,
            "surroundingCode": "                Vector256.StoreUnsafe(Avx.Multiply(vWsums1, vInvDivisor), ref Unsafe.Add(ref outRef, idx));\n                Vector256.StoreUnsafe(Avx.Multiply(vWsums2, vInvDivisor), ref Unsafe.Add(ref outRef, idx + VectorWidth));\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "540F2E0F680B72A8D759526C9B442201E50257E118D04DEDD72FA9350A290118"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 585,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 584,
            "length": 11,
            "offset": 91,
            "surroundingCode": "                var vResult = Avx.Multiply(vWsums, vInvDivisor);\n                Vector256.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, idx));\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "B43788EAF0F61DF956F8B531333EC31A177A9DDA17880E65A0C02A4C86759903"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 705,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 704,
            "length": 11,
            "offset": 27,
            "surroundingCode": "\n                Vector128.StoreUnsafe(vResult1, ref Unsafe.Add(ref outRef, idx));\n                Vector128.StoreUnsafe(vResult2, ref Unsafe.Add(ref outRef, idx + VectorWidth));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "363318CCA271F6FD962439EFAF259271C721E0511C50EAE22CD284B624A70B84"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 706,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 705,
            "length": 11,
            "offset": 108,
            "surroundingCode": "                Vector128.StoreUnsafe(vResult1, ref Unsafe.Add(ref outRef, idx));\n                Vector128.StoreUnsafe(vResult2, ref Unsafe.Add(ref outRef, idx + VectorWidth));\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "35981315B4E0646A939DAEAC36729EEFA9EAFA48DAC8648E5257F061495E985B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 734,
          "offset": 27,
          "length": 11,
          "code": {
            "startLine": 733,
            "length": 11,
            "offset": 27,
            "surroundingCode": "\n                Vector128.StoreUnsafe(vResult, ref Unsafe.Add(ref outRef, idx));\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "9084394824B0CB8ADA8920A0B30E50C00F3279F4D4B6F8DD04B9E67D40F74FF8"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 62,
          "offset": 48,
          "length": 13,
          "code": {
            "startLine": 61,
            "length": 13,
            "offset": 79,
            "surroundingCode": "        // Test each SourceType\n        Assert.Equal(open, IndicatorExtensions.GetInputValue(indicator, args, SourceType.Open).Value);\n        Assert.Equal(high, IndicatorExtensions.GetInputValue(indicator, args, SourceType.High).Value);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "4128195FA54AB6575AD7E181F91375363FCA5384AFCB78C540B9CCC0FD9B4A6C"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 63,
          "offset": 48,
          "length": 13,
          "code": {
            "startLine": 62,
            "length": 13,
            "offset": 150,
            "surroundingCode": "        Assert.Equal(open, IndicatorExtensions.GetInputValue(indicator, args, SourceType.Open).Value);\n        Assert.Equal(high, IndicatorExtensions.GetInputValue(indicator, args, SourceType.High).Value);\n        Assert.Equal(low, IndicatorExtensions.GetInputValue(indicator, args, SourceType.Low).Value);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "B83BE19FD1BEF6A88AA89399111E3DFA8F14F9A733975D816E606D74A759D320"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 64,
          "offset": 47,
          "length": 13,
          "code": {
            "startLine": 63,
            "length": 13,
            "offset": 149,
            "surroundingCode": "        Assert.Equal(high, IndicatorExtensions.GetInputValue(indicator, args, SourceType.High).Value);\n        Assert.Equal(low, IndicatorExtensions.GetInputValue(indicator, args, SourceType.Low).Value);\n        Assert.Equal(close, IndicatorExtensions.GetInputValue(indicator, args, SourceType.Close).Value);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "25EF38E43DAFAF73BE369961C1ED8EAB63B377625819CCED4CC3E39CCEFCD004"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 65,
          "offset": 49,
          "length": 13,
          "code": {
            "startLine": 64,
            "length": 13,
            "offset": 149,
            "surroundingCode": "        Assert.Equal(low, IndicatorExtensions.GetInputValue(indicator, args, SourceType.Low).Value);\n        Assert.Equal(close, IndicatorExtensions.GetInputValue(indicator, args, SourceType.Close).Value);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "2B2C2C2871888CF286701B1682AE62A3AD227C158CF4124926FDA149DF61E49D"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 68,
          "offset": 47,
          "length": 13,
          "code": {
            "startLine": 67,
            "length": 13,
            "offset": 84,
            "surroundingCode": "        // HL2 = (110 + 90) / 2 = 100\n        Assert.Equal(100, IndicatorExtensions.GetInputValue(indicator, args, SourceType.HL2).Value);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "C3B72F115C6063AC04AEE491FE9395410FEDCB87D7BFFA96F00ED5BF8FC0618A"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 71,
          "offset": 49,
          "length": 13,
          "code": {
            "startLine": 70,
            "length": 13,
            "offset": 89,
            "surroundingCode": "        // OC2 = (100 + 105) / 2 = 102.5\n        Assert.Equal(102.5, IndicatorExtensions.GetInputValue(indicator, args, SourceType.OC2).Value);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "B0EA14D7EA265D9B62EADD5EE74A5FD851ED2997CD60E41D3EDCBDA955233333"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 74,
          "offset": 47,
          "length": 13,
          "code": {
            "startLine": 73,
            "length": 13,
            "offset": 91,
            "surroundingCode": "        // OHL3 = (100 + 110 + 90) / 3 = 100\n        Assert.Equal(100, IndicatorExtensions.GetInputValue(indicator, args, SourceType.OHL3).Value);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "B184286C49A91C185679DBAD7B2E548ECC421565C2DF302D1F7C1FBCCBE34B34"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 77,
          "offset": 62,
          "length": 13,
          "code": {
            "startLine": 76,
            "length": 13,
            "offset": 113,
            "surroundingCode": "        // HLC3 = (110 + 90 + 105) / 3 = 101.666...\n        Assert.Equal(101.66666666666667, IndicatorExtensions.GetInputValue(indicator, args, SourceType.HLC3).Value, 5);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "0AC403A389988161BC616E1DABED56F642CF4FA7D03DF7DA45BB48CBFC470FC0"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 80,
          "offset": 50,
          "length": 13,
          "code": {
            "startLine": 79,
            "length": 13,
            "offset": 104,
            "surroundingCode": "        // OHLC4 = (100 + 110 + 90 + 105) / 4 = 101.25\n        Assert.Equal(101.25, IndicatorExtensions.GetInputValue(indicator, args, SourceType.OHLC4).Value);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "FE2851115F2987DD66672A88AA2EBAE558D980CDEBF05B1EE176DD577948E3F2"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 83,
          "offset": 49,
          "length": 13,
          "code": {
            "startLine": 82,
            "length": 13,
            "offset": 102,
            "surroundingCode": "        // HLCC4 = (110 + 90 + 105 + 105) / 4 = 102.5\n        Assert.Equal(102.5, IndicatorExtensions.GetInputValue(indicator, args, SourceType.HLCC4).Value);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "7A65FCEC22D8D9D86CEF7E5E7BDD591502C6503328F8218799D0DD89F0AFAF8A"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 101,
          "offset": 39,
          "length": 11,
          "code": {
            "startLine": 100,
            "length": 11,
            "offset": 39,
            "surroundingCode": "\n        var bar = IndicatorExtensions.GetInputBar(indicator, args);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "79E9BA9365F0FC4A9AA573D25F3D1B11BED7548E326B43C8D311C88ABBFA99AB"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 231,
          "offset": 29,
          "length": 10,
          "code": {
            "startLine": 230,
            "length": 10,
            "offset": 55,
            "surroundingCode": "        // Test PaintHLine\n        IndicatorExtensions.PaintHLine(indicator, args, 100, pen);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "1CA27663624D26302DE038762C881B77FEE1CB127A7411CBCD41B03C10C6EAF4"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 241,
          "offset": 33,
          "length": 16,
          "code": {
            "startLine": 240,
            "length": 16,
            "offset": 80,
            "surroundingCode": "            // Test with warmup and cold values\n            IndicatorExtensions.PaintSmoothCurve(indicator, args, series, warmupPeriod: 5, showColdValues: true);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "0BE1A7215554EB2F6E765B3A5D59BA819497BDAB7BE07D479CEB44C43E123A08"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 244,
          "offset": 33,
          "length": 16,
          "code": {
            "startLine": 243,
            "length": 16,
            "offset": 72,
            "surroundingCode": "            // Test without cold values\n            IndicatorExtensions.PaintSmoothCurve(indicator, args, series, warmupPeriod: 5, showColdValues: false);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "7049EBC4E4CA2154340D1821F93C9F84FB7B467276BB07DABD48E7E683474D48"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 247,
          "offset": 33,
          "length": 9,
          "code": {
            "startLine": 246,
            "length": 9,
            "offset": 62,
            "surroundingCode": "            // Test PaintLine\n            IndicatorExtensions.PaintLine(indicator, args, series, warmupPeriod: 5, showColdValues: true);\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "B454EE80E039734D06C12D17C3728DC19499CA8E26235C8A9E3B3F48FC28C0D9"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 259,
          "offset": 29,
          "length": 14,
          "code": {
            "startLine": 258,
            "length": 14,
            "offset": 38,
            "surroundingCode": "        }\n        IndicatorExtensions.PaintHistogram(indicator, args, histSeries, 0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "7ED3E7E7E860F395D129B0C2B79A3A27175EBD8A3855FCEBE3008B17E9DC23FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 262,
          "offset": 29,
          "length": 8,
          "code": {
            "startLine": 261,
            "length": 8,
            "offset": 53,
            "surroundingCode": "        // Test DrawText\n        IndicatorExtensions.DrawText(indicator, args, \"Test Text\");\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "5AA04342E99A033C17C0CE483B9DD0ACFDC84C68D44166C4F4F8176111D03AD1"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Convert static method invocation into extension member call",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use extension method",
      "detailsInfo": "When extension member is invoked as static method, convert invocation into extension member syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 276,
          "offset": 42,
          "length": 13,
          "code": {
            "startLine": 275,
            "length": 13,
            "offset": 42,
            "surroundingCode": "\n        var result = IndicatorExtensions.GetInputValue(indicator, args, invalidType);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "InvokeAsExtensionMember"
      },
      "hash": "F9912836628DC050D41F65145875B7270696E18F368310452AEF492D2981453A"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Validation.Tests.cs",
          "line": 50,
          "offset": 39,
          "length": 2,
          "code": {
            "startLine": 49,
            "length": 2,
            "offset": 88,
            "surroundingCode": "            var val = dmx.Update(bars[i]).Value;\r\n            Assert.True(val >= -100.0 && val <= 100.0, $\"DMX value {val} out of range [-100, 100]\");\r\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "0AAA2406A072C3D95033773B429D3A5DDCE2CA373CF6543FFA5832A9EBED5906"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.Tests.cs",
          "line": 138,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 137,
            "length": 2,
            "offset": 100,
            "surroundingCode": "        double lastAlma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastAlma >= 100 && lastAlma <= 110);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "4DCFF6D4567000547A488C8EACFAF023CC0F2371F40F1671D64AFDDC5365FAED"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Quantower.Tests.cs",
          "line": 122,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 121,
            "length": 2,
            "offset": 102,
            "surroundingCode": "        double lastValue = indicator.LinesSeries[0].GetValue(0);\r\n        Assert.True(lastValue >= 90 && lastValue <= 120);\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "7CB610CCD70042FF4AC1EEE0D53BD1D768D367C394091BD1B729154F355B8347"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 170,
          "offset": 30,
          "length": 2,
          "code": {
            "startLine": 169,
            "length": 2,
            "offset": 30,
            "surroundingCode": "\n            if (!state.IsHot && state.E <= 0.05) // COVERAGE_THRESHOLD\n                state.IsHot = true;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "64FFDACF7846137F854FD2D579623ED3C0F840884D87010F9071B6A800E46059"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.Tests.cs",
          "line": 137,
          "offset": 36,
          "length": 2,
          "code": {
            "startLine": 136,
            "length": 2,
            "offset": 98,
            "surroundingCode": "        double lastEma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastEma >= 100 && lastEma <= 110);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "186D79091B2973302953B9C725770E74FA1BFBDBF75CB468AF884EE7F51B95CE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 143,
          "offset": 35,
          "length": 2,
          "code": {
            "startLine": 142,
            "length": 2,
            "offset": 35,
            "surroundingCode": "\n                if (!_state.IsHot && _state.E <= COVERAGE_THRESHOLD)\n                    _state.IsHot = true;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "890F6596CE2900CAC2F643778F499CE5B63F6E45E660A323B978F659EFF0C263"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 250,
          "offset": 30,
          "length": 2,
          "code": {
            "startLine": 249,
            "length": 2,
            "offset": 30,
            "surroundingCode": "\n            if (!state.IsHot && state.E <= COVERAGE_THRESHOLD)\n                state.IsHot = true;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "C7560AAA6A0EF67459A5C4A1FCCFB8A51A64D444D1D7CDAF9B196589C89D943B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.cs",
          "line": 291,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 290,
            "length": 2,
            "offset": 34,
            "surroundingCode": "\n                if (!state.IsHot && state.E <= COVERAGE_THRESHOLD)\n                    state.IsHot = true;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "D9535722962BF30C327ADD0E781FFCC4302AD1D8C7B5B24CBC87A13EAC9D41A7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.Tests.cs",
          "line": 138,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 137,
            "length": 2,
            "offset": 100,
            "surroundingCode": "        double lastKama = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastKama >= 100 && lastKama <= 110);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "32F6BDD0D43637E540C2DA43C241DE875B3A02A6A6D15167970A51F9156DABDB"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 142,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 141,
            "length": 2,
            "offset": 100,
            "surroundingCode": "        double lastMama = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastMama >= 100 && lastMama <= 110);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "A6272E0B67815EBA0546E43299C77884A3787EE884588CB9B5F30F0080F3FD42"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.Tests.cs",
          "line": 137,
          "offset": 36,
          "length": 2,
          "code": {
            "startLine": 136,
            "length": 2,
            "offset": 98,
            "surroundingCode": "        double lastRma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastRma >= 100 && lastRma <= 110);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "80545A688D631F0334273EB71253C97AEB47817BC59A291B8FE8514D5AFA6996"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.Tests.cs",
          "line": 150,
          "offset": 36,
          "length": 2,
          "code": {
            "startLine": 149,
            "length": 2,
            "offset": 98,
            "surroundingCode": "        double lastSma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastSma >= 103 && lastSma <= 105);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "4397B6334C6B8044641C261336355676CE7A0A3C38B716DF5B403928DC981D29"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.Tests.cs",
          "line": 137,
          "offset": 36,
          "length": 2,
          "code": {
            "startLine": 136,
            "length": 2,
            "offset": 99,
            "surroundingCode": "        double lastSsf = indicator.LinesSeries[0].GetValue(0);\r\n        Assert.True(lastSsf >= 100 && lastSsf <= 110);\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "D88049D24E739775BAA560EBB9C4B220159A968180E8F98A7A6C43B2A44CBE67"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.Tests.cs",
          "line": 138,
          "offset": 35,
          "length": 2,
          "code": {
            "startLine": 137,
            "length": 2,
            "offset": 96,
            "surroundingCode": "        double lastT3 = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastT3 >= 100 && lastT3 <= 110);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "474645CDF3A175130E196C6830BAB32B4F3362EA6FC7D9170361122FBA8473B9"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.cs",
          "line": 261,
          "offset": 30,
          "length": 2,
          "code": {
            "startLine": 260,
            "length": 2,
            "offset": 30,
            "surroundingCode": "\n            if (!state.IsHot && state.E <= 0.05) // COVERAGE_THRESHOLD\n                state.IsHot = true;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "64FFDACF7846137F854FD2D579623ED3C0F840884D87010F9071B6A800E46059"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.Tests.cs",
          "line": 149,
          "offset": 38,
          "length": 2,
          "code": {
            "startLine": 148,
            "length": 2,
            "offset": 102,
            "surroundingCode": "        double lastTrima = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastTrima >= 100 && lastTrima <= 106);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "0164581DB5FC982CE2118AD86BE220CA4FC1967286C0BEC33A9D2379DA86C933"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.Tests.cs",
          "line": 137,
          "offset": 38,
          "length": 2,
          "code": {
            "startLine": 136,
            "length": 2,
            "offset": 102,
            "surroundingCode": "        double lastVidya = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastVidya >= 100 && lastVidya <= 110);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "FCC32BDC3D22558883B9F981B8215AEB09F48FDB2AF06C2EFCC0B279B7B9713A"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Merge null/pattern checks into complex pattern",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Merge into pattern",
      "detailsInfo": "Merge sequential null/pattern checks into single recursive/logical pattern check",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.Tests.cs",
          "line": 150,
          "offset": 36,
          "length": 2,
          "code": {
            "startLine": 149,
            "length": 2,
            "offset": 98,
            "surroundingCode": "        double lastWma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastWma >= 103 && lastWma <= 106);\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "MergeIntoPattern"
      },
      "hash": "54BEF2CEF92760B9A48331D915C120C4B52AD71DDE66C21476330F225ECDC399"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Possible 'System.NullReferenceException'",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Possible 'System.NullReferenceException'",
      "detailsInfo": "Dereferencing an expression that can have 'null' value. This warning is detected either when there is a comparison with 'null' earlier in the code or when this value is returned by a member marked with 'Value can be null' attribute.",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 222,
          "offset": 32,
          "length": 22,
          "code": {
            "startLine": 221,
            "length": 22,
            "offset": 99,
            "surroundingCode": "            int barY = (int)converter.GetChartY(series[dataIndex]);\n            int halfBarWidth = indicator.CurrentChart.BarsWidth / 2;\n            allPoints[i] = new Point(barX + halfBarWidth, barY);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "PossibleNullReferenceException"
      },
      "hash": "32C087ABAFD66B76589811AC2EFB09EB8BAAA47714E73CE65BE4B3D8097B64CB"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Possible 'System.NullReferenceException'",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Possible 'System.NullReferenceException'",
      "detailsInfo": "Dereferencing an expression that can have 'null' value. This warning is detected either when there is a comparison with 'null' earlier in the code or when this value is returned by a member marked with 'Value can be null' attribute.",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 382,
          "offset": 32,
          "length": 22,
          "code": {
            "startLine": 381,
            "length": 22,
            "offset": 84,
            "surroundingCode": "            int barY0 = (int)converter.GetChartY(0);\n            int HistBarWidth = indicator.CurrentChart.BarsWidth - 2;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "PossibleNullReferenceException"
      },
      "hash": "6EF77886EDBEDA5D9B4DD906CCF1FB1C90E60B45E35DE585F50F74533F5BB6C5"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Prefer using concrete value over 'default' or 'new()'",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use '0' instead of 'default'",
      "detailsInfo": "Prefer using concrete value (such as 'false' or '0') over generic expression like 'default' or 'new()'",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.cs",
          "line": 465,
          "offset": 24,
          "length": 7,
          "code": {
            "startLine": 464,
            "length": 7,
            "offset": 48,
            "surroundingCode": "            _index = -1;\n            _current = default;\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "PreferConcreteValueOverDefault"
      },
      "hash": "DC8262B016BCDD8474EDC929833911701370445F46DFA64A10BBB3DF383B5AA2"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Prefer using concrete value over 'default' or 'new()'",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use '0' instead of 'default'",
      "detailsInfo": "Prefer using concrete value (such as 'false' or '0') over generic expression like 'default' or 'new()'",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.cs",
          "line": 487,
          "offset": 24,
          "length": 7,
          "code": {
            "startLine": 486,
            "length": 7,
            "offset": 48,
            "surroundingCode": "            _index = -1;\n            _current = default;\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "PreferConcreteValueOverDefault"
      },
      "hash": "DC8262B016BCDD8474EDC929833911701370445F46DFA64A10BBB3DF383B5AA2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Private field can be converted into local variable",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The field is always assigned before being used and can be converted into a local variable",
      "detailsInfo": "Private field is always assigned before being used and can be converted into a local variable",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 8,
          "offset": 26,
          "length": 4,
          "code": {
            "startLine": 7,
            "length": 4,
            "offset": 28,
            "surroundingCode": "{\r\n    private readonly GBM _gbm;\r\n    private readonly TBarSeries _bars;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "PrivateFieldCanBeConvertedToLocalVariable"
      },
      "hash": "7A2D9F075EFFCC5C58C8BEB2A6FFA16F0346050256F50D50BFA117A2F0B453C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'count' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 19,
          "offset": 40,
          "length": 4,
          "code": {
            "startLine": 18,
            "length": 4,
            "offset": 46,
            "surroundingCode": "    {\r\n        _data = new ValidationTestData(5000);\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "02A4BBBE2827D390393B15C639DA11CEBA909FCEDBFD92BA9142D5B1521AF794"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'count' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 18,
          "offset": 40,
          "length": 4,
          "code": {
            "startLine": 17,
            "length": 4,
            "offset": 46,
            "surroundingCode": "    {\r\n        _data = new ValidationTestData(5000);\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "02A4BBBE2827D390393B15C639DA11CEBA909FCEDBFD92BA9142D5B1521AF794"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'decimalPlaces' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.cs",
          "line": 11,
          "offset": 61,
          "length": 1,
          "code": {
            "startLine": 10,
            "length": 1,
            "offset": 61,
            "surroundingCode": "\n    [InputParameter(\"Offset\", sortIndex: 2, 0.0, 1.0, 0.01, 2)]\n    public double Offset { get; set; } = 0.85;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C10306AE24F32CB29BBEA6AFD7C090FDFAAE65578BE6B95419D2114975F7F70C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'decimalPlaces' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.cs",
          "line": 8,
          "offset": 67,
          "length": 1,
          "code": {
            "startLine": 7,
            "length": 1,
            "offset": 68,
            "surroundingCode": "{\n    [InputParameter(\"Fast Limit\", sortIndex: 1, 0.01, 0.99, 0.01, 2)]\n    public double FastLimit { get; set; } = 0.5;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F4A4764DD01840BC866A5A7B1AAA4A6B6CBB06F16CC34927B018EF7AE39E1825"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'decimalPlaces' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.cs",
          "line": 11,
          "offset": 67,
          "length": 1,
          "code": {
            "startLine": 10,
            "length": 1,
            "offset": 67,
            "surroundingCode": "\n    [InputParameter(\"Slow Limit\", sortIndex: 2, 0.01, 0.99, 0.01, 2)]\n    public double SlowLimit { get; set; } = 0.05;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BA17ABF4F8523637D93C2E95EF4EA6034883AD1514A31B10071FF9703A436786"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'decimalPlaces' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.cs",
          "line": 11,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 10,
            "length": 1,
            "offset": 64,
            "surroundingCode": "\n    [InputParameter(\"Volume Factor\", sortIndex: 2, 0, 1, 0.01, 2)]\n    public double VolumeFactor { get; set; } = 0.7;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A82F5F9257588ED63FB20B4ABD7D0A924E1CDEC59A3F775099A39253A3F537F6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastLimit' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Tests.cs",
          "line": 56,
          "offset": 29,
          "length": 3,
          "code": {
            "startLine": 55,
            "length": 3,
            "offset": 35,
            "surroundingCode": "    {\r\n        var mama = new Mama(0.5, 0.05);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "83D05DFC1BC4061B09C565FE6857BAD64F07D1C7A5075F81C73061D29A904F0C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 12,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 11,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 27,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 26,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 45,
          "offset": 26,
          "length": 1,
          "code": {
            "startLine": 44,
            "length": 1,
            "offset": 81,
            "surroundingCode": "        // Create new instance and feed up to modified\r\n        var ao2 = new Ao(5, 34);\r\n        for (int i = 0; i < 99; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "5A6F7BAFB061B941610BD881A8A4332EDEC3612F25FB106B3901DD66C79D54D2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 58,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 57,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 83,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 82,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 93,
          "offset": 26,
          "length": 1,
          "code": {
            "startLine": 92,
            "length": 1,
            "offset": 27,
            "surroundingCode": "\r\n        var ao2 = new Ao(5, 34);\r\n        var seriesResults = ao2.Update(bars);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "1244277E421EEA08F32E31B2C2A35E39CB94463C2E8F969E85E2D741101AE66C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 109,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 108,
            "length": 1,
            "offset": 34,
            "surroundingCode": "        \r\n        var ao = new Ao(5, 34);\r\n        var streamingResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E96329839CFB2D32A8FC3DB213A6D49D68CEBA73D3405EEBF23E7D1317C6AB2C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 116,
          "offset": 44,
          "length": 1,
          "code": {
            "startLine": 115,
            "length": 1,
            "offset": 53,
            "surroundingCode": "        \r\n        var staticResults = Ao.Batch(bars, 5, 34);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AD5F5C713520D5558889D52043379D8133A641FD402BD0EE332B8512B880DB7D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 128,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 127,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 39,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 38,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var results = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "291531036606A6DDF766BEAD3EA957E46B63845A7675D8D23D00E5D2CEC6D375"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 67,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 66,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var results = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "291531036606A6DDF766BEAD3EA957E46B63845A7675D8D23D00E5D2CEC6D375"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 98,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 97,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var results = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "291531036606A6DDF766BEAD3EA957E46B63845A7675D8D23D00E5D2CEC6D375"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 26,
          "offset": 27,
          "length": 2,
          "code": {
            "startLine": 25,
            "length": 2,
            "offset": 33,
            "surroundingCode": "    {\r\n        var apo = new Apo(12, 26);\r\n        var result = apo.Update(new TValue(DateTime.UtcNow, 100));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4F10171C5406F1C5503575519945E1817A724FC059701ED8FD8E529773F0B476"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 34,
          "offset": 27,
          "length": 2,
          "code": {
            "startLine": 33,
            "length": 2,
            "offset": 33,
            "surroundingCode": "    {\r\n        var apo = new Apo(12, 26);\r\n        for (int i = 0; i < 100; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E39C96F7F8078D30A4C3EF692C2901D861C2C082764238CD1A5E7F488A97F178"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 52,
          "offset": 43,
          "length": 2,
          "code": {
            "startLine": 51,
            "length": 2,
            "offset": 44,
            "surroundingCode": "\r\n        var apoBatch = Apo.Batch(tSeries, 12, 26);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "818F642BBC8C364A20B683C2F4AABC1989B4C0A91CD1A05BE0062196FE87C676"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 54,
          "offset": 33,
          "length": 2,
          "code": {
            "startLine": 53,
            "length": 2,
            "offset": 34,
            "surroundingCode": "\r\n        var apoStream = new Apo(12, 26);\r\n        var streamResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "9D2A6D0CD77C68B42F73BA7B3367592077A80D10307700B5D652011EB80A889B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 28,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 27,
            "length": 1,
            "offset": 37,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        var result = adosc.Update(_bars[0]);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A4A903EAE2DF9A347918759C66B7EF1A126C2E941FB32B4EC9487B6BF48AD253"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 36,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 35,
            "length": 1,
            "offset": 37,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        Assert.Equal(\"Adosc(3,10)\", adosc.Name);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "948DD5894410D667D092FFEB82079F6F4D9C9FC620E58B4465DD01BD214DEECE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 45,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 44,
            "length": 1,
            "offset": 37,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        adosc.Update(_bars[0], isNew: true);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "7125D92F50E1978EA2E59ED0D83802E49CADA3A4567880DB3550C1314B99526A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 54,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 53,
            "length": 1,
            "offset": 37,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        adosc.Update(_bars[0], isNew: true);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "7125D92F50E1978EA2E59ED0D83802E49CADA3A4567880DB3550C1314B99526A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 67,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 66,
            "length": 1,
            "offset": 37,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        adosc.Update(_bars[0]);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F298073822DB1E5ECDE1DEE61E948435B6605552D33F6446B008C1C428639447"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 77,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 76,
            "length": 1,
            "offset": 37,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        for (int i = 0; i < 20; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "18AF5C1D0F1A447838A61A439006C7A8DA0670093AAC04D3B88C0D09EB81D000"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 88,
          "offset": 31,
          "length": 1,
          "code": {
            "startLine": 87,
            "length": 1,
            "offset": 37,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        var batchResult = Adosc.Batch(_bars, 3, 10);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "D91ABE216315593B815D99F7CAF949BD8970DB88316B3E24D599142F40834AC4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 89,
          "offset": 46,
          "length": 1,
          "code": {
            "startLine": 88,
            "length": 1,
            "offset": 84,
            "surroundingCode": "        var adosc = new Adosc(3, 10);\r\n        var batchResult = Adosc.Batch(_bars, 3, 10);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4473FB1BC80AF4582719B9CC4B0D63311E5DBD9C7D86A9B2F42946E4872FC0B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 98,
          "offset": 115,
          "length": 1,
          "code": {
            "startLine": 97,
            "length": 1,
            "offset": 165,
            "surroundingCode": "        var spanOutput = new double[_bars.Count];\r\n        Adosc.Calculate(_bars.High.Values, _bars.Low.Values, _bars.Close.Values, _bars.Volume.Values, spanOutput, 3, 10);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "050AEE1AAEEA7794863632A459DC58F1254FDEF57865F68D4185B6FC4108484B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'fastPeriods' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 48,
          "offset": 61,
          "length": 1,
          "code": {
            "startLine": 47,
            "length": 1,
            "offset": 62,
            "surroundingCode": "\r\n        var skenderResults = _data.SkenderQuotes.GetAwesome(5, 34).ToList();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BE2FF7A1A3B2009733F0C8A33903D8C9434D6D6AF1229C1BDFBC96C6E2CDEE36"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'increment' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.cs",
          "line": 11,
          "offset": 55,
          "length": 4,
          "code": {
            "startLine": 10,
            "length": 4,
            "offset": 55,
            "surroundingCode": "\n    [InputParameter(\"Offset\", sortIndex: 2, 0.0, 1.0, 0.01, 2)]\n    public double Offset { get; set; } = 0.85;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C10306AE24F32CB29BBEA6AFD7C090FDFAAE65578BE6B95419D2114975F7F70C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'increment' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.cs",
          "line": 8,
          "offset": 61,
          "length": 4,
          "code": {
            "startLine": 7,
            "length": 4,
            "offset": 62,
            "surroundingCode": "{\n    [InputParameter(\"Fast Limit\", sortIndex: 1, 0.01, 0.99, 0.01, 2)]\n    public double FastLimit { get; set; } = 0.5;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F4A4764DD01840BC866A5A7B1AAA4A6B6CBB06F16CC34927B018EF7AE39E1825"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'increment' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.cs",
          "line": 11,
          "offset": 61,
          "length": 4,
          "code": {
            "startLine": 10,
            "length": 4,
            "offset": 61,
            "surroundingCode": "\n    [InputParameter(\"Slow Limit\", sortIndex: 2, 0.01, 0.99, 0.01, 2)]\n    public double SlowLimit { get; set; } = 0.05;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BA17ABF4F8523637D93C2E95EF4EA6034883AD1514A31B10071FF9703A436786"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'increment' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.cs",
          "line": 11,
          "offset": 58,
          "length": 4,
          "code": {
            "startLine": 10,
            "length": 4,
            "offset": 58,
            "surroundingCode": "\n    [InputParameter(\"Volume Factor\", sortIndex: 2, 0, 1, 0.01, 2)]\n    public double VolumeFactor { get; set; } = 0.7;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A82F5F9257588ED63FB20B4ABD7D0A924E1CDEC59A3F775099A39253A3F537F6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 38,
          "offset": 30,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 78,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        adx.Update(bars[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "7C48C0F7DC7D0B5315CDCF7F2A567C3B1B151B0B99D33C47BD636AFFF26C3A29"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 50,
          "offset": 45,
          "length": 4,
          "code": {
            "startLine": 49,
            "length": 4,
            "offset": 55,
            "surroundingCode": "        }\r\n        var val3 = adx2.Update(modifiedBar, true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "7510B9548D93C36EAE1183372B44769C6AE4211D35F056ADA72C26DBA0941D8D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 303,
          "offset": 31,
          "length": 4,
          "code": {
            "startLine": 302,
            "length": 4,
            "offset": 40,
            "surroundingCode": "        {\n            Update(source[i], true);\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4F6019403770CBD4066FC4DB18548999BBC99866C298D509A0CC0562BB11AD2C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 38,
          "offset": 31,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 79,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        adxr.Update(bars[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "33C149D84316953045A585462A7620F0E8EC67B1BB405AF14DF22AE67846CB80"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 50,
          "offset": 46,
          "length": 4,
          "code": {
            "startLine": 49,
            "length": 4,
            "offset": 56,
            "surroundingCode": "        }\r\n        var val3 = adxr2.Update(modifiedBar, true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "1EDD8D203A618DBA370A86AAB73C90C3893BCCA6DD2D6BFA69CD1304E19767B5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.cs",
          "line": 164,
          "offset": 31,
          "length": 4,
          "code": {
            "startLine": 163,
            "length": 4,
            "offset": 41,
            "surroundingCode": "        {\r\n            Update(source[i], true);\r\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "0C2D9E02631BEF1FDF995E019D9236EF57C51916F39130A8F5FC85BC10827BF6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 38,
          "offset": 29,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 77,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        ao.Update(bars[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DEC3C7B1FE650C92780261F6E562EA82FF72CDB2A4F4D027551DDADCFB7F8642"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 50,
          "offset": 44,
          "length": 4,
          "code": {
            "startLine": 49,
            "length": 4,
            "offset": 54,
            "surroundingCode": "        }\r\n        var val3 = ao2.Update(modifiedBar, true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "32C5D5AB811A0C2DC4CF8D39244B273C3A00EC5B4E1F72E78A9A8104DDEF80C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.cs",
          "line": 151,
          "offset": 31,
          "length": 4,
          "code": {
            "startLine": 150,
            "length": 4,
            "offset": 40,
            "surroundingCode": "        {\n            Update(source[i], true);\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4F6019403770CBD4066FC4DB18548999BBC99866C298D509A0CC0562BB11AD2C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.cs",
          "line": 138,
          "offset": 41,
          "length": 4,
          "code": {
            "startLine": 137,
            "length": 4,
            "offset": 51,
            "surroundingCode": "        {\r\n            var val = Update(source[i], true);\r\n            t.Add(val.Time);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4A51033E6370476D112CFF94976236C6E42EE76618A730BF1267D2199EBF742F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 40,
          "offset": 32,
          "length": 4,
          "code": {
            "startLine": 39,
            "length": 4,
            "offset": 80,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        aroon.Update(bars[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "58093E54A48279E0B4EAF2B3FA841739C6644029635D7CCAE9FD0DFE4120C9A8"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 52,
          "offset": 47,
          "length": 4,
          "code": {
            "startLine": 51,
            "length": 4,
            "offset": 57,
            "surroundingCode": "        }\r\n        var val3 = aroon2.Update(modifiedBar, true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A6639703C7C0AF66F8CB9254EBE746BFB869C3C4B5CACAEE4D103DD22EB45F7A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.cs",
          "line": 184,
          "offset": 31,
          "length": 4,
          "code": {
            "startLine": 183,
            "length": 4,
            "offset": 41,
            "surroundingCode": "        {\r\n            Update(source[i], true);\r\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "0C2D9E02631BEF1FDF995E019D9236EF57C51916F39130A8F5FC85BC10827BF6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 38,
          "offset": 32,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 80,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        aroon.Update(bars[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "58093E54A48279E0B4EAF2B3FA841739C6644029635D7CCAE9FD0DFE4120C9A8"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 50,
          "offset": 47,
          "length": 4,
          "code": {
            "startLine": 49,
            "length": 4,
            "offset": 57,
            "surroundingCode": "        }\r\n        var val3 = aroon2.Update(modifiedBar, true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A6639703C7C0AF66F8CB9254EBE746BFB869C3C4B5CACAEE4D103DD22EB45F7A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.cs",
          "line": 169,
          "offset": 31,
          "length": 4,
          "code": {
            "startLine": 168,
            "length": 4,
            "offset": 41,
            "surroundingCode": "        {\r\n            Update(source[i], true);\r\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "0C2D9E02631BEF1FDF995E019D9236EF57C51916F39130A8F5FC85BC10827BF6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Tests.cs",
          "line": 96,
          "offset": 30,
          "length": 4,
          "code": {
            "startLine": 95,
            "length": 4,
            "offset": 78,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        cfb.Update(data[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "5C8C096F9EE724A668E16D2FD7649D88B166A6093384D761319941D4011D23D7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Tests.cs",
          "line": 108,
          "offset": 42,
          "length": 4,
          "code": {
            "startLine": 107,
            "length": 4,
            "offset": 52,
            "surroundingCode": "        }\r\n        var val3 = cfb2.Update(modified, true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "38E8A72F62C99404B77F084615AF01B639A1863D524FAB94D8DC1992CE1DBF4B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.cs",
          "line": 252,
          "offset": 67,
          "length": 4,
          "code": {
            "startLine": 251,
            "length": 4,
            "offset": 76,
            "surroundingCode": "        {\n            Update(new TValue(source.Times[i], source.Values[i]), true);\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C51D61FF4819208A91A34CF57983C3DB51307D4DC0D976D3370CF80BF37EF678"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 38,
          "offset": 30,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 78,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        dmx.Update(bars[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB64D33141E953EA1CA94E2741EB0C76E0B4305C97527D741F912E67A53C2230"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 50,
          "offset": 45,
          "length": 4,
          "code": {
            "startLine": 49,
            "length": 4,
            "offset": 55,
            "surroundingCode": "        }\r\n        var val3 = dmx2.Update(modifiedBar, true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "D8EA10CD13999C099A1CDFE9BD91B41369E910969BC3A01F48F0445295409715"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.cs",
          "line": 143,
          "offset": 31,
          "length": 4,
          "code": {
            "startLine": 142,
            "length": 4,
            "offset": 40,
            "surroundingCode": "        {\n            Update(source[i], true);\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4F6019403770CBD4066FC4DB18548999BBC99866C298D509A0CC0562BB11AD2C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Repro.Tests.cs",
          "line": 16,
          "offset": 58,
          "length": 4,
          "code": {
            "startLine": 15,
            "length": 4,
            "offset": 105,
            "surroundingCode": "            // Warmup to ensure initialization\r\n            rsx.Update(new TValue(DateTime.UtcNow, 100), true);\r\n            rsx.Update(new TValue(DateTime.UtcNow, 100), true);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "91DDE1C55552C0CED0C492998E6769C806B0ACD5B1A7A120DB87A9D17615BAC8"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Repro.Tests.cs",
          "line": 17,
          "offset": 58,
          "length": 4,
          "code": {
            "startLine": 16,
            "length": 4,
            "offset": 122,
            "surroundingCode": "            rsx.Update(new TValue(DateTime.UtcNow, 100), true);\r\n            rsx.Update(new TValue(DateTime.UtcNow, 100), true);\r\n            rsx.Update(new TValue(DateTime.UtcNow, 100), true);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F3986A3A8896277D24DEAFEF6D99D74035CE79DCB92BCEA1A3D6E8B2D639B8E3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Repro.Tests.cs",
          "line": 18,
          "offset": 58,
          "length": 4,
          "code": {
            "startLine": 17,
            "length": 4,
            "offset": 122,
            "surroundingCode": "            rsx.Update(new TValue(DateTime.UtcNow, 100), true);\r\n            rsx.Update(new TValue(DateTime.UtcNow, 100), true);\r\n            "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "B2305CB9E185E040C9F1B3CCD517C02016830DFA57F9F1F2575063D1D746AA8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Repro.Tests.cs",
          "line": 28,
          "offset": 75,
          "length": 4,
          "code": {
            "startLine": 27,
            "length": 4,
            "offset": 136,
            "surroundingCode": "            // If fixed: uses 100. Momentum = 100 - 100 = 0.\r\n            var res = rsx.Update(new TValue(DateTime.UtcNow, double.NaN), true);\r\n            "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "2BCBCEBE5C09D2C0479DAE7BAC7DA7D1900EB4F7406CC573E639CEF4F18694A1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Tests.cs",
          "line": 49,
          "offset": 54,
          "length": 4,
          "code": {
            "startLine": 48,
            "length": 4,
            "offset": 88,
            "surroundingCode": "        // Update with isNew=true\r\n        var val1 = rsx.Update(new TValue(time, 100), true);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "19EBE599EACA825D12B9639BBF0B5CD26911D1E730137C10DCFBF419EB0D45AD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 205,
          "offset": 67,
          "length": 4,
          "code": {
            "startLine": 204,
            "length": 4,
            "offset": 76,
            "surroundingCode": "        {\n            Update(new TValue(source.Times[i], source.Values[i]), true);\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C51D61FF4819208A91A34CF57983C3DB51307D4DC0D976D3370CF80BF37EF678"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Tests.cs",
          "line": 37,
          "offset": 54,
          "length": 4,
          "code": {
            "startLine": 36,
            "length": 4,
            "offset": 88,
            "surroundingCode": "        // Update with isNew=true\r\n        var val1 = vel.Update(new TValue(time, 100), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "71AC85D270173A05D254C3C74B9A1E27B929239B9A7B33B5AB21E4CF3F62CFC1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.cs",
          "line": 82,
          "offset": 67,
          "length": 4,
          "code": {
            "startLine": 81,
            "length": 4,
            "offset": 76,
            "surroundingCode": "        {\n            Update(new TValue(source.Times[i], source.Values[i]), true);\n        }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C51D61FF4819208A91A34CF57983C3DB51307D4DC0D976D3370CF80BF37EF678"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 38,
          "offset": 32,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 80,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        super.Update(bars[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "591108A521D21F09D3AD5C2D900C4AB262B678AB1892BB4E2852EF487C996EC3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 50,
          "offset": 47,
          "length": 4,
          "code": {
            "startLine": 49,
            "length": 4,
            "offset": 57,
            "surroundingCode": "        }\r\n        var val3 = super2.Update(modifiedBar, true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F93BE2DCD087D3F4331D4FEAA04CD8DB9194CC9115129C10F9A8A971F0A4E9F6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.cs",
          "line": 229,
          "offset": 41,
          "length": 4,
          "code": {
            "startLine": 228,
            "length": 4,
            "offset": 50,
            "surroundingCode": "        {\n            var val = Update(source[i], true);\n            t.Add(val.Time);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E3AD1462FA51B74C1BD0A571353C8C38972B4E41138E7DF9EDFA0D03B677BEBD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 38,
          "offset": 62,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 110,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        t3.Update(new TValue(bars[99].Time, bars[99].Close), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F3B134A908329AA152935D1C498ACA7959A18F3848CCA3B3F50C6F0FBFA3CD7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 49,
          "offset": 81,
          "length": 4,
          "code": {
            "startLine": 48,
            "length": 4,
            "offset": 91,
            "surroundingCode": "        }\r\n        var val3 = t3_2.Update(new TValue(bars[99].Time, bars[99].Close + 1.0), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "D3CAE8E086EFB2317875CF2FB661732DBCE1BCC81CF24AF11D15BEFBDAC52D12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 38,
          "offset": 64,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 112,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        tema.Update(new TValue(bars[99].Time, bars[99].Close), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A9B2CCD8A56F34FD260CF9ADDB0BE4E05E0F34BC6C9E79D2FD5EABB6F3442032"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 49,
          "offset": 82,
          "length": 4,
          "code": {
            "startLine": 48,
            "length": 4,
            "offset": 92,
            "surroundingCode": "        }\r\n        var val3 = tema2.Update(new TValue(bars[99].Time, bars[99].Close + 1.0), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "7FF9CF2EB607007875B7499D603FB8A94948456CCAFEDF0B967685B014D150FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 38,
          "offset": 65,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 113,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        trima.Update(new TValue(bars[99].Time, bars[99].Close), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AEF2EA8B1D1E284E1A8EEFB6F70ADE6312F2D48ABFBFCA1F7A7609567DE1BF7B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 49,
          "offset": 83,
          "length": 4,
          "code": {
            "startLine": 48,
            "length": 4,
            "offset": 93,
            "surroundingCode": "        }\r\n        var val3 = trima2.Update(new TValue(bars[99].Time, bars[99].Close + 1.0), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E7A7701B9D223F6F9771DACDEFCE5C05F7CD744F486DB96CE8AB6A67A8ABEE5D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 38,
          "offset": 63,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 111,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        usf.Update(new TValue(bars[99].Time, bars[99].Close), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "1C9C003C7433E0EE1189C6B2F574693A029E4E0B4CDE77A18D01FD7A0FE1549A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 49,
          "offset": 82,
          "length": 4,
          "code": {
            "startLine": 48,
            "length": 4,
            "offset": 92,
            "surroundingCode": "        }\r\n        var val3 = usf_2.Update(new TValue(bars[99].Time, bars[99].Close + 1.0), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F76CABDBC8547E6C9C3883D5C41F3E4201829FDB9EC54FC1B18DBE88B6130462"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 38,
          "offset": 65,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 113,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        vidya.Update(new TValue(bars[99].Time, bars[99].Close), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "666878B812E1E8487F7560D0396F8CF69158B57E5639F4DB5997884E85F18B10"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 49,
          "offset": 83,
          "length": 4,
          "code": {
            "startLine": 48,
            "length": 4,
            "offset": 93,
            "surroundingCode": "        }\r\n        var val3 = vidya2.Update(new TValue(bars[99].Time, bars[99].Close + 1.0), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "2987D77C135F727BF291953B58D0F6D0861510FE7B3C1DFFC7C4FD65F221F9BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 38,
          "offset": 63,
          "length": 4,
          "code": {
            "startLine": 37,
            "length": 4,
            "offset": 111,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        wma.Update(new TValue(bars[99].Time, bars[99].Close), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "53F6DA5F042805AFA65781AEBA8BEC43C768C45570208C26631EFFDE6560702A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 49,
          "offset": 81,
          "length": 4,
          "code": {
            "startLine": 48,
            "length": 4,
            "offset": 91,
            "surroundingCode": "        }\r\n        var val3 = wma2.Update(new TValue(bars[99].Time, bars[99].Close + 1.0), true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "86551D00BA2FF0AF155D7CB0767908298A00BBBADC01E10ECCF033D988A4CEBE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Tests.cs",
          "line": 37,
          "offset": 30,
          "length": 4,
          "code": {
            "startLine": 36,
            "length": 4,
            "offset": 78,
            "surroundingCode": "        // Update with 100th point (isNew=true)\r\n        atr.Update(bars[99], true);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "52C48650341491ECADD9AB1B23F8BD573D8501F5AC14D7483F213ABD63874832"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Tests.cs",
          "line": 51,
          "offset": 48,
          "length": 4,
          "code": {
            "startLine": 50,
            "length": 4,
            "offset": 58,
            "surroundingCode": "        }\r\n        double val3 = atr2.Update(modifiedBar, true).Value;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "EA48A4FFDF165761519C9F21593A907684F581B15BD4D7EEA35DA05653F036B6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.cs",
          "line": 122,
          "offset": 41,
          "length": 4,
          "code": {
            "startLine": 121,
            "length": 4,
            "offset": 50,
            "surroundingCode": "        {\n            var val = Update(source[i], true);\n            t.Add(val.Time);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E3AD1462FA51B74C1BD0A571353C8C38972B4E41138E7DF9EDFA0D03B677BEBD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'isNew' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.cs",
          "line": 130,
          "offset": 41,
          "length": 4,
          "code": {
            "startLine": 129,
            "length": 4,
            "offset": 51,
            "surroundingCode": "        {\r\n            var val = Update(source[i], true);\r\n            t.Add(val.Time);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4A51033E6370476D112CFF94976236C6E42EE76618A730BF1267D2199EBF742F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'k' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 43,
          "offset": 33,
          "length": 3,
          "code": {
            "startLine": 42,
            "length": 3,
            "offset": 69,
            "surroundingCode": "        // Calculate QuanTAlib MGDI\r\n        var mgdi = new Mgdi(14, 0.6);\r\n        var series = _data.Data;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A9BD1225D0246B9663DD813E5CBB7F0A5D3A28D02A818CFDF5C48726A05556FD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'k' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 68,
          "offset": 33,
          "length": 3,
          "code": {
            "startLine": 67,
            "length": 3,
            "offset": 79,
            "surroundingCode": "        // Calculate QuanTAlib MGDI Streaming\r\n        var mgdi = new Mgdi(14, 0.6);\r\n        var streamingResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E9A45FFCFE11BB56B0C9A4BD8352DCF46B952CBE831229239D465C1533B6DA29"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'k' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 109,
          "offset": 33,
          "length": 3,
          "code": {
            "startLine": 108,
            "length": 3,
            "offset": 69,
            "surroundingCode": "        // Calculate QuanTAlib MGDI\r\n        var mgdi = new Mgdi(14, 0.6);\r\n        var series = _data.Data;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A9BD1225D0246B9663DD813E5CBB7F0A5D3A28D02A818CFDF5C48726A05556FD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'kFactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 40,
          "offset": 65,
          "length": 3,
          "code": {
            "startLine": 39,
            "length": 3,
            "offset": 157,
            "surroundingCode": "        // Skender uses Dynamic(14, 0.6) by default if not specified, but let's be explicit\r\n        var skenderResults = _data.SkenderQuotes.GetDynamic(14, 0.6).ToList();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "23915E5E3B0F9ADD9B21E86E2D161EB20A1F2920A774543E177084BC1EDB5128"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'kFactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 65,
          "offset": 65,
          "length": 3,
          "code": {
            "startLine": 64,
            "length": 3,
            "offset": 99,
            "surroundingCode": "        // Calculate Skender MGDI\r\n        var skenderResults = _data.SkenderQuotes.GetDynamic(14, 0.6).ToList();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "749E54690457FF8B4AD65DB2DFEA66FE7FCA892086A77643EFE7312207C3A4C8"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'length' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 120,
          "offset": 107,
          "length": 2,
          "code": {
            "startLine": 119,
            "length": 2,
            "offset": 158,
            "surroundingCode": "        var stockData = new StockData(ooplesData);\r\n        var adxResults = stockData.CalculateAverageDirectionalIndex(MovingAvgType.WildersSmoothingMethod, 14);\r\n        var ooplesResults = adxResults.OutputValues[\"Adx\"].ToArray();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "26AFD50A76A497E00CBE7E2A86C3BD1D201624137F438F7FCD633405B01C9729"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'lookbackPeriods' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 41,
          "offset": 57,
          "length": 2,
          "code": {
            "startLine": 40,
            "length": 2,
            "offset": 58,
            "surroundingCode": "\r\n        var skenderResults = _data.SkenderQuotes.GetAdx(14).ToList();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "95822CFFE261803BC38AF20328CADCA9A8630F1A99B3DE1687840702076332C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'lookbackPeriods' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 50,
          "offset": 64,
          "length": 2,
          "code": {
            "startLine": 49,
            "length": 2,
            "offset": 102,
            "surroundingCode": "        // Skender uses GetSuperTrend\r\n        var skenderResults = _data.SkenderQuotes.GetSuperTrend(10, 3.0).ToList();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BC7D538D96DBE15A2953D897431B008CD9F6DB27F36A4D28B70A1148204173B8"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'lookbackPeriods' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 37,
          "offset": 57,
          "length": 2,
          "code": {
            "startLine": 36,
            "length": 2,
            "offset": 58,
            "surroundingCode": "\r\n        var skenderResults = _data.SkenderQuotes.GetAtr(14).ToList();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "953A5A7C130000986530E24F6B1822024C31877DC5FE6F78C35F8479561C2642"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'maType' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 120,
          "offset": 69,
          "length": 36,
          "code": {
            "startLine": 119,
            "length": 36,
            "offset": 120,
            "surroundingCode": "        var stockData = new StockData(ooplesData);\r\n        var adxResults = stockData.CalculateAverageDirectionalIndex(MovingAvgType.WildersSmoothingMethod, 14);\r\n        var ooplesResults = adxResults.OutputValues[\"Adx\"].ToArray();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "26AFD50A76A497E00CBE7E2A86C3BD1D201624137F438F7FCD633405B01C9729"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 12,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 11,
            "length": 3,
            "offset": 41,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 27,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 26,
            "length": 3,
            "offset": 41,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 45,
          "offset": 36,
          "length": 3,
          "code": {
            "startLine": 44,
            "length": 3,
            "offset": 91,
            "surroundingCode": "        // Create new instance and feed up to modified\r\n        var super2 = new Super(10, 3.0);\r\n        for (int i = 0; i < 99; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4148DD29D4F7255180F93B49024F1B63FD57BA8AE1F6CE8327EB82B59B3F8DB4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 61,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 60,
            "length": 3,
            "offset": 41,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 86,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 85,
            "length": 3,
            "offset": 41,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 96,
          "offset": 36,
          "length": 3,
          "code": {
            "startLine": 95,
            "length": 3,
            "offset": 37,
            "surroundingCode": "\r\n        var super2 = new Super(10, 3.0);\r\n        var seriesResults = super2.Update(bars);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "1F0F2D53CD0149AEA5AA4B48AEF06EA1C60E93274BA559B575304E4025F4DB69"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 117,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 116,
            "length": 3,
            "offset": 41,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 138,
          "offset": 71,
          "length": 3,
          "code": {
            "startLine": 137,
            "length": 3,
            "offset": 77,
            "surroundingCode": "    {\r\n        Assert.Throws<ArgumentOutOfRangeException>(() => new Super(0, 3.0));\r\n        Assert.Throws<ArgumentOutOfRangeException>(() => new Super(-1, 3.0));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DF63F7D42DA1179365C66EF6D00B848C1DFDD9DF8DE966446E032E4D72011335"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 139,
          "offset": 72,
          "length": 3,
          "code": {
            "startLine": 138,
            "length": 3,
            "offset": 149,
            "surroundingCode": "        Assert.Throws<ArgumentOutOfRangeException>(() => new Super(0, 3.0));\r\n        Assert.Throws<ArgumentOutOfRangeException>(() => new Super(-1, 3.0));\r\n        Assert.Throws<ArgumentOutOfRangeException>(() => new Super(10, 0));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "2DBB835CBE6B290136A7470BAEC1AAC85DD6FC3351C780E55D7CF80E22F0A427"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 150,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 149,
            "length": 3,
            "offset": 44,
            "surroundingCode": "        \r\n        var super = new Super(10, 3.0);\r\n        var streamingResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4D154820BDA4A0AC632388D3A16BCFEB3418C7CCADCFEF04E7F0AAC8EBBAEA3C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 157,
          "offset": 51,
          "length": 3,
          "code": {
            "startLine": 156,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        \r\n        var staticResults = Super.Batch(bars, 10, 3.0);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FFFEA98569E3132FEE271AC75C5F0BD0A09CD6E9AE2DD1A361FF480ACC92D72F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 176,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 175,
            "length": 3,
            "offset": 41,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 36,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 35,
            "length": 3,
            "offset": 41,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var results = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "72DC5F18E19CE68FBD87A31165B7CC77CA5033837C207C469383ADB00F724645"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'multiplier' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 50,
          "offset": 68,
          "length": 3,
          "code": {
            "startLine": 49,
            "length": 3,
            "offset": 106,
            "surroundingCode": "        // Skender uses GetSuperTrend\r\n        var skenderResults = _data.SkenderQuotes.GetSuperTrend(10, 3.0).ToList();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BC7D538D96DBE15A2953D897431B008CD9F6DB27F36A4D28B70A1148204173B8"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Quantower.Tests.cs",
          "line": 81,
          "offset": 56,
          "length": 1,
          "code": {
            "startLine": 80,
            "length": 1,
            "offset": 98,
            "surroundingCode": "        // Line series should have a value\n        double adx = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "65D8609A0AE1163B9AEA145616CFAD7AF48E3D31B3E4AB356DD1C7AB47DC1641"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Quantower.Tests.cs",
          "line": 81,
          "offset": 57,
          "length": 1,
          "code": {
            "startLine": 80,
            "length": 1,
            "offset": 100,
            "surroundingCode": "        // Line series should have a value\r\n        double adxr = indicator.LinesSeries[0].GetValue(0);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "5A497833EDAD4E4688123B8219F764DE37572231931F1C5B48A0E9FFB510034C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Quantower.Tests.cs",
          "line": 84,
          "offset": 55,
          "length": 1,
          "code": {
            "startLine": 83,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        // One should be NaN, other should be value, or both NaN if cold\n        double up = indicator.LinesSeries[0].GetValue(0);\n        double down = indicator.LinesSeries[1].GetValue(0);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "3F2F1852DE360B5B16D7C1C60075310D691C1E0397FBC6C0371F01E7FB67C1E0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Quantower.Tests.cs",
          "line": 85,
          "offset": 57,
          "length": 1,
          "code": {
            "startLine": 84,
            "length": 1,
            "offset": 114,
            "surroundingCode": "        double up = indicator.LinesSeries[0].GetValue(0);\n        double down = indicator.LinesSeries[1].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A5CE619BB1A101E30BCA7CEC2BF43F1B9B3F7322012277DFF8A256F99ABA3969"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Quantower.Tests.cs",
          "line": 83,
          "offset": 56,
          "length": 1,
          "code": {
            "startLine": 82,
            "length": 1,
            "offset": 99,
            "surroundingCode": "        // Line series should have a value\r\n        double val = indicator.LinesSeries[0].GetValue(0);\r\n        Assert.True(double.IsFinite(val));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "97936977F6213DD28518F8544E49D00B2A6C20E651AE6B2F3D6FED11F2BDC5FD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Quantower.Tests.cs",
          "line": 81,
          "offset": 55,
          "length": 1,
          "code": {
            "startLine": 80,
            "length": 1,
            "offset": 98,
            "surroundingCode": "        // Line series should have a value\r\n        double up = indicator.LinesSeries[0].GetValue(0);\r\n        double down = indicator.LinesSeries[1].GetValue(0);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DE3CCDAF08DFF09C417AC94A7649483E15810F48DDD26CFE1E1426ECEAA56275"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Quantower.Tests.cs",
          "line": 82,
          "offset": 57,
          "length": 1,
          "code": {
            "startLine": 81,
            "length": 1,
            "offset": 115,
            "surroundingCode": "        double up = indicator.LinesSeries[0].GetValue(0);\r\n        double down = indicator.LinesSeries[1].GetValue(0);\r\n        double osc = indicator.LinesSeries[2].GetValue(0);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BE4FCD0645DE7326A8296DB1EBC5394BA5876A84F7A5E13DFA035E2AAC834CD0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Quantower.Tests.cs",
          "line": 83,
          "offset": 56,
          "length": 1,
          "code": {
            "startLine": 82,
            "length": 1,
            "offset": 116,
            "surroundingCode": "        double down = indicator.LinesSeries[1].GetValue(0);\r\n        double osc = indicator.LinesSeries[2].GetValue(0);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "151487D0D0734BA7281BE6A011C4434551C8CA0A3D1BB65CD6657944B462AC85"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Quantower.Tests.cs",
          "line": 81,
          "offset": 56,
          "length": 1,
          "code": {
            "startLine": 80,
            "length": 1,
            "offset": 99,
            "surroundingCode": "        // Line series should have a value\r\n        double osc = indicator.LinesSeries[0].GetValue(0);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "701A9F5FBC93CF2B8C164583D335E4BBB3A6C8525FBBF38AC24BEADC114B8CB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Quantower.Tests.cs",
          "line": 88,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 87,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Quantower.Tests.cs",
          "line": 126,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 125,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Quantower.Tests.cs",
          "line": 129,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 128,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Quantower.Tests.cs",
          "line": 165,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 164,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Quantower.Tests.cs",
          "line": 83,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 82,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Quantower.Tests.cs",
          "line": 120,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 119,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Quantower.Tests.cs",
          "line": 123,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 122,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Quantower.Tests.cs",
          "line": 78,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 77,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Quantower.Tests.cs",
          "line": 107,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 106,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Quantower.Tests.cs",
          "line": 110,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 109,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Quantower.Tests.cs",
          "line": 164,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 163,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Quantower.Tests.cs",
          "line": 78,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 77,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Quantower.Tests.cs",
          "line": 107,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 106,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Quantower.Tests.cs",
          "line": 110,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 109,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Quantower.Tests.cs",
          "line": 164,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 163,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.Tests.cs",
          "line": 69,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 68,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.Tests.cs",
          "line": 103,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 102,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.Tests.cs",
          "line": 107,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 106,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.Tests.cs",
          "line": 137,
          "offset": 61,
          "length": 1,
          "code": {
            "startLine": 136,
            "length": 1,
            "offset": 107,
            "surroundingCode": "        // ALMA should be smoothing the values\n        double lastAlma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastAlma >= 100 && lastAlma <= 110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "59F9115F6FC10B58F066803EBE13126DE138B0D592564EACEC91C49CBEE69F29"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.Tests.cs",
          "line": 155,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 154,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Quantower.Tests.cs",
          "line": 62,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 61,
            "length": 1,
            "offset": 128,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\r\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "8BBF96FD632AFDF1565D39B6FD0BEDC9D8A73AE79E76DB385F02E3528F6880B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Quantower.Tests.cs",
          "line": 91,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 90,
            "length": 1,
            "offset": 140,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\r\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E5820E9BF83131F27170A49BF4D5A74CBB1FAADB656199D17BF39E1EAA4B4329"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Quantower.Tests.cs",
          "line": 94,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 93,
            "length": 1,
            "offset": 135,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\r\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "3F96EF9957489F7352919A6939F60FCF6A43204A5AEF6586B77DBC25492D1026"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Quantower.Tests.cs",
          "line": 121,
          "offset": 62,
          "length": 1,
          "code": {
            "startLine": 120,
            "length": 1,
            "offset": 63,
            "surroundingCode": "\r\n        double lastValue = indicator.LinesSeries[0].GetValue(0);\r\n        Assert.True(lastValue >= 90 && lastValue <= 120);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "CBAB37EB830436212830B43389967EA4E2BFA77F666E402D4ABDD36A6BA4D8B6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Quantower.Tests.cs",
          "line": 147,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 146,
            "length": 1,
            "offset": 76,
            "surroundingCode": "\r\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\r\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "8DF1CC9FA871A677F78586172EE936E3563011DA2D9B6E1D50EACDD2333067DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Quantower.Tests.cs",
          "line": 77,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 76,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Quantower.Tests.cs",
          "line": 106,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 105,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Quantower.Tests.cs",
          "line": 109,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 108,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Quantower.Tests.cs",
          "line": 164,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 163,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Quantower.Tests.cs",
          "line": 76,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 75,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Quantower.Tests.cs",
          "line": 105,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Quantower.Tests.cs",
          "line": 108,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 107,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Quantower.Tests.cs",
          "line": 164,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 163,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Quantower.Tests.cs",
          "line": 76,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 75,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.Tests.cs",
          "line": 67,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 66,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.Tests.cs",
          "line": 101,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 100,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.Tests.cs",
          "line": 105,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.Tests.cs",
          "line": 136,
          "offset": 60,
          "length": 1,
          "code": {
            "startLine": 135,
            "length": 1,
            "offset": 124,
            "surroundingCode": "        // Last EMA value should be between first and last close\n        double lastEma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastEma >= 100 && lastEma <= 110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "9AEFC32F7DA794C36E5128ADAB3BF20269FA3AA1F93651E65FA1D113FBE5F486"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.Tests.cs",
          "line": 154,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 153,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Quantower.Tests.cs",
          "line": 77,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 76,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Quantower.Tests.cs",
          "line": 106,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 105,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Quantower.Tests.cs",
          "line": 109,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 108,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Quantower.Tests.cs",
          "line": 163,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 162,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Quantower.Tests.cs",
          "line": 80,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 79,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Quantower.Tests.cs",
          "line": 109,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 108,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Quantower.Tests.cs",
          "line": 112,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 111,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Quantower.Tests.cs",
          "line": 166,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 165,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.Tests.cs",
          "line": 69,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 68,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.Tests.cs",
          "line": 103,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 102,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.Tests.cs",
          "line": 107,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 106,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.Tests.cs",
          "line": 137,
          "offset": 61,
          "length": 1,
          "code": {
            "startLine": 136,
            "length": 1,
            "offset": 107,
            "surroundingCode": "        // KAMA should be smoothing the values\n        double lastKama = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastKama >= 100 && lastKama <= 110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "61B5BD333F9BEA87D7339FADEA7E21249107C62D6EAEEFFDBC9C3E13D63FF9AF"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.Tests.cs",
          "line": 155,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 154,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Quantower.Tests.cs",
          "line": 78,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 77,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Quantower.Tests.cs",
          "line": 107,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 106,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Quantower.Tests.cs",
          "line": 110,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 109,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Quantower.Tests.cs",
          "line": 164,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 163,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Tests.cs",
          "line": 20,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 19,
            "length": 1,
            "offset": 39,
            "surroundingCode": "    {\r\n        var lsma = new Lsma(14, 0);\r\n        Assert.Equal(\"Lsma(14)\", lsma.Name);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "171896FEB9E0CD3EBDA7415A6035882151E2223B1DCD6B8682368820C83366BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 70,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 69,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[1].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n        Assert.True(double.IsFinite(indicator.LinesSeries[1].GetValue(0)));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "664A8FE6A1A842EC22958F3BC0A2BBC9AA30AB6809A73E9B1D83B148E4EAFB7B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 71,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 70,
            "length": 1,
            "offset": 146,
            "surroundingCode": "        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n        Assert.True(double.IsFinite(indicator.LinesSeries[1].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "45A02D899425C21B7CD3B71D8FEF12B96B292ADA807055E273D065EC286C536D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 106,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 105,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 110,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 109,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 141,
          "offset": 61,
          "length": 1,
          "code": {
            "startLine": 140,
            "length": 1,
            "offset": 107,
            "surroundingCode": "        // MAMA should be smoothing the values\n        double lastMama = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastMama >= 100 && lastMama <= 110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AE359BEC8215CF45619D02D40FEFC277BA765DE3D973E65B3BD3F38FFBC538F8"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 159,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 158,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Quantower.Tests.cs",
          "line": 78,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 77,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Quantower.Tests.cs",
          "line": 107,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 106,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Quantower.Tests.cs",
          "line": 110,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 109,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Quantower.Tests.cs",
          "line": 164,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 163,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.Tests.cs",
          "line": 67,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 66,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.Tests.cs",
          "line": 101,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 100,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.Tests.cs",
          "line": 105,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.Tests.cs",
          "line": 136,
          "offset": 60,
          "length": 1,
          "code": {
            "startLine": 135,
            "length": 1,
            "offset": 124,
            "surroundingCode": "        // Last RMA value should be between first and last close\n        double lastRma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastRma >= 100 && lastRma <= 110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6CE12BDE69BC94FDF15E48341FA7ECE938CC73D60B84AABB8D0CDD33F5F47872"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.Tests.cs",
          "line": 154,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 153,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.Tests.cs",
          "line": 76,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 75,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.Tests.cs",
          "line": 105,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.Tests.cs",
          "line": 108,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 107,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.Tests.cs",
          "line": 149,
          "offset": 60,
          "length": 1,
          "code": {
            "startLine": 148,
            "length": 1,
            "offset": 108,
            "surroundingCode": "        // Actually: (104 + 103 + 105) / 3 = 104\n        double lastSma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastSma >= 103 && lastSma <= 105);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BF17FAF3D53625BDC30B7D807CD13E7A5F3B3CCA0B9EB64F4AE7AED1E83E6CDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.Tests.cs",
          "line": 167,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 166,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.Tests.cs",
          "line": 67,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 66,
            "length": 1,
            "offset": 128,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\r\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "8BBF96FD632AFDF1565D39B6FD0BEDC9D8A73AE79E76DB385F02E3528F6880B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.Tests.cs",
          "line": 101,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 100,
            "length": 1,
            "offset": 140,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\r\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E5820E9BF83131F27170A49BF4D5A74CBB1FAADB656199D17BF39E1EAA4B4329"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.Tests.cs",
          "line": 105,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 135,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\r\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "3F96EF9957489F7352919A6939F60FCF6A43204A5AEF6586B77DBC25492D1026"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.Tests.cs",
          "line": 136,
          "offset": 60,
          "length": 1,
          "code": {
            "startLine": 135,
            "length": 1,
            "offset": 125,
            "surroundingCode": "        // Last SSF value should be between first and last close\r\n        double lastSsf = indicator.LinesSeries[0].GetValue(0);\r\n        Assert.True(lastSsf >= 100 && lastSsf <= 110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "0F99F7D2A30632983CFC9ACFFB24BD1B8CCBB4D5F0A7943CF187ED7D6DD67D30"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.Tests.cs",
          "line": 154,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 153,
            "length": 1,
            "offset": 76,
            "surroundingCode": "\r\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\r\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "8DF1CC9FA871A677F78586172EE936E3563011DA2D9B6E1D50EACDD2333067DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Quantower.Tests.cs",
          "line": 84,
          "offset": 55,
          "length": 1,
          "code": {
            "startLine": 83,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        // One should be NaN, other should be value, or both NaN if cold\n        double up = indicator.LinesSeries[0].GetValue(0);\n        double down = indicator.LinesSeries[1].GetValue(0);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "3F2F1852DE360B5B16D7C1C60075310D691C1E0397FBC6C0371F01E7FB67C1E0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Quantower.Tests.cs",
          "line": 85,
          "offset": 57,
          "length": 1,
          "code": {
            "startLine": 84,
            "length": 1,
            "offset": 114,
            "surroundingCode": "        double up = indicator.LinesSeries[0].GetValue(0);\n        double down = indicator.LinesSeries[1].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A5CE619BB1A101E30BCA7CEC2BF43F1B9B3F7322012277DFF8A256F99ABA3969"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.Tests.cs",
          "line": 70,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 69,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.Tests.cs",
          "line": 104,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 103,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.Tests.cs",
          "line": 108,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 107,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.Tests.cs",
          "line": 137,
          "offset": 59,
          "length": 1,
          "code": {
            "startLine": 136,
            "length": 1,
            "offset": 59,
            "surroundingCode": "\n        double lastT3 = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastT3 >= 100 && lastT3 <= 110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FDB0CC33C68A78431A58E1C8F092A3F4AF4D9CA1387892234C5262FEEC3F87B2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.Tests.cs",
          "line": 155,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 154,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Quantower.Tests.cs",
          "line": 76,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 75,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Quantower.Tests.cs",
          "line": 105,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Quantower.Tests.cs",
          "line": 108,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 107,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Quantower.Tests.cs",
          "line": 162,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 161,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.Tests.cs",
          "line": 76,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 75,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.Tests.cs",
          "line": 105,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.Tests.cs",
          "line": 108,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 107,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.Tests.cs",
          "line": 148,
          "offset": 62,
          "length": 1,
          "code": {
            "startLine": 147,
            "length": 1,
            "offset": 125,
            "surroundingCode": "        // TRIMA is smoothed, so check last value is reasonable\n        double lastTrima = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastTrima >= 100 && lastTrima <= 106);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "39A744D0B7A1B09047370CE6D30ACC8622E0FA16E7888B1821026E98D642A755"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.Tests.cs",
          "line": 166,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 165,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.Tests.cs",
          "line": 67,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 66,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.Tests.cs",
          "line": 101,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 100,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.Tests.cs",
          "line": 105,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.Tests.cs",
          "line": 136,
          "offset": 62,
          "length": 1,
          "code": {
            "startLine": 135,
            "length": 1,
            "offset": 128,
            "surroundingCode": "        // Last VIDYA value should be between first and last close\n        double lastVidya = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastVidya >= 100 && lastVidya <= 110);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "B560DFE075E1E6A8279A85BD398293912DC38DB09278FD7536C6A6182BF41552"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.Tests.cs",
          "line": 154,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 153,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.Tests.cs",
          "line": 76,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 75,
            "length": 1,
            "offset": 127,
            "surroundingCode": "        Assert.Equal(1, indicator.LinesSeries[0].Count);\n        Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "700C32E7869BEF401C0B37A097D70A0D8EAC3E7DB44F0A1BBBECF575DAB161C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.Tests.cs",
          "line": 105,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 104,
            "length": 1,
            "offset": 139,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));\n        double firstValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6BC7E102D523DB141889CCC6F182558C3D4E7FC321D3AE8B2E1EC242605CB263"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.Tests.cs",
          "line": 108,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 107,
            "length": 1,
            "offset": 134,
            "surroundingCode": "        indicator.ProcessUpdate(new UpdateArgs(UpdateReason.NewTick));\n        double secondValue = indicator.LinesSeries[0].GetValue(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4DF496EF2F701B4615E2170AEDA33B06CE826ECAA8731E3C666D96FCADE4D74A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.Tests.cs",
          "line": 149,
          "offset": 60,
          "length": 1,
          "code": {
            "startLine": 148,
            "length": 1,
            "offset": 152,
            "surroundingCode": "        // With weights [1, 2, 3] for period 3: (104*1 + 103*2 + 105*3) / 6 = 625/6 ≈ 104.17\n        double lastWma = indicator.LinesSeries[0].GetValue(0);\n        Assert.True(lastWma >= 103 && lastWma <= 106);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "0C78ADEEE274769F14E2D700F3041A9F798698E772822EDD9EB93A84DF631B45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.Tests.cs",
          "line": 167,
          "offset": 75,
          "length": 1,
          "code": {
            "startLine": 166,
            "length": 1,
            "offset": 75,
            "surroundingCode": "\n            Assert.True(double.IsFinite(indicator.LinesSeries[0].GetValue(0)),\n                $\"Source {source} should produce finite value\");"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "706446D2770D0586A31FA87A79D884EC0686F3795F399209A73C7FC406E87739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Quantower.Tests.cs",
          "line": 66,
          "offset": 56,
          "length": 1,
          "code": {
            "startLine": 65,
            "length": 1,
            "offset": 99,
            "surroundingCode": "        // Line series should have a value\r\n        double val = indicator.LinesSeries[0].GetValue(0);\r\n        Assert.True(double.IsFinite(val));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "97936977F6213DD28518F8544E49D00B2A6C20E651AE6B2F3D6FED11F2BDC5FD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Quantower.Tests.cs",
          "line": 83,
          "offset": 56,
          "length": 1,
          "code": {
            "startLine": 82,
            "length": 1,
            "offset": 99,
            "surroundingCode": "        // Line series should have a value\r\n        double val = indicator.LinesSeries[0].GetValue(0);\r\n        Assert.True(double.IsFinite(val));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "97936977F6213DD28518F8544E49D00B2A6C20E651AE6B2F3D6FED11F2BDC5FD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 200,
          "offset": 35,
          "length": 1,
          "code": {
            "startLine": 199,
            "length": 1,
            "offset": 84,
            "surroundingCode": "        var lastTime = data.Time(data.Count - 1);\n        var firstTime = data.Time(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "196D8E1BAC0361DEECB1D609F40B596B3AD5F6558DE0820D1B8DA0A1791FAA2B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 246,
          "offset": 60,
          "length": 1,
          "code": {
            "startLine": 245,
            "length": 1,
            "offset": 126,
            "surroundingCode": "            DateTime tRight = converter.GetTime(clientRect.Right);\n            DateTime tZero = indicator.HistoricalData.Time(0);\n            DateTime rightTime = tRight < tZero ? tRight : tZero;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6D6493200BF9FB430E0B161DDC684928917E6072A809542CDBD22F91404FF6B6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 294,
          "offset": 35,
          "length": 1,
          "code": {
            "startLine": 293,
            "length": 1,
            "offset": 84,
            "surroundingCode": "        var lastTime = data.Time(data.Count - 1);\n        var firstTime = data.Time(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "196D8E1BAC0361DEECB1D609F40B596B3AD5F6558DE0820D1B8DA0A1791FAA2B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "The parameter 'offset' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 363,
          "offset": 35,
          "length": 1,
          "code": {
            "startLine": 362,
            "length": 1,
            "offset": 84,
            "surroundingCode": "        var lastTime = data.Time(data.Count - 1);\n        var firstTime = data.Time(0);\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "196D8E1BAC0361DEECB1D609F40B596B3AD5F6558DE0820D1B8DA0A1791FAA2B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 63,
          "offset": 98,
          "length": 2,
          "code": {
            "startLine": 62,
            "length": 2,
            "offset": 99,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Adx(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F1A8BA619B056D880EAE14A427CC28F805402D4521B92AFFDD260FEAEBE43DD2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 66,
          "offset": 52,
          "length": 2,
          "code": {
            "startLine": 65,
            "length": 2,
            "offset": 53,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AdxLookback(14);\r\n        ValidationHelper.VerifyData(results, outReal, outRange, lookback);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "46EEF42D8526BBE567D48FA350AF59011ACC24A51FB1516414031C1E4CE34564"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 42,
          "offset": 99,
          "length": 2,
          "code": {
            "startLine": 41,
            "length": 2,
            "offset": 100,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Adxr(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "889E5473CE4B074E5E27F77DB353A2BFA52496466871FC234FEB3A6620DAEAB3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 45,
          "offset": 53,
          "length": 2,
          "code": {
            "startLine": 44,
            "length": 2,
            "offset": 54,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AdxrLookback(14);\r\n        ValidationHelper.VerifyData(results, outReal, outRange, lookback);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "728141C71A85196E0CC1E31659749C0109085FED7619A4DDA9678A6E47659809"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 77,
          "offset": 110,
          "length": 2,
          "code": {
            "startLine": 76,
            "length": 2,
            "offset": 144,
            "surroundingCode": "        // TA-Lib Aroon (Up/Down)\r\n        var retCode = TALib.Functions.Aroon(hData, lData, 0..^0, outAroonDown, outAroonUp, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4B78120C51CDBB4BEAA7F3795F717B073C727BD6F4E840B089AD72356EA09B86"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 81,
          "offset": 106,
          "length": 2,
          "code": {
            "startLine": 80,
            "length": 2,
            "offset": 133,
            "surroundingCode": "        // TA-Lib AroonOsc\r\n        var retCodeOsc = TALib.Functions.AroonOsc(hData, lData, 0..^0, outAroonOsc, out var outRangeOsc, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCodeOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "349AC6A7049F42762F7BF467EC05040D05334143268213585BDB0DE238AD9E45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 84,
          "offset": 54,
          "length": 2,
          "code": {
            "startLine": 83,
            "length": 2,
            "offset": 55,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AroonLookback(14);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C011AC0E0BE574D5E60007EED0C0882F616E42FBE5E2D156D4C2A5F459C2B0C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 64,
          "offset": 106,
          "length": 2,
          "code": {
            "startLine": 63,
            "length": 2,
            "offset": 133,
            "surroundingCode": "        // TA-Lib AroonOsc\r\n        var retCodeOsc = TALib.Functions.AroonOsc(hData, lData, 0..^0, outAroonOsc, out var outRangeOsc, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCodeOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "349AC6A7049F42762F7BF467EC05040D05334143268213585BDB0DE238AD9E45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 67,
          "offset": 54,
          "length": 2,
          "code": {
            "startLine": 66,
            "length": 2,
            "offset": 55,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AroonLookback(14);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C011AC0E0BE574D5E60007EED0C0882F616E42FBE5E2D156D4C2A5F459C2B0C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 61,
          "offset": 98,
          "length": 2,
          "code": {
            "startLine": 60,
            "length": 2,
            "offset": 99,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Atr(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "D6B83AEDDA9F956207D4864A3F25BFA972F1A35274DCC0A6DBE95146E51036F7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'optInTimePeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 64,
          "offset": 52,
          "length": 2,
          "code": {
            "startLine": 63,
            "length": 2,
            "offset": 53,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AtrLookback(14);\r\n        ValidationHelper.VerifyData(results, outReal, outRange, lookback);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FCC83C8A2AB7A42AD3D78D2F19533CBBF36E66C4A0C1944F0F882ED3A827ACFB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 127,
          "offset": 45,
          "length": 2,
          "code": {
            "startLine": 126,
            "length": 2,
            "offset": 46,
            "surroundingCode": "\r\n        var staticResults = Dmx.Batch(bars, 14);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "6258837CE5EDFF50FA6A8B38B6597D2927ACFF17D540E282C895023558C24942"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 13,
          "offset": 57,
          "length": 2,
          "code": {
            "startLine": 12,
            "length": 2,
            "offset": 118,
            "surroundingCode": "        Assert.Throws<ArgumentException>(() => new Kama(0));\r\n        Assert.Throws<ArgumentException>(() => new Kama(10, fastPeriod: 0));\r\n        Assert.Throws<ArgumentException>(() => new Kama(10, slowPeriod: 0));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "5A32FBBA00351F5FD3C336E0D881F8C3AE79E7E9BE2DA78DB762D4B8A5BADCFC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 14,
          "offset": 57,
          "length": 2,
          "code": {
            "startLine": 13,
            "length": 2,
            "offset": 134,
            "surroundingCode": "        Assert.Throws<ArgumentException>(() => new Kama(10, fastPeriod: 0));\r\n        Assert.Throws<ArgumentException>(() => new Kama(10, slowPeriod: 0));\r\n        Assert.Throws<ArgumentException>(() => new Kama(10, fastPeriod: 10, slowPeriod: 5));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "42D337E063A3DEA48F168F87E6CE128734017C4CB41A63C329E7E550CB47C894"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 15,
          "offset": 57,
          "length": 2,
          "code": {
            "startLine": 14,
            "length": 2,
            "offset": 134,
            "surroundingCode": "        Assert.Throws<ArgumentException>(() => new Kama(10, slowPeriod: 0));\r\n        Assert.Throws<ArgumentException>(() => new Kama(10, fastPeriod: 10, slowPeriod: 5));\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "288DEA45C2E56B809930B6C64E967DBB44A3FDB876750F7374652F7847CDC778"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 17,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 16,
            "length": 2,
            "offset": 30,
            "surroundingCode": "\r\n        var kama = new Kama(10);\r\n        Assert.NotNull(kama);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "7B0DC2CF0CB6DC90CC34F9425EC5097ADFFED9E8E01174D50E56056FF6363BA8"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 24,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 23,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var kama = new Kama(10);\r\n        TValue result = kama.Update(new TValue(DateTime.UtcNow, 100));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "50BC9DA1519D3572E4DA1E23A881D4F4C46945C473CADB99F94A82D466025590"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 50,
          "offset": 38,
          "length": 2,
          "code": {
            "startLine": 49,
            "length": 2,
            "offset": 44,
            "surroundingCode": "    {\r\n        var kamaStreaming = new Kama(10);\r\n        var kamaBatch = new Kama(10);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "73E992694592A6DA2CD99E57B23AFEBC57680AD8BB9E0EABB1B1F16672B81DC4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 51,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 50,
            "length": 2,
            "offset": 76,
            "surroundingCode": "        var kamaStreaming = new Kama(10);\r\n        var kamaBatch = new Kama(10);\r\n        var gbm = new GBM(startPrice: 100.0, mu: 0.05, sigma: 0.2, seed: 42);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BB97A7A71F0728D19ED7F375163E991C80978C16561E2994DA5381C22D3C5A50"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 90,
          "offset": 40,
          "length": 2,
          "code": {
            "startLine": 89,
            "length": 2,
            "offset": 41,
            "surroundingCode": "\r\n        var instanceResults = new Kama(10).Update(series);\r\n        var staticResults = new double[series.Count];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "1FF125D4232366E7FC5038EB81484A36F8C54A9115A335A54F2B0174351EEE44"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 103,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 102,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var kama = new Kama(10);\r\n        var gbm = new GBM(startPrice: 100.0, mu: 0.05, sigma: 0.2, seed: 42);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "677EB619657B3DA35E56027FE65677B8595F8CB29B2DB77908624A9CCD75646D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 149,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 148,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var kama = new Kama(10);\r\n        kama.Update(new TValue(DateTime.UtcNow, 100));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "B543355D33E2DB6671D39E980CB52E92F549E5E55B25ECCE039AC6844F2E958C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 164,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 163,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var kama = new Kama(10);\r\n        for (int i = 0; i < 20; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "D19D0652873055EE760966B3AA2E5C0794FB5CFBEAE285AB4DA19BE5FD5EB85D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 176,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 175,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var kama = new Kama(10);\r\n        kama.Update(new TValue(DateTime.UtcNow, 100), isNew: true);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C3CBDEBAF1FE39A68057004D50CC873ED4CD1543E32B6E01F27B55211340DF60"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 184,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 183,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var kama = new Kama(10);\r\n        var gbm = new GBM(startPrice: 100.0, mu: 0.02, sigma: 0.1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "2523DDF45C8ACF829E1A68099967C84582F196002414EFAE27924836EDDCD876"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 21,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 20,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var mgdi = new Mgdi(14);\r\n        for (int i = 0; i < 14; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E37497E5B035031CEF0B0BFD3BBA2825E956D3A5896007F7FD426E7AB3E56095"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 33,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 32,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var mgdi = new Mgdi(14);\r\n        var data = _gbm.Fetch(100, DateTime.UtcNow.Ticks, TimeSpan.FromMinutes(1)).Close;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "5D317FA8CF3F34B4EA18E203CA92DB73684A97374954FAB9985D26D95FEC73D1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 56,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 55,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var mgdi = new Mgdi(14);\r\n        var data = _gbm.Fetch(100, DateTime.UtcNow.Ticks, TimeSpan.FromMinutes(1)).Close;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "5D317FA8CF3F34B4EA18E203CA92DB73684A97374954FAB9985D26D95FEC73D1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 65,
          "offset": 47,
          "length": 2,
          "code": {
            "startLine": 64,
            "length": 2,
            "offset": 56,
            "surroundingCode": "        \r\n        Mgdi.Calculate(spanInput, spanOutput, 14);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "08C8F40AD4951E9F2FE08C4D5197F3EA43D82364A21FC69F5DAAE9A878491ED9"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 76,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 75,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var mgdi = new Mgdi(14);\r\n        mgdi.Update(new TValue(DateTime.UtcNow.Ticks, 100.0));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "3460F060684678658E9DF5A3691B2664DCB327675207E913A4209DEE2D559192"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 103,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 102,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var mgdi = new Mgdi(14);\r\n        for (int i = 0; i < 20; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "898B26A315133E30E76407BB5BF68B16396A1029F3682483BBE3C65F5FB180DF"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 119,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 118,
            "length": 2,
            "offset": 35,
            "surroundingCode": "    {\r\n        var mgdi = new Mgdi(14);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "C3F6A33A8B3B4C0D5BA9A743167826AC542F514660BB6F19A2E3CC4D89C299BA"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 144,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 143,
            "length": 2,
            "offset": 73,
            "surroundingCode": "        var source = new TSeries();\r\n        var mgdi = new Mgdi(source, 14);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F963070DE37A92F00D45115C541F63C8A1D5F20060D9C0B9F79AB6B79E82B9E0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 43,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 42,
            "length": 2,
            "offset": 65,
            "surroundingCode": "        // Calculate QuanTAlib MGDI\r\n        var mgdi = new Mgdi(14, 0.6);\r\n        var series = _data.Data;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A9BD1225D0246B9663DD813E5CBB7F0A5D3A28D02A818CFDF5C48726A05556FD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 68,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 67,
            "length": 2,
            "offset": 75,
            "surroundingCode": "        // Calculate QuanTAlib MGDI Streaming\r\n        var mgdi = new Mgdi(14, 0.6);\r\n        var streamingResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E9A45FFCFE11BB56B0C9A4BD8352DCF46B952CBE831229239D465C1533B6DA29"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 109,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 108,
            "length": 2,
            "offset": 65,
            "surroundingCode": "        // Calculate QuanTAlib MGDI\r\n        var mgdi = new Mgdi(14, 0.6);\r\n        var series = _data.Data;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A9BD1225D0246B9663DD813E5CBB7F0A5D3A28D02A818CFDF5C48726A05556FD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 12,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 11,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 27,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 26,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 45,
          "offset": 32,
          "length": 2,
          "code": {
            "startLine": 44,
            "length": 2,
            "offset": 87,
            "surroundingCode": "        // Create new instance and feed up to modified\r\n        var super2 = new Super(10, 3.0);\r\n        for (int i = 0; i < 99; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4148DD29D4F7255180F93B49024F1B63FD57BA8AE1F6CE8327EB82B59B3F8DB4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 61,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 60,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 86,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 85,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 96,
          "offset": 32,
          "length": 2,
          "code": {
            "startLine": 95,
            "length": 2,
            "offset": 33,
            "surroundingCode": "\r\n        var super2 = new Super(10, 3.0);\r\n        var seriesResults = super2.Update(bars);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "1F0F2D53CD0149AEA5AA4B48AEF06EA1C60E93274BA559B575304E4025F4DB69"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 117,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 116,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 150,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 149,
            "length": 2,
            "offset": 40,
            "surroundingCode": "        \r\n        var super = new Super(10, 3.0);\r\n        var streamingResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4D154820BDA4A0AC632388D3A16BCFEB3418C7CCADCFEF04E7F0AAC8EBBAEA3C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 157,
          "offset": 47,
          "length": 2,
          "code": {
            "startLine": 156,
            "length": 2,
            "offset": 56,
            "surroundingCode": "        \r\n        var staticResults = Super.Batch(bars, 10, 3.0);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FFFEA98569E3132FEE271AC75C5F0BD0A09CD6E9AE2DD1A361FF480ACC92D72F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 176,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 175,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB07CAC8AE7EBAA8FD0E67BDDDCFBDB4AB5C8961C802391BA627930813FA7B12"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'period' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 36,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 35,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var super = new Super(10, 3.0);\r\n        var results = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "72DC5F18E19CE68FBD87A31165B7CC77CA5033837C207C469383ADB00F724645"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowLimit' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Tests.cs",
          "line": 56,
          "offset": 34,
          "length": 4,
          "code": {
            "startLine": 55,
            "length": 4,
            "offset": 40,
            "surroundingCode": "    {\r\n        var mama = new Mama(0.5, 0.05);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "83D05DFC1BC4061B09C565FE6857BAD64F07D1C7A5075F81C73061D29A904F0C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 12,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 11,
            "length": 2,
            "offset": 34,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 27,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 26,
            "length": 2,
            "offset": 34,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 45,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 44,
            "length": 2,
            "offset": 84,
            "surroundingCode": "        // Create new instance and feed up to modified\r\n        var ao2 = new Ao(5, 34);\r\n        for (int i = 0; i < 99; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "5A6F7BAFB061B941610BD881A8A4332EDEC3612F25FB106B3901DD66C79D54D2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 58,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 57,
            "length": 2,
            "offset": 34,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 83,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 82,
            "length": 2,
            "offset": 34,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 93,
          "offset": 29,
          "length": 2,
          "code": {
            "startLine": 92,
            "length": 2,
            "offset": 30,
            "surroundingCode": "\r\n        var ao2 = new Ao(5, 34);\r\n        var seriesResults = ao2.Update(bars);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "1244277E421EEA08F32E31B2C2A35E39CB94463C2E8F969E85E2D741101AE66C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 109,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 108,
            "length": 2,
            "offset": 37,
            "surroundingCode": "        \r\n        var ao = new Ao(5, 34);\r\n        var streamingResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E96329839CFB2D32A8FC3DB213A6D49D68CEBA73D3405EEBF23E7D1317C6AB2C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 116,
          "offset": 47,
          "length": 2,
          "code": {
            "startLine": 115,
            "length": 2,
            "offset": 56,
            "surroundingCode": "        \r\n        var staticResults = Ao.Batch(bars, 5, 34);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AD5F5C713520D5558889D52043379D8133A641FD402BD0EE332B8512B880DB7D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 128,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 127,
            "length": 2,
            "offset": 34,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FBBE899E80573225D088BD6A54789139508E4456CC37C736FD881A703CE9C8B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 145,
          "offset": 58,
          "length": 2,
          "code": {
            "startLine": 144,
            "length": 2,
            "offset": 64,
            "surroundingCode": "    {\r\n        Assert.Throws<ArgumentException>(() => new Ao(0, 34));\r\n        Assert.Throws<ArgumentException>(() => new Ao(5, 0));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "DB0EA53EA82EB03C48165F4D17A75D55A2247F61458A326DC0AA5124B094FBD6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 39,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 38,
            "length": 2,
            "offset": 34,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var results = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "291531036606A6DDF766BEAD3EA957E46B63845A7675D8D23D00E5D2CEC6D375"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 67,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 66,
            "length": 2,
            "offset": 34,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var results = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "291531036606A6DDF766BEAD3EA957E46B63845A7675D8D23D00E5D2CEC6D375"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 98,
          "offset": 28,
          "length": 2,
          "code": {
            "startLine": 97,
            "length": 2,
            "offset": 34,
            "surroundingCode": "    {\r\n        var ao = new Ao(5, 34);\r\n        var results = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "291531036606A6DDF766BEAD3EA957E46B63845A7675D8D23D00E5D2CEC6D375"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 26,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 25,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var apo = new Apo(12, 26);\r\n        var result = apo.Update(new TValue(DateTime.UtcNow, 100));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4F10171C5406F1C5503575519945E1817A724FC059701ED8FD8E529773F0B476"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 34,
          "offset": 31,
          "length": 2,
          "code": {
            "startLine": 33,
            "length": 2,
            "offset": 37,
            "surroundingCode": "    {\r\n        var apo = new Apo(12, 26);\r\n        for (int i = 0; i < 100; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "E39C96F7F8078D30A4C3EF692C2901D861C2C082764238CD1A5E7F488A97F178"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 52,
          "offset": 47,
          "length": 2,
          "code": {
            "startLine": 51,
            "length": 2,
            "offset": 48,
            "surroundingCode": "\r\n        var apoBatch = Apo.Batch(tSeries, 12, 26);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "818F642BBC8C364A20B683C2F4AABC1989B4C0A91CD1A05BE0062196FE87C676"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 54,
          "offset": 37,
          "length": 2,
          "code": {
            "startLine": 53,
            "length": 2,
            "offset": 38,
            "surroundingCode": "\r\n        var apoStream = new Apo(12, 26);\r\n        var streamResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "9D2A6D0CD77C68B42F73BA7B3367592077A80D10307700B5D652011EB80A889B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 28,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 27,
            "length": 2,
            "offset": 40,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        var result = adosc.Update(_bars[0]);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "A4A903EAE2DF9A347918759C66B7EF1A126C2E941FB32B4EC9487B6BF48AD253"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 36,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 35,
            "length": 2,
            "offset": 40,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        Assert.Equal(\"Adosc(3,10)\", adosc.Name);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "948DD5894410D667D092FFEB82079F6F4D9C9FC620E58B4465DD01BD214DEECE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 45,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 44,
            "length": 2,
            "offset": 40,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        adosc.Update(_bars[0], isNew: true);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "7125D92F50E1978EA2E59ED0D83802E49CADA3A4567880DB3550C1314B99526A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 54,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 53,
            "length": 2,
            "offset": 40,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        adosc.Update(_bars[0], isNew: true);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "7125D92F50E1978EA2E59ED0D83802E49CADA3A4567880DB3550C1314B99526A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 67,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 66,
            "length": 2,
            "offset": 40,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        adosc.Update(_bars[0]);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "F298073822DB1E5ECDE1DEE61E948435B6605552D33F6446B008C1C428639447"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 77,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 76,
            "length": 2,
            "offset": 40,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        for (int i = 0; i < 20; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "18AF5C1D0F1A447838A61A439006C7A8DA0670093AAC04D3B88C0D09EB81D000"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 88,
          "offset": 34,
          "length": 2,
          "code": {
            "startLine": 87,
            "length": 2,
            "offset": 40,
            "surroundingCode": "    {\r\n        var adosc = new Adosc(3, 10);\r\n        var batchResult = Adosc.Batch(_bars, 3, 10);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "D91ABE216315593B815D99F7CAF949BD8970DB88316B3E24D599142F40834AC4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 89,
          "offset": 49,
          "length": 2,
          "code": {
            "startLine": 88,
            "length": 2,
            "offset": 87,
            "surroundingCode": "        var adosc = new Adosc(3, 10);\r\n        var batchResult = Adosc.Batch(_bars, 3, 10);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "4473FB1BC80AF4582719B9CC4B0D63311E5DBD9C7D86A9B2F42946E4872FC0B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriod' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 98,
          "offset": 118,
          "length": 2,
          "code": {
            "startLine": 97,
            "length": 2,
            "offset": 168,
            "surroundingCode": "        var spanOutput = new double[_bars.Count];\r\n        Adosc.Calculate(_bars.High.Values, _bars.Low.Values, _bars.Close.Values, _bars.Volume.Values, spanOutput, 3, 10);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "050AEE1AAEEA7794863632A459DC58F1254FDEF57865F68D4185B6FC4108484B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'slowPeriods' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 48,
          "offset": 64,
          "length": 2,
          "code": {
            "startLine": 47,
            "length": 2,
            "offset": 65,
            "surroundingCode": "\r\n        var skenderResults = _data.SkenderQuotes.GetAwesome(5, 34).ToList();\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "BE2FF7A1A3B2009733F0C8A33903D8C9434D6D6AF1229C1BDFBC96C6E2CDEE36"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 12,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 11,
            "length": 3,
            "offset": 34,
            "surroundingCode": "    {\r\n        var t3 = new T3(5, 0.7);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AC9F789CE2AD63EB3119FD856C4049AAD1EACBC865AF72716E4963901A1DE190"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 27,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 26,
            "length": 3,
            "offset": 34,
            "surroundingCode": "    {\r\n        var t3 = new T3(5, 0.7);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AC9F789CE2AD63EB3119FD856C4049AAD1EACBC865AF72716E4963901A1DE190"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 44,
          "offset": 30,
          "length": 3,
          "code": {
            "startLine": 43,
            "length": 3,
            "offset": 85,
            "surroundingCode": "        // Create new instance and feed up to modified\r\n        var t3_2 = new T3(5, 0.7);\r\n        for (int i = 0; i < 99; i++)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "FAB3633CB83EC4413C069A5159328CF1FA7EB01201CD5882C662CAD6444250DC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 57,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 56,
            "length": 3,
            "offset": 34,
            "surroundingCode": "    {\r\n        var t3 = new T3(5, 0.7);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AC9F789CE2AD63EB3119FD856C4049AAD1EACBC865AF72716E4963901A1DE190"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 82,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 81,
            "length": 3,
            "offset": 34,
            "surroundingCode": "    {\r\n        var t3 = new T3(5, 0.7);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AC9F789CE2AD63EB3119FD856C4049AAD1EACBC865AF72716E4963901A1DE190"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 93,
          "offset": 30,
          "length": 3,
          "code": {
            "startLine": 92,
            "length": 3,
            "offset": 31,
            "surroundingCode": "\r\n        var t3_2 = new T3(5, 0.7);\r\n        var seriesResults = t3_2.Update(series);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "2610D95E2BED08AD792BCB2997C9FBC098732CF3514164904E8D52A96CB05EB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 110,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 109,
            "length": 3,
            "offset": 37,
            "surroundingCode": "        \r\n        var t3 = new T3(5, 0.7);\r\n        var streamingResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "B05DFB9B3FB71E1AB7930FE9C6A848C7FCCDA0AB37FD7174130CEF627E1868BC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 117,
          "offset": 48,
          "length": 3,
          "code": {
            "startLine": 116,
            "length": 3,
            "offset": 57,
            "surroundingCode": "        \r\n        var batchResults = T3.Batch(series, 5, 0.7);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "941C2DBF6EAA5E0F493CF82550EC25B86E1832BDAC979DC2CB56E0F3D2113CA7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 133,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 132,
            "length": 3,
            "offset": 37,
            "surroundingCode": "        \r\n        var t3 = new T3(5, 0.7);\r\n        var streamingResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "B05DFB9B3FB71E1AB7930FE9C6A848C7FCCDA0AB37FD7174130CEF627E1868BC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 141,
          "offset": 49,
          "length": 3,
          "code": {
            "startLine": 140,
            "length": 3,
            "offset": 101,
            "surroundingCode": "        var spanResults = new double[series.Count];\r\n        T3.Batch(series.Values, spanResults, 5, 0.7);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "EEE41FE1E69685DE59C9041678111613062BB7FE68673A1D286D5490A37CE739"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant argument with default value",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "The parameter 'vfactor' has the same default value",
      "detailsInfo": "Corresponding parameter is optional and has the same value, so the argument could be omitted",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 152,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 151,
            "length": 3,
            "offset": 34,
            "surroundingCode": "    {\r\n        var t3 = new T3(5, 0.7);\r\n        var gbm = new GBM();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantArgumentDefaultValue"
      },
      "hash": "AC9F789CE2AD63EB3119FD856C4049AAD1EACBC865AF72716E4963901A1DE190"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.cs",
          "line": 110,
          "offset": 21,
          "length": 3,
          "code": {
            "startLine": 109,
            "length": 3,
            "offset": 22,
            "surroundingCode": "\r\n        double adxr = 0;\r\n        // We calculate ADXR even if not fully hot, as long as we have history"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "C0A19AABD0079C3FBD158BB5FBB6A150DCAD5FBB36014856ECD9DE0C9FF04399"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.cs",
          "line": 75,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 74,
            "length": 3,
            "offset": 52,
            "surroundingCode": "        double dmMinusRaw = 0;\n        double trRaw = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "20E6DA08650A1763B071CCC1580A281DF4B83DD059F2DFDEFFD8E466BA3CC1FC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.cs",
          "line": 226,
          "offset": 24,
          "length": 3,
          "code": {
            "startLine": 225,
            "length": 3,
            "offset": 24,
            "surroundingCode": "\n            double sum = 0;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "97BC24803AD3B5132A851D27A2E413A1D85F1E461782CBB27CC2C23E6E921578"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 294,
          "offset": 19,
          "length": 3,
          "code": {
            "startLine": 293,
            "length": 3,
            "offset": 19,
            "surroundingCode": "\n        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "D164EC41285CC90878AFA04C0BA6B83E0FE58602F49D0B0A0ADDEF8BB5DBD560"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 294,
          "offset": 27,
          "length": 3,
          "code": {
            "startLine": 293,
            "length": 3,
            "offset": 27,
            "surroundingCode": "\n        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "D164EC41285CC90878AFA04C0BA6B83E0FE58602F49D0B0A0ADDEF8BB5DBD560"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 294,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 293,
            "length": 3,
            "offset": 35,
            "surroundingCode": "\n        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "D164EC41285CC90878AFA04C0BA6B83E0FE58602F49D0B0A0ADDEF8BB5DBD560"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 294,
          "offset": 43,
          "length": 3,
          "code": {
            "startLine": 293,
            "length": 3,
            "offset": 43,
            "surroundingCode": "\n        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "D164EC41285CC90878AFA04C0BA6B83E0FE58602F49D0B0A0ADDEF8BB5DBD560"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 311,
          "offset": 31,
          "length": 3,
          "code": {
            "startLine": 310,
            "length": 3,
            "offset": 31,
            "surroundingCode": "\n                double change = 0;\n                change = (count == bufSize) ? Math.Abs(val - buffer[bufferIdx]) : Math.Abs(val - buffer[0]);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "D3212AADAA192C3CE221594C15DF096AD6C9D44C5540DBD8753D431149847AED"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 261,
          "offset": 33,
          "length": 3,
          "code": {
            "startLine": 260,
            "length": 3,
            "offset": 59,
            "surroundingCode": "        // State variables\n        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "13F8B6A0FF248FD2CB72F158FB792CC6D1259BB29879AC23CCA0DEA12BFB24DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 262,
          "offset": 19,
          "length": 3,
          "code": {
            "startLine": 261,
            "length": 3,
            "offset": 66,
            "surroundingCode": "        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "568CAAAD34E2741D9EFF41FBB9ACDEF17CEF98B9C720DD7DA2E075DD3A0E274B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 262,
          "offset": 27,
          "length": 3,
          "code": {
            "startLine": 261,
            "length": 3,
            "offset": 74,
            "surroundingCode": "        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "568CAAAD34E2741D9EFF41FBB9ACDEF17CEF98B9C720DD7DA2E075DD3A0E274B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 262,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 261,
            "length": 3,
            "offset": 82,
            "surroundingCode": "        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "568CAAAD34E2741D9EFF41FBB9ACDEF17CEF98B9C720DD7DA2E075DD3A0E274B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 262,
          "offset": 43,
          "length": 3,
          "code": {
            "startLine": 261,
            "length": 3,
            "offset": 90,
            "surroundingCode": "        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "568CAAAD34E2741D9EFF41FBB9ACDEF17CEF98B9C720DD7DA2E075DD3A0E274B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 86,
          "offset": 26,
          "length": 3,
          "code": {
            "startLine": 85,
            "length": 3,
            "offset": 27,
            "surroundingCode": "\r\n            double sumUp = 0;\r\n            double sumDown = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "30575B315C60B8C72CB24A8CDC3FDAE413700D4245D08389189AB075D67A4A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Assignment is not used",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Value assigned is not used in any execution path",
      "detailsInfo": "Value assigned to a local variable or parameter is not used in any execution path",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 87,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 86,
            "length": 3,
            "offset": 58,
            "surroundingCode": "            double sumUp = 0;\r\n            double sumDown = 0;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantAssignment"
      },
      "hash": "05CA26D46F178B01BDA6EFE513C821C0B62649F37C5F0D4E39BF6418C6251418"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant cast",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type cast is redundant",
      "detailsInfo": "Type cast can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 178,
          "offset": 69,
          "length": 7,
          "code": {
            "startLine": 177,
            "length": 7,
            "offset": 129,
            "surroundingCode": "        // Index 2 should throw ArgumentOutOfRangeException\r\n        Assert.Throws<ArgumentOutOfRangeException>(() => _ = buffer[(Index)2]);\r\n        Assert.Throws<ArgumentOutOfRangeException>(() => _ = buffer[(Index)10]);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantCast"
      },
      "hash": "28F3AD616C069D4ED487BE4860278A13E04BE6D3E433C40C79BF27BECCBA4797"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant cast",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type cast is redundant",
      "detailsInfo": "Type cast can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 179,
          "offset": 69,
          "length": 7,
          "code": {
            "startLine": 178,
            "length": 7,
            "offset": 149,
            "surroundingCode": "        Assert.Throws<ArgumentOutOfRangeException>(() => _ = buffer[(Index)2]);\r\n        Assert.Throws<ArgumentOutOfRangeException>(() => _ = buffer[(Index)10]);\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantCast"
      },
      "hash": "F261E3A2D17BCF1A848AD4259949FC53679F861A492C9856A5994A51E0F83270"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant cast",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type cast is redundant",
      "detailsInfo": "Type cast can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 525,
          "offset": 16,
          "length": 7,
          "code": {
            "startLine": 524,
            "length": 7,
            "offset": 17,
            "surroundingCode": "\r\n        buffer[(Index)1] = 25.0; // Change 20.0 to 25.0\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantCast"
      },
      "hash": "77BDA83DC9C8F614391A5904A3608D72E62EFD9C089784747841B075CD903634"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant cast",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type cast is redundant",
      "detailsInfo": "Type cast can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 678,
          "offset": 16,
          "length": 7,
          "code": {
            "startLine": 677,
            "length": 7,
            "offset": 17,
            "surroundingCode": "\r\n        buffer[(Index)0] = 25.0; // Change oldest (20.0) to 25.0\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantCast"
      },
      "hash": "4425786D38DE654519709C1B835CCE0F8149133E57983CC76E9B6052F60434E9"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant cast",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Type cast is redundant",
      "detailsInfo": "Type cast can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.cs",
          "line": 349,
          "offset": 17,
          "length": 22,
          "code": {
            "startLine": 348,
            "length": 22,
            "offset": 51,
            "surroundingCode": "        int len = end - start + 1;\n        return ((ReadOnlySpan<double>)_sorted.AsSpan(start, len)).SumSIMD() / len;\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantCast"
      },
      "hash": "83AC1DA8B731E09EA7651309B64062F7380AEB8C87C7F2E680435047B2D334E4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 63,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 62,
            "length": 6,
            "offset": 24,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Adx(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "F1A8BA619B056D880EAE14A427CC28F805402D4521B92AFFDD260FEAEBE43DD2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 66,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 65,
            "length": 6,
            "offset": 25,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AdxLookback(14);\r\n        ValidationHelper.VerifyData(results, outReal, outRange, lookback);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "46EEF42D8526BBE567D48FA350AF59011ACC24A51FB1516414031C1E4CE34564"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 88,
          "offset": 22,
          "length": 6,
          "code": {
            "startLine": 87,
            "length": 6,
            "offset": 23,
            "surroundingCode": "\r\n        var adxInd = Tulip.Indicators.adx;\r\n        double[][] outputs = { new double[hData.Length - adxInd.Start(options)] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "4B778104DC9D0EB9695BDA253137F406C34581F1020CA730C2142A309858C91D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 42,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 41,
            "length": 6,
            "offset": 24,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Adxr(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "889E5473CE4B074E5E27F77DB353A2BFA52496466871FC234FEB3A6620DAEAB3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 45,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 44,
            "length": 6,
            "offset": 25,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AdxrLookback(14);\r\n        ValidationHelper.VerifyData(results, outReal, outRange, lookback);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "728141C71A85196E0CC1E31659749C0109085FED7619A4DDA9678A6E47659809"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 67,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 66,
            "length": 6,
            "offset": 24,
            "surroundingCode": "\r\n        var adxrInd = Tulip.Indicators.adxr;\r\n        double[][] outputs = { new double[hData.Length - adxrInd.Start(options)] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "C07E5F53EB2F0B4960A6C865E339FC0DD587C6B18321FBDDE952951266D96793"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 79,
          "offset": 30,
          "length": 6,
          "code": {
            "startLine": 78,
            "length": 6,
            "offset": 31,
            "surroundingCode": "\r\n        var tulipIndicator = Tulip.Indicators.ao;\r\n        double[][] inputs = { high, low };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "3E48ED6351CCC2FBF07624CAAF408B1142826A80D15EDA80736BE37904291B84"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 48,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 47,
            "length": 6,
            "offset": 49,
            "surroundingCode": "        // MAType 1 = EMA\r\n        var retCode = TALib.Functions.Apo<double>(input, 0..^0, output, out var outRange, fastPeriod, slowPeriod, TALib.Core.MAType.Ema);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "B808E306D0EBFA86019F3C5019976F0BBBC6288512E2A58CE1F55AE9A50D5CDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 48,
          "offset": 115,
          "length": 6,
          "code": {
            "startLine": 47,
            "length": 6,
            "offset": 141,
            "surroundingCode": "        // MAType 1 = EMA\r\n        var retCode = TALib.Functions.Apo<double>(input, 0..^0, output, out var outRange, fastPeriod, slowPeriod, TALib.Core.MAType.Ema);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "B808E306D0EBFA86019F3C5019976F0BBBC6288512E2A58CE1F55AE9A50D5CDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 49,
          "offset": 22,
          "length": 6,
          "code": {
            "startLine": 48,
            "length": 6,
            "offset": 160,
            "surroundingCode": "        var retCode = TALib.Functions.Apo<double>(input, 0..^0, output, out var outRange, fastPeriod, slowPeriod, TALib.Core.MAType.Ema);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "13F91A3A5C1EB8C7A248B1A800F54CE6BC6278A9B070DCB33C6C14C2413DD2C7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 81,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 80,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n        var apoIndicator = Tulip.Indicators.apo;\r\n        double[][] inputs = { input };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "EB92CCCE4CDF58429B08659897A89906E3F17E9008FD94C19E3A7B8F17BACC9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 77,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 76,
            "length": 6,
            "offset": 57,
            "surroundingCode": "        // TA-Lib Aroon (Up/Down)\r\n        var retCode = TALib.Functions.Aroon(hData, lData, 0..^0, outAroonDown, outAroonUp, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "4B78120C51CDBB4BEAA7F3795F717B073C727BD6F4E840B089AD72356EA09B86"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 81,
          "offset": 26,
          "length": 6,
          "code": {
            "startLine": 80,
            "length": 6,
            "offset": 53,
            "surroundingCode": "        // TA-Lib AroonOsc\r\n        var retCodeOsc = TALib.Functions.AroonOsc(hData, lData, 0..^0, outAroonOsc, out var outRangeOsc, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCodeOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "349AC6A7049F42762F7BF467EC05040D05334143268213585BDB0DE238AD9E45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 84,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 83,
            "length": 6,
            "offset": 25,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AroonLookback(14);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "C011AC0E0BE574D5E60007EED0C0882F616E42FBE5E2D156D4C2A5F459C2B0C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 118,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 117,
            "length": 6,
            "offset": 93,
            "surroundingCode": "        // Tulip Aroon (Down, Up) - Note: Tulip returns Down then Up\r\n        var aroonInd = Tulip.Indicators.aroon;\r\n        double[][] outputs = { new double[hData.Length - 14], new double[hData.Length - 14] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "040E1EBE359086530D0239839C18E66648572AA8174114C6F29E0A440D0DE2AC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 125,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 124,
            "length": 6,
            "offset": 53,
            "surroundingCode": "        // Tulip AroonOsc\r\n        var aroonOscInd = Tulip.Indicators.aroonosc;\r\n        double[][] outputsOsc = { new double[hData.Length - 14] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "20115D3F6FADFB2EFE471B9C2DDAABC2880FBC2C23B5A8AEA8D04AAB8A753ED9"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 64,
          "offset": 26,
          "length": 6,
          "code": {
            "startLine": 63,
            "length": 6,
            "offset": 53,
            "surroundingCode": "        // TA-Lib AroonOsc\r\n        var retCodeOsc = TALib.Functions.AroonOsc(hData, lData, 0..^0, outAroonOsc, out var outRangeOsc, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCodeOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "349AC6A7049F42762F7BF467EC05040D05334143268213585BDB0DE238AD9E45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 67,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 66,
            "length": 6,
            "offset": 25,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AroonLookback(14);\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "C011AC0E0BE574D5E60007EED0C0882F616E42FBE5E2D156D4C2A5F459C2B0C2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 91,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 90,
            "length": 6,
            "offset": 53,
            "surroundingCode": "        // Tulip AroonOsc\r\n        var aroonOscInd = Tulip.Indicators.aroonosc;\r\n        double[][] outputsOsc = { new double[hData.Length - 14] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "20115D3F6FADFB2EFE471B9C2DDAABC2880FBC2C23B5A8AEA8D04AAB8A753ED9"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 56,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 55,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib ALMA (batch TSeries)\r\n            var alma = new global::QuanTAlib.Alma(period, offset, sigma);\r\n            var qResult = alma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "D862CF01B0183E669DFCC7EBF73E10352B857B05B039E4E703CE2857F220CD4B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 78,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 77,
            "length": 18,
            "offset": 80,
            "surroundingCode": "            // Calculate QuanTAlib ALMA (streaming)\r\n            var alma = new global::QuanTAlib.Alma(period, offset, sigma);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "75EF7292296A6C2FB753A14FC7FEA41E5152E79E3A055DAAE55963BFCA59702B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 108,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 107,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Alma.Calculate(sourceData, qOutput.AsSpan(), period, offset, sigma);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "A344EAF1F3F599417D453313604C78A84CB2682824851568FA167DE0F5FACA00"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 145,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 144,
            "length": 18,
            "offset": 71,
            "surroundingCode": "            // 2. Calculate QuanTAlib ALMA\r\n            var alma = new global::QuanTAlib.Alma(period, offset, sigma);\r\n            var qResult = alma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "460B5415C439EDE305C9D0056F7A17EC99F2B2C98F9F181A08D764B0FB8E6485"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 160,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 159,
            "length": 6,
            "offset": 24,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Wma<double>(input, 0..^0, output, out var outRange, period);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "8B67921586AE08B863F2D9BC6467F6EA77981916EE35FA3C957FE648C92C76E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 161,
          "offset": 22,
          "length": 6,
          "code": {
            "startLine": 160,
            "length": 6,
            "offset": 121,
            "surroundingCode": "        var retCode = TALib.Functions.Wma<double>(input, 0..^0, output, out var outRange, period);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "8ADA61C4D3BD9594CCBDFC7840D0E6C127FF9B929A6B31A027804BFE29BBC280"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 176,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 175,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n        var wmaIndicator = Tulip.Indicators.wma;\r\n        double[][] inputs = { input };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "F964B745E883A37E7FEF45751E9C0CBA160A0236D02F5A63D9CB98A716A88D0F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 45,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 44,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib DEMA (batch TSeries)\r\n            var dema = new global::QuanTAlib.Dema(period);\r\n            var qResult = dema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "CFBB14EF7E40E46A444C07B849089A40A5884BC7571791C3F75D13451144CB22"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 69,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 68,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib DEMA (batch TSeries)\r\n            var dema = new global::QuanTAlib.Dema(period);\r\n            var qResult = dema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "CFBB14EF7E40E46A444C07B849089A40A5884BC7571791C3F75D13451144CB22"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 73,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 72,
            "length": 6,
            "offset": 64,
            "surroundingCode": "            // Calculate TA-Lib DEMA\r\n            var retCode = TALib.Functions.Dema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "98CCEB47467C42BD4C512A91010D2A97179A8EC246BABE31FE9BF95606A82AB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 76,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 75,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.DemaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "DA6954401D5E78E3E6B5C95A2BB13279FD477133A3C1120D7E4A2462A2768559"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 95,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 94,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib DEMA (batch TSeries)\r\n            var dema = new global::QuanTAlib.Dema(period);\r\n            var qResult = dema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "CFBB14EF7E40E46A444C07B849089A40A5884BC7571791C3F75D13451144CB22"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 99,
          "offset": 33,
          "length": 6,
          "code": {
            "startLine": 98,
            "length": 6,
            "offset": 69,
            "surroundingCode": "            // Calculate Tulip DEMA\r\n            var demaIndicator = Tulip.Indicators.dema;\r\n            double[][] inputs = { tData };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "9D720EF87D592A9EBC1C7A958CE4E0BFC25FFD460ABDA058C696B4CBC955B62D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 141,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 140,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Dema.Calculate(sourceData.AsSpan(), qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "AEED6A5C595B17548241655F53D5C8D40D61C8C934A0A8078B779212A17E8336"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 144,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 143,
            "length": 6,
            "offset": 64,
            "surroundingCode": "            // Calculate TA-Lib DEMA\r\n            var retCode = TALib.Functions.Dema<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "6915011F993EEB5DEE990176BEE5CCF924D87586266947807E29E1E528780D6A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 147,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 146,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.DemaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "DA6954401D5E78E3E6B5C95A2BB13279FD477133A3C1120D7E4A2462A2768559"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 102,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 101,
            "length": 6,
            "offset": 59,
            "surroundingCode": "            // Tulip WMA 1\r\n            var wmaIndicator = Tulip.Indicators.wma;\r\n            double[][] inputs1 = { _testData.RawData.ToArray() };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "D2C3C5C49F2B097F5115CD655144BA4BDD7237AF7DB8164E42534F50DD5B9EEC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 163,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 162,
            "length": 6,
            "offset": 100,
            "surroundingCode": "            double[] wma1Output = new double[_testData.RawData.Length];\r\n            var retCode1 = TALib.Functions.Wma(_testData.RawData.Span, 0..^0, wma1Output, out var outRange1, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "32AABEF5C100106173C84597AFCF10E30E613537FD56C8A0DCE1ED84DE905A7D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 173,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 172,
            "length": 6,
            "offset": 92,
            "surroundingCode": "            double[] dwmaOutput = new double[wma1Valid.Length];\r\n            var retCode2 = TALib.Functions.Wma(wma1Valid, 0..^0, dwmaOutput, out _, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "C26369E0F73FFCF41CDF7CECFE4C8AAD13254EEE3A27EFE166B618D3152D6722"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 46,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 45,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib EMA (batch TSeries)\r\n            var ema = new global::QuanTAlib.Ema(period);\r\n            var qResult = ema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "5F948FC2215C3ED54C46CE034CA22973A968E2D7E94B94015A59660229AD7A8C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 66,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 65,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib EMA (streaming)\r\n            var ema = new global::QuanTAlib.Ema(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "387AA0E78DC25CE01114A4C24E865C8D670FD4FAC42F9023FC4B0728550A51C5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 94,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 93,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Ema.Batch(sourceData.AsSpan(), qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "948060A191F9B40781C486C7E51F873BC9EB9B2CC3B4A5E4B2F116598A4458B6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 117,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 116,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib EMA (batch TSeries)\r\n            var ema = new global::QuanTAlib.Ema(period);\r\n            var qResult = ema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "5F948FC2215C3ED54C46CE034CA22973A968E2D7E94B94015A59660229AD7A8C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 121,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 120,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "7BE60DDBCE8CD4CE197E5AB7797E010358E393CD2998A1C3910CC196049A2A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 124,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 123,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.EmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "7A308719C55BEE577B2AE75AED9C4C3BB0B37754776F14E36A8528A2BA9EABB6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 144,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 143,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib EMA (streaming)\r\n            var ema = new global::QuanTAlib.Ema(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "387AA0E78DC25CE01114A4C24E865C8D670FD4FAC42F9023FC4B0728550A51C5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 152,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 151,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "7BE60DDBCE8CD4CE197E5AB7797E010358E393CD2998A1C3910CC196049A2A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 155,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 154,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.EmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "7A308719C55BEE577B2AE75AED9C4C3BB0B37754776F14E36A8528A2BA9EABB6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 176,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 175,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Ema.Batch(sourceData.AsSpan(), qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "948060A191F9B40781C486C7E51F873BC9EB9B2CC3B4A5E4B2F116598A4458B6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 179,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 178,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "1F4AB40D8F93E142626C0CDFADBB35F295E4B3A80BB3EC9A626EA638EBFFC626"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 182,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 181,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.EmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "7A308719C55BEE577B2AE75AED9C4C3BB0B37754776F14E36A8528A2BA9EABB6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 201,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 200,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib EMA (batch TSeries)\r\n            var ema = new global::QuanTAlib.Ema(period);\r\n            var qResult = ema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "5F948FC2215C3ED54C46CE034CA22973A968E2D7E94B94015A59660229AD7A8C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 205,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 204,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip EMA\r\n            var emaIndicator = Tulip.Indicators.ema;\r\n            double[][] inputs = { tData };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "6D53F384F77E6AF9FF616B6AD5442AF6A5C88AEF41DF14EAC024BF74BE908CC9"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 230,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 229,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib EMA (streaming)\r\n            var ema = new global::QuanTAlib.Ema(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "387AA0E78DC25CE01114A4C24E865C8D670FD4FAC42F9023FC4B0728550A51C5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 238,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 237,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip EMA\r\n            var emaIndicator = Tulip.Indicators.ema;\r\n            double[][] inputs = { tData };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "6D53F384F77E6AF9FF616B6AD5442AF6A5C88AEF41DF14EAC024BF74BE908CC9"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 264,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 263,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Ema.Batch(sourceData.AsSpan(), qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "948060A191F9B40781C486C7E51F873BC9EB9B2CC3B4A5E4B2F116598A4458B6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 267,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 266,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip EMA\r\n            var emaIndicator = Tulip.Indicators.ema;\r\n            double[][] inputs = { sourceData };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "95E5B9E3340CA71609D5048D58258B2FF8DB6A3EB6B7AAA82B91EB75F82FACE4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 300,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 299,
            "length": 18,
            "offset": 66,
            "surroundingCode": "            // Calculate QuanTAlib EMA\r\n            var ema = new global::QuanTAlib.Ema(period);\r\n            var qResult = ema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "6A5B781E13F98C19FAD1138E07CFDE1A2D55516EA463FEB491AD5E0016430346"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 50,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 49,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib HMA (batch TSeries)\r\n            var hma = new global::QuanTAlib.Hma(period);\r\n            var qResult = hma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "77AF46DF5DCE56B3F5B59C067EA29400E7B1F9FE7181F01AABEC22C102E52536"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 73,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 72,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib HMA (batch TSeries)\r\n            var hma = new global::QuanTAlib.Hma(period);\r\n            var qResult = hma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "77AF46DF5DCE56B3F5B59C067EA29400E7B1F9FE7181F01AABEC22C102E52536"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 77,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 76,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip HMA\r\n            var hmaIndicator = Tulip.Indicators.hma;\r\n            double[][] inputs = { tData };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "4A5F9C17DEC56FAE7CD1293B69760BD065823DC70B2D126EFBC77EA966B6F17F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 117,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 116,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib HMA (streaming)\r\n            var hma = new global::QuanTAlib.Hma(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "427672BBE1F9784BF9948F9B1EBE596D13485C8DA9D4BDB76A49E556B31C7CB2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 145,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 144,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Hma.Calculate(sourceData.AsSpan(), qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "A4BFE1E565F2AB3E50BD729BBDE5CB05CB82301C05B9D79C65135410C36291E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 42,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 41,
            "length": 6,
            "offset": 70,
            "surroundingCode": "        var output = new double[input.Length];\r\n        var retCode = TALib.Functions.HtTrendline(input, 0..^0, output, out var outRange);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "FAFB1062627FC91D10BA383C0057A1B00F6C188DDA9F804FB70138D87054E634"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 33,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 32,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib KAMA (batch TSeries)\r\n            var kama = new global::QuanTAlib.Kama(period, fastPeriod, slowPeriod);\r\n            var qResult = kama.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "25DDC37C12B575C41BE5BDF1A34A778EA47EA34C7F0C24AA1AD4439CDE444369"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 55,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 54,
            "length": 18,
            "offset": 80,
            "surroundingCode": "            // Calculate QuanTAlib KAMA (streaming)\r\n            var kama = new global::QuanTAlib.Kama(period, fastPeriod, slowPeriod);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "224A98505A74BC0541C75E54E245C53937F4C98D4161F07F01D29A306369B992"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 82,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 81,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            double[] qOutput = new double[_testData.RawData.Length];\r\n            global::QuanTAlib.Kama.Calculate(_testData.RawData.Span, qOutput.AsSpan(), period, fastPeriod, slowPeriod);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "F750D6A7F494D65CA5B1CCAD8848FBE7E8508F4CFBE929AAF9C587D35EAC708C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 114,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 113,
            "length": 18,
            "offset": 68,
            "surroundingCode": "            // Calculate QuanTAlib KAMA\r\n            var kama = new global::QuanTAlib.Kama(period, fastPeriod, slowPeriod);\r\n            var qResult = kama.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "DB1C99FE72B52DB5DE115FD375642AEAADFDBCE3E7DBD102B73F75CC52C7DC1E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 31,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 30,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib LSMA (batch TSeries)\r\n            var lsma = new global::QuanTAlib.Lsma(period);\r\n            var qResult = lsma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "16FFDEEDCA4237A2CB348F8DF23BA06DF266AE17C0BCAA3CACBD8870128678B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 51,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 50,
            "length": 18,
            "offset": 80,
            "surroundingCode": "            // Calculate QuanTAlib LSMA (streaming)\r\n            var lsma = new global::QuanTAlib.Lsma(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "3991A8EF920DFE384B1EE02A25F1B2D0FFF23F79024E80A0C2DFD3157A890357"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 76,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 75,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            double[] qOutput = new double[_testData.RawData.Length];\r\n            global::QuanTAlib.Lsma.Calculate(_testData.RawData.Span, qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "B20315D63A21367260B27297810AAD68DAFE5785EAF5AF292BEF43B44C83B311"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Validation.Tests.cs",
          "line": 41,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 40,
            "length": 18,
            "offset": 68,
            "surroundingCode": "            // Calculate QuanTAlib PWMA\r\n            var pwma = new global::QuanTAlib.Pwma(period);\r\n            var qResult = pwma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "B35226FBA81BE646A62BDDB61926881961B5CD35733E54B973E62E884F09574B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 46,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 45,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib SMA (batch TSeries)\r\n            var sma = new global::QuanTAlib.Sma(period);\r\n            var qResult = sma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "53C21BB27F6F3E37BFD9B94E1E06FC35E392972A5F068054D619D57DE51F1BD6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 66,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 65,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib SMA (streaming)\r\n            var sma = new global::QuanTAlib.Sma(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "0C1D407D0BA492ED2BE67660ED15A9638CC06677504CB718D14A133EFFDD7658"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 94,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 93,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Sma.Batch(sourceData.AsSpan(), qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "E4ECC820B74B412DC8B0F4F3650A51126F0CA46E491FF3CCD19DF52771C8C1B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 117,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 116,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib SMA (batch TSeries)\r\n            var sma = new global::QuanTAlib.Sma(period);\r\n            var qResult = sma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "53C21BB27F6F3E37BFD9B94E1E06FC35E392972A5F068054D619D57DE51F1BD6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 121,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 120,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "C6BA4E3D48CAE9EC59CE51E0AD080B495F052C9863E16ABA91EC284449A54339"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 124,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 123,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.SmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "1C7906859B439114958EEFCDFCEBF625ED7194B4D4A335B083F2BEE295C9C3E5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 144,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 143,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib SMA (streaming)\r\n            var sma = new global::QuanTAlib.Sma(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "0C1D407D0BA492ED2BE67660ED15A9638CC06677504CB718D14A133EFFDD7658"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 152,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 151,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "C6BA4E3D48CAE9EC59CE51E0AD080B495F052C9863E16ABA91EC284449A54339"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 155,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 154,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.SmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "1C7906859B439114958EEFCDFCEBF625ED7194B4D4A335B083F2BEE295C9C3E5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 176,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 175,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Sma.Batch(sourceData.AsSpan(), qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "E4ECC820B74B412DC8B0F4F3650A51126F0CA46E491FF3CCD19DF52771C8C1B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 179,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 178,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "22CA7330195EBC9EB9E200FD9F502C453A69FD3CEB007331BF724324BBBCD2AE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 182,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 181,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.SmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "1C7906859B439114958EEFCDFCEBF625ED7194B4D4A335B083F2BEE295C9C3E5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 201,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 200,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib SMA (batch TSeries)\r\n            var sma = new global::QuanTAlib.Sma(period);\r\n            var qResult = sma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "53C21BB27F6F3E37BFD9B94E1E06FC35E392972A5F068054D619D57DE51F1BD6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 205,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 204,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip SMA\r\n            var smaIndicator = Tulip.Indicators.sma;\r\n            double[][] inputs = { tData };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "2CBA0D815F8B471A5D6E7A4B2F827CBE1C0531000DFB0270584E17E5EA7F6CF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 231,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 230,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib SMA (streaming)\r\n            var sma = new global::QuanTAlib.Sma(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "0C1D407D0BA492ED2BE67660ED15A9638CC06677504CB718D14A133EFFDD7658"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 239,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 238,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip SMA\r\n            var smaIndicator = Tulip.Indicators.sma;\r\n            double[][] inputs = { tData };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "2CBA0D815F8B471A5D6E7A4B2F827CBE1C0531000DFB0270584E17E5EA7F6CF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 266,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 265,
            "length": 18,
            "offset": 75,
            "surroundingCode": "            double[] qOutput = new double[sourceData.Length];\r\n            global::QuanTAlib.Sma.Batch(sourceData.AsSpan(), qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "E4ECC820B74B412DC8B0F4F3650A51126F0CA46E491FF3CCD19DF52771C8C1B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 269,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 268,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip SMA\r\n            var smaIndicator = Tulip.Indicators.sma;\r\n            double[][] inputs = { sourceData };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "626FFEB5F3592A99E713AF0DB1BD9A26C76D0DC2153A6B86C32D6D7CC77F9289"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 304,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 303,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib SMA (batch TSeries)\r\n            var sma = new global::QuanTAlib.Sma(period);\r\n            var qResult = sma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "53C21BB27F6F3E37BFD9B94E1E06FC35E392972A5F068054D619D57DE51F1BD6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 34,
          "offset": 26,
          "length": 18,
          "code": {
            "startLine": 33,
            "length": 18,
            "offset": 64,
            "surroundingCode": "            // Calculate QuanTAlib T3\r\n            var t3 = new global::QuanTAlib.T3(period, vFactor);\r\n            var qResult = t3.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "662344E3E4CE16EF27AEF670C2361693DF37FCAB9EDA92F336A9B561C022556A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 58,
          "offset": 26,
          "length": 18,
          "code": {
            "startLine": 57,
            "length": 18,
            "offset": 64,
            "surroundingCode": "            // Calculate QuanTAlib T3\r\n            var t3 = new global::QuanTAlib.T3(period, vFactor);\r\n            var qResult = t3.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "662344E3E4CE16EF27AEF670C2361693DF37FCAB9EDA92F336A9B561C022556A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 62,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 61,
            "length": 6,
            "offset": 62,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "91982C5FC9210C6E06C6253282B74511252AE2319704FAA1B1A24E395B0F4963"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 65,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 64,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.T3Lookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "80D67F2AEDEA7FC4C81AAB1DF6D0E3459349FC382B7598669CBD0B97ADDD459E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 85,
          "offset": 26,
          "length": 18,
          "code": {
            "startLine": 84,
            "length": 18,
            "offset": 76,
            "surroundingCode": "            // Calculate QuanTAlib T3 (streaming)\r\n            var t3 = new global::QuanTAlib.T3(period, vFactor);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "B2018637606C7E8005376D26287506247169710CE49E6B57163B533972C02B95"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 93,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 92,
            "length": 6,
            "offset": 62,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "91982C5FC9210C6E06C6253282B74511252AE2319704FAA1B1A24E395B0F4963"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 96,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 95,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.T3Lookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "80D67F2AEDEA7FC4C81AAB1DF6D0E3459349FC382B7598669CBD0B97ADDD459E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 117,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 116,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            double[] qOutput = new double[_testData.RawData.Length];\r\n            global::QuanTAlib.T3.Batch(_testData.RawData.Span, qOutput.AsSpan(), period, vFactor);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "3564692AF8095EE333E35DE98D586797506E1455DB1079F10E7252E9BE0452AB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 120,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 119,
            "length": 6,
            "offset": 62,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "A045E9BDC66F1477AB49745EB1DE201FB46300C23E5D7469D3B0B13F8EECE68D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 123,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 122,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.T3Lookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "80D67F2AEDEA7FC4C81AAB1DF6D0E3459349FC382B7598669CBD0B97ADDD459E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 151,
          "offset": 26,
          "length": 18,
          "code": {
            "startLine": 150,
            "length": 18,
            "offset": 64,
            "surroundingCode": "            // Calculate QuanTAlib T3\r\n            var t3 = new global::QuanTAlib.T3(period, vFactor);\r\n            var qResult = t3.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "662344E3E4CE16EF27AEF670C2361693DF37FCAB9EDA92F336A9B561C022556A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 35,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 34,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib TEMA (batch TSeries)\r\n            var tema = new global::QuanTAlib.Tema(period);\r\n            var qResult = tema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "2E3583B76652D1DA6425A0054D4A67E077C0CC5895AE88638941431C09D980AA"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 58,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 57,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib TEMA (batch TSeries)\r\n            var tema = new global::QuanTAlib.Tema(period);\r\n            var qResult = tema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "2E3583B76652D1DA6425A0054D4A67E077C0CC5895AE88638941431C09D980AA"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 62,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 61,
            "length": 6,
            "offset": 64,
            "surroundingCode": "            // Calculate TA-Lib TEMA\r\n            var retCode = TALib.Functions.Tema<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "4B93538B6FF9E1D5885F305A149927C2703584C312B2DCA8572CF8B31C864887"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 65,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 64,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.TemaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "CEA422697B420A1C8C74738EE22BBC408BBC500FE4634282F9EEAE0F2DBE7D9A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 81,
          "offset": 28,
          "length": 18,
          "code": {
            "startLine": 80,
            "length": 18,
            "offset": 84,
            "surroundingCode": "            // Calculate QuanTAlib TEMA (batch TSeries)\r\n            var tema = new global::QuanTAlib.Tema(period);\r\n            var qResult = tema.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "2E3583B76652D1DA6425A0054D4A67E077C0CC5895AE88638941431C09D980AA"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 85,
          "offset": 33,
          "length": 6,
          "code": {
            "startLine": 84,
            "length": 6,
            "offset": 69,
            "surroundingCode": "            // Calculate Tulip TEMA\r\n            var temaIndicator = Tulip.Indicators.tema;\r\n            double[][] inputs = { _testData.RawData.ToArray() };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "DEC058FAA23A26E66594D605F0CD55E0ADF4B00D76EDC20379DC335864017EC5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 115,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 114,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            double[] qOutput = new double[_testData.RawData.Length];\r\n            global::QuanTAlib.Tema.Batch(_testData.RawData.Span, qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "F04613A478C628B35695E79E47D8CC74CC70174D15293F10818204C3E1D44E3E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 118,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 117,
            "length": 6,
            "offset": 64,
            "surroundingCode": "            // Calculate TA-Lib TEMA\r\n            var retCode = TALib.Functions.Tema<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "8E2E07B260BFFA75CF34C8B50B43E85C79ECB7CD45F997D1AD6A061612DEF878"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 121,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 120,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.TemaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "CEA422697B420A1C8C74738EE22BBC408BBC500FE4634282F9EEAE0F2DBE7D9A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 31,
          "offset": 29,
          "length": 18,
          "code": {
            "startLine": 30,
            "length": 18,
            "offset": 86,
            "surroundingCode": "            // Calculate QuanTAlib TRIMA (batch TSeries)\r\n            var trima = new global::QuanTAlib.Trima(period);\r\n            var qResult = trima.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "DA3BC80D469455D98A028FEFF33DC353CD989F051C5D215CAF1EFC8A68202BAC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 68,
          "offset": 29,
          "length": 18,
          "code": {
            "startLine": 67,
            "length": 18,
            "offset": 86,
            "surroundingCode": "            // Calculate QuanTAlib TRIMA (batch TSeries)\r\n            var trima = new global::QuanTAlib.Trima(period);\r\n            var qResult = trima.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "DA3BC80D469455D98A028FEFF33DC353CD989F051C5D215CAF1EFC8A68202BAC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 72,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 71,
            "length": 6,
            "offset": 65,
            "surroundingCode": "            // Calculate TA-Lib TRIMA\r\n            var retCode = TALib.Functions.Trima<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "19ABABE7C3F8DFD818B1E046B9099536F5C26906B2F18D50C3231013A5A38BE3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 75,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 74,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.TrimaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "6DD2CB780FEC1EEA67BDA35E3ADCDF25C46126E669994094D976E739158B5465"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 91,
          "offset": 29,
          "length": 18,
          "code": {
            "startLine": 90,
            "length": 18,
            "offset": 86,
            "surroundingCode": "            // Calculate QuanTAlib TRIMA (batch TSeries)\r\n            var trima = new global::QuanTAlib.Trima(period);\r\n            var qResult = trima.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "DA3BC80D469455D98A028FEFF33DC353CD989F051C5D215CAF1EFC8A68202BAC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 95,
          "offset": 34,
          "length": 6,
          "code": {
            "startLine": 94,
            "length": 6,
            "offset": 71,
            "surroundingCode": "            // Calculate Tulip TRIMA\r\n            var trimaIndicator = Tulip.Indicators.trima;\r\n            double[][] inputs = { _testData.RawData.ToArray() };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "207FBB95DE7A988B0A49CE927F956434120A3BC25839F237896BF73CF82A8D91"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 129,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 128,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            double[] qOutput = new double[_testData.RawData.Length];\r\n            global::QuanTAlib.Trima.Batch(_testData.RawData.Span, qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "C281FF56C4FBE4D46BB78648105E435EF80DA0B8EB23DB7F1782A96794905E30"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 132,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 131,
            "length": 6,
            "offset": 65,
            "surroundingCode": "            // Calculate TA-Lib TRIMA\r\n            var retCode = TALib.Functions.Trima<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "D296CC330D4475969251197540DDA3ECB976150BBD047A1852800845B2B0330B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 135,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 134,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.TrimaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "6DD2CB780FEC1EEA67BDA35E3ADCDF25C46126E669994094D976E739158B5465"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 33,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 32,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib WMA (batch TSeries)\r\n            var wma = new global::QuanTAlib.Wma(period);\r\n            var qResult = wma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "2BD67654205BFBA85690EED53F42E241E567CFA67D3F88483FA7AC55E58DA19A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 53,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 52,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib WMA (streaming)\r\n            var wma = new global::QuanTAlib.Wma(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "89761C291319475547009BE5625BEBAFC9278016F2CBF7961E8BF3DEA98596B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 78,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 77,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            double[] qOutput = new double[_testData.RawData.Length];\r\n            global::QuanTAlib.Wma.Batch(_testData.RawData.Span, qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "E9BD362D6E49341F598324D195652AFCF81C685539F80054BE10D739AEE86A72"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 100,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 99,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib WMA (batch TSeries)\r\n            var wma = new global::QuanTAlib.Wma(period);\r\n            var qResult = wma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "2BD67654205BFBA85690EED53F42E241E567CFA67D3F88483FA7AC55E58DA19A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 104,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 103,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "536FFC482DFCA4AAC0DBFDA0AAD6F30881FDE2596BAA4732439C9777A47354CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 107,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 106,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.WmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "EB6EF94A549FBC85D1EBAF7FCE9FBEC396F4CE391B13D06953CBD5810BDD7EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 126,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 125,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib WMA (streaming)\r\n            var wma = new global::QuanTAlib.Wma(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "89761C291319475547009BE5625BEBAFC9278016F2CBF7961E8BF3DEA98596B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 134,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 133,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "536FFC482DFCA4AAC0DBFDA0AAD6F30881FDE2596BAA4732439C9777A47354CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 137,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 136,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.WmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "EB6EF94A549FBC85D1EBAF7FCE9FBEC396F4CE391B13D06953CBD5810BDD7EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 157,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 156,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            double[] qOutput = new double[_testData.RawData.Length];\r\n            global::QuanTAlib.Wma.Batch(_testData.RawData.Span, qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "E9BD362D6E49341F598324D195652AFCF81C685539F80054BE10D739AEE86A72"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 160,
          "offset": 27,
          "length": 6,
          "code": {
            "startLine": 159,
            "length": 6,
            "offset": 63,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "540832082059BFC32D5565244D5BA4C78C82DEC4F8676B93D92AE92096ACCF16"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 163,
          "offset": 28,
          "length": 6,
          "code": {
            "startLine": 162,
            "length": 6,
            "offset": 29,
            "surroundingCode": "\r\n            int lookback = TALib.Functions.WmaLookback(period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "EB6EF94A549FBC85D1EBAF7FCE9FBEC396F4CE391B13D06953CBD5810BDD7EEF"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 179,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 178,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            // Calculate QuanTAlib WMA (batch TSeries)\r\n            var wma = new global::QuanTAlib.Wma(period);\r\n            var qResult = wma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "2BD67654205BFBA85690EED53F42E241E567CFA67D3F88483FA7AC55E58DA19A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 183,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 182,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip WMA\r\n            var wmaIndicator = Tulip.Indicators.wma;\r\n            double[][] inputs = { _testData.RawData.ToArray() };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "702E4492ADF85C93BBBFC1D4C18CA073178505959AFBF6D4083BF43EEB54096D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 206,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 205,
            "length": 18,
            "offset": 78,
            "surroundingCode": "            // Calculate QuanTAlib WMA (streaming)\r\n            var wma = new global::QuanTAlib.Wma(period);\r\n            var qResults = new List<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "89761C291319475547009BE5625BEBAFC9278016F2CBF7961E8BF3DEA98596B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 214,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 213,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip WMA\r\n            var wmaIndicator = Tulip.Indicators.wma;\r\n            double[][] inputs = { _testData.RawData.ToArray() };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "702E4492ADF85C93BBBFC1D4C18CA073178505959AFBF6D4083BF43EEB54096D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 238,
          "offset": 13,
          "length": 18,
          "code": {
            "startLine": 237,
            "length": 18,
            "offset": 82,
            "surroundingCode": "            double[] qOutput = new double[_testData.RawData.Length];\r\n            global::QuanTAlib.Wma.Batch(_testData.RawData.Span, qOutput.AsSpan(), period);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "E9BD362D6E49341F598324D195652AFCF81C685539F80054BE10D739AEE86A72"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 241,
          "offset": 32,
          "length": 6,
          "code": {
            "startLine": 240,
            "length": 6,
            "offset": 67,
            "surroundingCode": "            // Calculate Tulip WMA\r\n            var wmaIndicator = Tulip.Indicators.wma;\r\n            double[][] inputs = { _testData.RawData.ToArray() };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "702E4492ADF85C93BBBFC1D4C18CA073178505959AFBF6D4083BF43EEB54096D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 275,
          "offset": 27,
          "length": 18,
          "code": {
            "startLine": 274,
            "length": 18,
            "offset": 66,
            "surroundingCode": "            // Calculate QuanTAlib WMA\r\n            var wma = new global::QuanTAlib.Wma(period);\r\n            var qResult = wma.Update(_testData.Data);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "F98878229E78DCBA3AE454E31240BEB23CFE099D7BEBF96A42A8DE93A379F3CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 61,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 60,
            "length": 6,
            "offset": 24,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Atr(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "D6B83AEDDA9F956207D4864A3F25BFA972F1A35274DCC0A6DBE95146E51036F7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 64,
          "offset": 24,
          "length": 6,
          "code": {
            "startLine": 63,
            "length": 6,
            "offset": 25,
            "surroundingCode": "\r\n        int lookback = TALib.Functions.AtrLookback(14);\r\n        ValidationHelper.VerifyData(results, outReal, outRange, lookback);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "FCC83C8A2AB7A42AD3D78D2F19533CBBF36E66C4A0C1944F0F882ED3A827ACFB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 48,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 47,
            "length": 6,
            "offset": 32,
            "surroundingCode": "        \r\n        var retCode = TALib.Functions.Ad(high, low, close, volume, 0..^0, talibValues, out var outRange);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "568C2E54C28361C3C40848058614AFBD3FDF55B40EFEAE0EBF62826914F37822"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 49,
          "offset": 22,
          "length": 6,
          "code": {
            "startLine": 48,
            "length": 6,
            "offset": 128,
            "surroundingCode": "        var retCode = TALib.Functions.Ad(high, low, close, volume, 0..^0, talibValues, out var outRange);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "1A507D6107AD9E382BF119D357EC9345680235614122C565BE7EF40B9DFD7917"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 71,
          "offset": 30,
          "length": 6,
          "code": {
            "startLine": 70,
            "length": 6,
            "offset": 39,
            "surroundingCode": "        \r\n        var tulipIndicator = Tulip.Indicators.ad;\r\n        double[][] inputs = { high, low, close, volume };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "10D66E93BCB51C53CA5851E9FC1850FB8AA6E524D0CEC6777439D3F639CD5F78"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 54,
          "offset": 23,
          "length": 6,
          "code": {
            "startLine": 53,
            "length": 6,
            "offset": 24,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.AdOsc(high, low, close, volume, 0..^0, output, out var outRange, fastPeriod, slowPeriod);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "12395EDFE68F4D8A23044A33A5A5D854CC8BF0AE52DC13B12034413F5C278FC0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 55,
          "offset": 22,
          "length": 6,
          "code": {
            "startLine": 54,
            "length": 6,
            "offset": 150,
            "surroundingCode": "        var retCode = TALib.Functions.AdOsc(high, low, close, volume, 0..^0, output, out var outRange, fastPeriod, slowPeriod);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "A10DC6BC817857988CF9AF2E73568B33FD24864E43004C7F1C577EEC69DF7A67"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant name qualifier",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Qualifier is redundant",
      "detailsInfo": "Redundant use of qualifier for a type name or static member usage",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 87,
          "offset": 30,
          "length": 6,
          "code": {
            "startLine": 86,
            "length": 6,
            "offset": 31,
            "surroundingCode": "\r\n        var adoscIndicator = Tulip.Indicators.adosc;\r\n        double[][] inputs = { high, low, close, volume };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantNameQualifier"
      },
      "hash": "A7F1750ECFBDBEFFB0511C2580179A3610B808817BD61ACEE0C5396409609219"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 63,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 62,
            "length": 1,
            "offset": 65,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Adx(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "F1A8BA619B056D880EAE14A427CC28F805402D4521B92AFFDD260FEAEBE43DD2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 63,
          "offset": 67,
          "length": 2,
          "code": {
            "startLine": 62,
            "length": 2,
            "offset": 68,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Adx(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "F1A8BA619B056D880EAE14A427CC28F805402D4521B92AFFDD260FEAEBE43DD2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 42,
          "offset": 65,
          "length": 1,
          "code": {
            "startLine": 41,
            "length": 1,
            "offset": 66,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Adxr(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "889E5473CE4B074E5E27F77DB353A2BFA52496466871FC234FEB3A6620DAEAB3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 42,
          "offset": 68,
          "length": 2,
          "code": {
            "startLine": 41,
            "length": 2,
            "offset": 69,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Adxr(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "889E5473CE4B074E5E27F77DB353A2BFA52496466871FC234FEB3A6620DAEAB3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 48,
          "offset": 58,
          "length": 1,
          "code": {
            "startLine": 47,
            "length": 1,
            "offset": 84,
            "surroundingCode": "        // MAType 1 = EMA\r\n        var retCode = TALib.Functions.Apo<double>(input, 0..^0, output, out var outRange, fastPeriod, slowPeriod, TALib.Core.MAType.Ema);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "B808E306D0EBFA86019F3C5019976F0BBBC6288512E2A58CE1F55AE9A50D5CDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 48,
          "offset": 61,
          "length": 2,
          "code": {
            "startLine": 47,
            "length": 2,
            "offset": 87,
            "surroundingCode": "        // MAType 1 = EMA\r\n        var retCode = TALib.Functions.Apo<double>(input, 0..^0, output, out var outRange, fastPeriod, slowPeriod, TALib.Core.MAType.Ema);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "B808E306D0EBFA86019F3C5019976F0BBBC6288512E2A58CE1F55AE9A50D5CDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 77,
          "offset": 59,
          "length": 1,
          "code": {
            "startLine": 76,
            "length": 1,
            "offset": 93,
            "surroundingCode": "        // TA-Lib Aroon (Up/Down)\r\n        var retCode = TALib.Functions.Aroon(hData, lData, 0..^0, outAroonDown, outAroonUp, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "4B78120C51CDBB4BEAA7F3795F717B073C727BD6F4E840B089AD72356EA09B86"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 77,
          "offset": 62,
          "length": 2,
          "code": {
            "startLine": 76,
            "length": 2,
            "offset": 96,
            "surroundingCode": "        // TA-Lib Aroon (Up/Down)\r\n        var retCode = TALib.Functions.Aroon(hData, lData, 0..^0, outAroonDown, outAroonUp, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "4B78120C51CDBB4BEAA7F3795F717B073C727BD6F4E840B089AD72356EA09B86"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 81,
          "offset": 65,
          "length": 1,
          "code": {
            "startLine": 80,
            "length": 1,
            "offset": 92,
            "surroundingCode": "        // TA-Lib AroonOsc\r\n        var retCodeOsc = TALib.Functions.AroonOsc(hData, lData, 0..^0, outAroonOsc, out var outRangeOsc, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCodeOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "349AC6A7049F42762F7BF467EC05040D05334143268213585BDB0DE238AD9E45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 81,
          "offset": 68,
          "length": 2,
          "code": {
            "startLine": 80,
            "length": 2,
            "offset": 95,
            "surroundingCode": "        // TA-Lib AroonOsc\r\n        var retCodeOsc = TALib.Functions.AroonOsc(hData, lData, 0..^0, outAroonOsc, out var outRangeOsc, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCodeOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "349AC6A7049F42762F7BF467EC05040D05334143268213585BDB0DE238AD9E45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 64,
          "offset": 65,
          "length": 1,
          "code": {
            "startLine": 63,
            "length": 1,
            "offset": 92,
            "surroundingCode": "        // TA-Lib AroonOsc\r\n        var retCodeOsc = TALib.Functions.AroonOsc(hData, lData, 0..^0, outAroonOsc, out var outRangeOsc, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCodeOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "349AC6A7049F42762F7BF467EC05040D05334143268213585BDB0DE238AD9E45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 64,
          "offset": 68,
          "length": 2,
          "code": {
            "startLine": 63,
            "length": 2,
            "offset": 95,
            "surroundingCode": "        // TA-Lib AroonOsc\r\n        var retCodeOsc = TALib.Functions.AroonOsc(hData, lData, 0..^0, outAroonOsc, out var outRangeOsc, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCodeOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "349AC6A7049F42762F7BF467EC05040D05334143268213585BDB0DE238AD9E45"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 160,
          "offset": 58,
          "length": 1,
          "code": {
            "startLine": 159,
            "length": 1,
            "offset": 59,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Wma<double>(input, 0..^0, output, out var outRange, period);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "8B67921586AE08B863F2D9BC6467F6EA77981916EE35FA3C957FE648C92C76E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 160,
          "offset": 61,
          "length": 2,
          "code": {
            "startLine": 159,
            "length": 2,
            "offset": 62,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Wma<double>(input, 0..^0, output, out var outRange, period);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "8B67921586AE08B863F2D9BC6467F6EA77981916EE35FA3C957FE648C92C76E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 73,
          "offset": 63,
          "length": 1,
          "code": {
            "startLine": 72,
            "length": 1,
            "offset": 100,
            "surroundingCode": "            // Calculate TA-Lib DEMA\r\n            var retCode = TALib.Functions.Dema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "98CCEB47467C42BD4C512A91010D2A97179A8EC246BABE31FE9BF95606A82AB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 73,
          "offset": 66,
          "length": 2,
          "code": {
            "startLine": 72,
            "length": 2,
            "offset": 103,
            "surroundingCode": "            // Calculate TA-Lib DEMA\r\n            var retCode = TALib.Functions.Dema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "98CCEB47467C42BD4C512A91010D2A97179A8EC246BABE31FE9BF95606A82AB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 144,
          "offset": 68,
          "length": 1,
          "code": {
            "startLine": 143,
            "length": 1,
            "offset": 105,
            "surroundingCode": "            // Calculate TA-Lib DEMA\r\n            var retCode = TALib.Functions.Dema<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "6915011F993EEB5DEE990176BEE5CCF924D87586266947807E29E1E528780D6A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 144,
          "offset": 71,
          "length": 2,
          "code": {
            "startLine": 143,
            "length": 2,
            "offset": 108,
            "surroundingCode": "            // Calculate TA-Lib DEMA\r\n            var retCode = TALib.Functions.Dema<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "6915011F993EEB5DEE990176BEE5CCF924D87586266947807E29E1E528780D6A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 163,
          "offset": 72,
          "length": 1,
          "code": {
            "startLine": 162,
            "length": 1,
            "offset": 144,
            "surroundingCode": "            double[] wma1Output = new double[_testData.RawData.Length];\r\n            var retCode1 = TALib.Functions.Wma(_testData.RawData.Span, 0..^0, wma1Output, out var outRange1, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "32AABEF5C100106173C84597AFCF10E30E613537FD56C8A0DCE1ED84DE905A7D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 163,
          "offset": 75,
          "length": 2,
          "code": {
            "startLine": 162,
            "length": 2,
            "offset": 147,
            "surroundingCode": "            double[] wma1Output = new double[_testData.RawData.Length];\r\n            var retCode1 = TALib.Functions.Wma(_testData.RawData.Span, 0..^0, wma1Output, out var outRange1, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "32AABEF5C100106173C84597AFCF10E30E613537FD56C8A0DCE1ED84DE905A7D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 173,
          "offset": 59,
          "length": 1,
          "code": {
            "startLine": 172,
            "length": 1,
            "offset": 123,
            "surroundingCode": "            double[] dwmaOutput = new double[wma1Valid.Length];\r\n            var retCode2 = TALib.Functions.Wma(wma1Valid, 0..^0, dwmaOutput, out _, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "C26369E0F73FFCF41CDF7CECFE4C8AAD13254EEE3A27EFE166B618D3152D6722"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 173,
          "offset": 62,
          "length": 2,
          "code": {
            "startLine": 172,
            "length": 2,
            "offset": 126,
            "surroundingCode": "            double[] dwmaOutput = new double[wma1Valid.Length];\r\n            var retCode2 = TALib.Functions.Wma(wma1Valid, 0..^0, dwmaOutput, out _, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "C26369E0F73FFCF41CDF7CECFE4C8AAD13254EEE3A27EFE166B618D3152D6722"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 121,
          "offset": 62,
          "length": 1,
          "code": {
            "startLine": 120,
            "length": 1,
            "offset": 98,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "7BE60DDBCE8CD4CE197E5AB7797E010358E393CD2998A1C3910CC196049A2A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 121,
          "offset": 65,
          "length": 2,
          "code": {
            "startLine": 120,
            "length": 2,
            "offset": 101,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "7BE60DDBCE8CD4CE197E5AB7797E010358E393CD2998A1C3910CC196049A2A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 152,
          "offset": 62,
          "length": 1,
          "code": {
            "startLine": 151,
            "length": 1,
            "offset": 98,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "7BE60DDBCE8CD4CE197E5AB7797E010358E393CD2998A1C3910CC196049A2A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 152,
          "offset": 65,
          "length": 2,
          "code": {
            "startLine": 151,
            "length": 2,
            "offset": 101,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "7BE60DDBCE8CD4CE197E5AB7797E010358E393CD2998A1C3910CC196049A2A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 179,
          "offset": 67,
          "length": 1,
          "code": {
            "startLine": 178,
            "length": 1,
            "offset": 103,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "1F4AB40D8F93E142626C0CDFADBB35F295E4B3A80BB3EC9A626EA638EBFFC626"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 179,
          "offset": 70,
          "length": 2,
          "code": {
            "startLine": 178,
            "length": 2,
            "offset": 106,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "1F4AB40D8F93E142626C0CDFADBB35F295E4B3A80BB3EC9A626EA638EBFFC626"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 42,
          "offset": 58,
          "length": 1,
          "code": {
            "startLine": 41,
            "length": 1,
            "offset": 105,
            "surroundingCode": "        var output = new double[input.Length];\r\n        var retCode = TALib.Functions.HtTrendline(input, 0..^0, output, out var outRange);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "FAFB1062627FC91D10BA383C0057A1B00F6C188DDA9F804FB70138D87054E634"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 42,
          "offset": 61,
          "length": 2,
          "code": {
            "startLine": 41,
            "length": 2,
            "offset": 108,
            "surroundingCode": "        var output = new double[input.Length];\r\n        var retCode = TALib.Functions.HtTrendline(input, 0..^0, output, out var outRange);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "FAFB1062627FC91D10BA383C0057A1B00F6C188DDA9F804FB70138D87054E634"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 121,
          "offset": 62,
          "length": 1,
          "code": {
            "startLine": 120,
            "length": 1,
            "offset": 98,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "C6BA4E3D48CAE9EC59CE51E0AD080B495F052C9863E16ABA91EC284449A54339"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 121,
          "offset": 65,
          "length": 2,
          "code": {
            "startLine": 120,
            "length": 2,
            "offset": 101,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "C6BA4E3D48CAE9EC59CE51E0AD080B495F052C9863E16ABA91EC284449A54339"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 152,
          "offset": 62,
          "length": 1,
          "code": {
            "startLine": 151,
            "length": 1,
            "offset": 98,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "C6BA4E3D48CAE9EC59CE51E0AD080B495F052C9863E16ABA91EC284449A54339"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 152,
          "offset": 65,
          "length": 2,
          "code": {
            "startLine": 151,
            "length": 2,
            "offset": 101,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "C6BA4E3D48CAE9EC59CE51E0AD080B495F052C9863E16ABA91EC284449A54339"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 179,
          "offset": 67,
          "length": 1,
          "code": {
            "startLine": 178,
            "length": 1,
            "offset": 103,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "22CA7330195EBC9EB9E200FD9F502C453A69FD3CEB007331BF724324BBBCD2AE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 179,
          "offset": 70,
          "length": 2,
          "code": {
            "startLine": 178,
            "length": 2,
            "offset": 106,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "22CA7330195EBC9EB9E200FD9F502C453A69FD3CEB007331BF724324BBBCD2AE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 62,
          "offset": 78,
          "length": 1,
          "code": {
            "startLine": 61,
            "length": 1,
            "offset": 113,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "91982C5FC9210C6E06C6253282B74511252AE2319704FAA1B1A24E395B0F4963"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 62,
          "offset": 81,
          "length": 2,
          "code": {
            "startLine": 61,
            "length": 2,
            "offset": 116,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "91982C5FC9210C6E06C6253282B74511252AE2319704FAA1B1A24E395B0F4963"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 93,
          "offset": 78,
          "length": 1,
          "code": {
            "startLine": 92,
            "length": 1,
            "offset": 113,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "91982C5FC9210C6E06C6253282B74511252AE2319704FAA1B1A24E395B0F4963"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 93,
          "offset": 81,
          "length": 2,
          "code": {
            "startLine": 92,
            "length": 2,
            "offset": 116,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "91982C5FC9210C6E06C6253282B74511252AE2319704FAA1B1A24E395B0F4963"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 120,
          "offset": 78,
          "length": 1,
          "code": {
            "startLine": 119,
            "length": 1,
            "offset": 113,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "A045E9BDC66F1477AB49745EB1DE201FB46300C23E5D7469D3B0B13F8EECE68D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 120,
          "offset": 81,
          "length": 2,
          "code": {
            "startLine": 119,
            "length": 2,
            "offset": 116,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "A045E9BDC66F1477AB49745EB1DE201FB46300C23E5D7469D3B0B13F8EECE68D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 62,
          "offset": 80,
          "length": 1,
          "code": {
            "startLine": 61,
            "length": 1,
            "offset": 117,
            "surroundingCode": "            // Calculate TA-Lib TEMA\r\n            var retCode = TALib.Functions.Tema<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "4B93538B6FF9E1D5885F305A149927C2703584C312B2DCA8572CF8B31C864887"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 62,
          "offset": 83,
          "length": 2,
          "code": {
            "startLine": 61,
            "length": 2,
            "offset": 120,
            "surroundingCode": "            // Calculate TA-Lib TEMA\r\n            var retCode = TALib.Functions.Tema<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "4B93538B6FF9E1D5885F305A149927C2703584C312B2DCA8572CF8B31C864887"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 118,
          "offset": 80,
          "length": 1,
          "code": {
            "startLine": 117,
            "length": 1,
            "offset": 117,
            "surroundingCode": "            // Calculate TA-Lib TEMA\r\n            var retCode = TALib.Functions.Tema<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "8E2E07B260BFFA75CF34C8B50B43E85C79ECB7CD45F997D1AD6A061612DEF878"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 118,
          "offset": 83,
          "length": 2,
          "code": {
            "startLine": 117,
            "length": 2,
            "offset": 120,
            "surroundingCode": "            // Calculate TA-Lib TEMA\r\n            var retCode = TALib.Functions.Tema<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "8E2E07B260BFFA75CF34C8B50B43E85C79ECB7CD45F997D1AD6A061612DEF878"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 72,
          "offset": 81,
          "length": 1,
          "code": {
            "startLine": 71,
            "length": 1,
            "offset": 119,
            "surroundingCode": "            // Calculate TA-Lib TRIMA\r\n            var retCode = TALib.Functions.Trima<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "19ABABE7C3F8DFD818B1E046B9099536F5C26906B2F18D50C3231013A5A38BE3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 72,
          "offset": 84,
          "length": 2,
          "code": {
            "startLine": 71,
            "length": 2,
            "offset": 122,
            "surroundingCode": "            // Calculate TA-Lib TRIMA\r\n            var retCode = TALib.Functions.Trima<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "19ABABE7C3F8DFD818B1E046B9099536F5C26906B2F18D50C3231013A5A38BE3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 132,
          "offset": 81,
          "length": 1,
          "code": {
            "startLine": 131,
            "length": 1,
            "offset": 119,
            "surroundingCode": "            // Calculate TA-Lib TRIMA\r\n            var retCode = TALib.Functions.Trima<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "D296CC330D4475969251197540DDA3ECB976150BBD047A1852800845B2B0330B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 132,
          "offset": 84,
          "length": 2,
          "code": {
            "startLine": 131,
            "length": 2,
            "offset": 122,
            "surroundingCode": "            // Calculate TA-Lib TRIMA\r\n            var retCode = TALib.Functions.Trima<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "D296CC330D4475969251197540DDA3ECB976150BBD047A1852800845B2B0330B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 104,
          "offset": 79,
          "length": 1,
          "code": {
            "startLine": 103,
            "length": 1,
            "offset": 115,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "536FFC482DFCA4AAC0DBFDA0AAD6F30881FDE2596BAA4732439C9777A47354CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 104,
          "offset": 82,
          "length": 2,
          "code": {
            "startLine": 103,
            "length": 2,
            "offset": 118,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "536FFC482DFCA4AAC0DBFDA0AAD6F30881FDE2596BAA4732439C9777A47354CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 134,
          "offset": 79,
          "length": 1,
          "code": {
            "startLine": 133,
            "length": 1,
            "offset": 115,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "536FFC482DFCA4AAC0DBFDA0AAD6F30881FDE2596BAA4732439C9777A47354CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 134,
          "offset": 82,
          "length": 2,
          "code": {
            "startLine": 133,
            "length": 2,
            "offset": 118,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "536FFC482DFCA4AAC0DBFDA0AAD6F30881FDE2596BAA4732439C9777A47354CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 160,
          "offset": 79,
          "length": 1,
          "code": {
            "startLine": 159,
            "length": 1,
            "offset": 115,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "540832082059BFC32D5565244D5BA4C78C82DEC4F8676B93D92AE92096ACCF16"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 160,
          "offset": 82,
          "length": 2,
          "code": {
            "startLine": 159,
            "length": 2,
            "offset": 118,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "540832082059BFC32D5565244D5BA4C78C82DEC4F8676B93D92AE92096ACCF16"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 61,
          "offset": 64,
          "length": 1,
          "code": {
            "startLine": 60,
            "length": 1,
            "offset": 65,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Atr(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "D6B83AEDDA9F956207D4864A3F25BFA972F1A35274DCC0A6DBE95146E51036F7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 61,
          "offset": 67,
          "length": 2,
          "code": {
            "startLine": 60,
            "length": 2,
            "offset": 68,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Atr(hData, lData, cData, 0..^0, outReal, out var outRange, 14);\r\n        Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "D6B83AEDDA9F956207D4864A3F25BFA972F1A35274DCC0A6DBE95146E51036F7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 48,
          "offset": 68,
          "length": 1,
          "code": {
            "startLine": 47,
            "length": 1,
            "offset": 77,
            "surroundingCode": "        \r\n        var retCode = TALib.Functions.Ad(high, low, close, volume, 0..^0, talibValues, out var outRange);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "568C2E54C28361C3C40848058614AFBD3FDF55B40EFEAE0EBF62826914F37822"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 48,
          "offset": 71,
          "length": 2,
          "code": {
            "startLine": 47,
            "length": 2,
            "offset": 80,
            "surroundingCode": "        \r\n        var retCode = TALib.Functions.Ad(high, low, close, volume, 0..^0, talibValues, out var outRange);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "568C2E54C28361C3C40848058614AFBD3FDF55B40EFEAE0EBF62826914F37822"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 54,
          "offset": 71,
          "length": 1,
          "code": {
            "startLine": 53,
            "length": 1,
            "offset": 72,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.AdOsc(high, low, close, volume, 0..^0, output, out var outRange, fastPeriod, slowPeriod);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "12395EDFE68F4D8A23044A33A5A5D854CC8BF0AE52DC13B12034413F5C278FC0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant range bound",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Redundant range bound",
      "detailsInfo": "Zero index can be omitted in range expression",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 54,
          "offset": 74,
          "length": 2,
          "code": {
            "startLine": 53,
            "length": 2,
            "offset": 75,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.AdOsc(high, low, close, volume, 0..^0, output, out var outRange, fastPeriod, slowPeriod);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantRangeBound"
      },
      "hash": "12395EDFE68F4D8A23044A33A5A5D854CC8BF0AE52DC13B12034413F5C278FC0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 48,
          "offset": 42,
          "length": 8,
          "code": {
            "startLine": 47,
            "length": 8,
            "offset": 68,
            "surroundingCode": "        // MAType 1 = EMA\r\n        var retCode = TALib.Functions.Apo<double>(input, 0..^0, output, out var outRange, fastPeriod, slowPeriod, TALib.Core.MAType.Ema);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "B808E306D0EBFA86019F3C5019976F0BBBC6288512E2A58CE1F55AE9A50D5CDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 160,
          "offset": 42,
          "length": 8,
          "code": {
            "startLine": 159,
            "length": 8,
            "offset": 43,
            "surroundingCode": "\r\n        var retCode = TALib.Functions.Wma<double>(input, 0..^0, output, out var outRange, period);\r\n        Assert.Equal(TALib.Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "8B67921586AE08B863F2D9BC6467F6EA77981916EE35FA3C957FE648C92C76E7"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 73,
          "offset": 47,
          "length": 8,
          "code": {
            "startLine": 72,
            "length": 8,
            "offset": 84,
            "surroundingCode": "            // Calculate TA-Lib DEMA\r\n            var retCode = TALib.Functions.Dema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "98CCEB47467C42BD4C512A91010D2A97179A8EC246BABE31FE9BF95606A82AB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 144,
          "offset": 47,
          "length": 8,
          "code": {
            "startLine": 143,
            "length": 8,
            "offset": 84,
            "surroundingCode": "            // Calculate TA-Lib DEMA\r\n            var retCode = TALib.Functions.Dema<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "6915011F993EEB5DEE990176BEE5CCF924D87586266947807E29E1E528780D6A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 121,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 120,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "7BE60DDBCE8CD4CE197E5AB7797E010358E393CD2998A1C3910CC196049A2A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 152,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 151,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "7BE60DDBCE8CD4CE197E5AB7797E010358E393CD2998A1C3910CC196049A2A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 179,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 178,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib EMA\r\n            var retCode = TALib.Functions.Ema<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "1F4AB40D8F93E142626C0CDFADBB35F295E4B3A80BB3EC9A626EA638EBFFC626"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 121,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 120,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "C6BA4E3D48CAE9EC59CE51E0AD080B495F052C9863E16ABA91EC284449A54339"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 152,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 151,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(tData, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "C6BA4E3D48CAE9EC59CE51E0AD080B495F052C9863E16ABA91EC284449A54339"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 179,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 178,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib SMA\r\n            var retCode = TALib.Functions.Sma<double>(sourceData, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "22CA7330195EBC9EB9E200FD9F502C453A69FD3CEB007331BF724324BBBCD2AE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 62,
          "offset": 45,
          "length": 8,
          "code": {
            "startLine": 61,
            "length": 8,
            "offset": 80,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "91982C5FC9210C6E06C6253282B74511252AE2319704FAA1B1A24E395B0F4963"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 93,
          "offset": 45,
          "length": 8,
          "code": {
            "startLine": 92,
            "length": 8,
            "offset": 80,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "91982C5FC9210C6E06C6253282B74511252AE2319704FAA1B1A24E395B0F4963"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 120,
          "offset": 45,
          "length": 8,
          "code": {
            "startLine": 119,
            "length": 8,
            "offset": 80,
            "surroundingCode": "            // Calculate TA-Lib T3\r\n            var retCode = TALib.Functions.T3<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period, vFactor);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "A045E9BDC66F1477AB49745EB1DE201FB46300C23E5D7469D3B0B13F8EECE68D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 62,
          "offset": 47,
          "length": 8,
          "code": {
            "startLine": 61,
            "length": 8,
            "offset": 84,
            "surroundingCode": "            // Calculate TA-Lib TEMA\r\n            var retCode = TALib.Functions.Tema<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "4B93538B6FF9E1D5885F305A149927C2703584C312B2DCA8572CF8B31C864887"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 118,
          "offset": 47,
          "length": 8,
          "code": {
            "startLine": 117,
            "length": 8,
            "offset": 84,
            "surroundingCode": "            // Calculate TA-Lib TEMA\r\n            var retCode = TALib.Functions.Tema<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "8E2E07B260BFFA75CF34C8B50B43E85C79ECB7CD45F997D1AD6A061612DEF878"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 72,
          "offset": 48,
          "length": 8,
          "code": {
            "startLine": 71,
            "length": 8,
            "offset": 86,
            "surroundingCode": "            // Calculate TA-Lib TRIMA\r\n            var retCode = TALib.Functions.Trima<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "19ABABE7C3F8DFD818B1E046B9099536F5C26906B2F18D50C3231013A5A38BE3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 132,
          "offset": 48,
          "length": 8,
          "code": {
            "startLine": 131,
            "length": 8,
            "offset": 86,
            "surroundingCode": "            // Calculate TA-Lib TRIMA\r\n            var retCode = TALib.Functions.Trima<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "D296CC330D4475969251197540DDA3ECB976150BBD047A1852800845B2B0330B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 104,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 103,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "536FFC482DFCA4AAC0DBFDA0AAD6F30881FDE2596BAA4732439C9777A47354CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 134,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 133,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, output, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "536FFC482DFCA4AAC0DBFDA0AAD6F30881FDE2596BAA4732439C9777A47354CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 160,
          "offset": 46,
          "length": 8,
          "code": {
            "startLine": 159,
            "length": 8,
            "offset": 82,
            "surroundingCode": "            // Calculate TA-Lib WMA\r\n            var retCode = TALib.Functions.Wma<double>(_testData.RawData.Span, 0..^0, talibOutput, out var outRange, period);\r\n            Assert.Equal(Core.RetCode.Success, retCode);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "540832082059BFC32D5565244D5BA4C78C82DEC4F8676B93D92AE92096ACCF16"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 126,
          "offset": 36,
          "length": 18,
          "code": {
            "startLine": 125,
            "length": 18,
            "offset": 87,
            "surroundingCode": "        var result = adosc.Update(_testData.Bars);\r\n        ValidationHelper.VerifyData<ChaikinOscResult>(result, skenderResults, (x) => x.Oscillator);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "3EB35F91A0221E14B335787EE09387444DC8C5F62586515117E4EB5BE5EFA6BB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 135,
          "offset": 36,
          "length": 18,
          "code": {
            "startLine": 134,
            "length": 18,
            "offset": 46,
            "surroundingCode": "        }\r\n        ValidationHelper.VerifyData<ChaikinOscResult>(streamResults, skenderResults, (x) => x.Oscillator);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "EFE243C5496421EAFDA11CABF5ACBA66C47A83C403DD4EA015B27536362104FB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant type arguments of method",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Type argument specification is redundant",
      "detailsInfo": "Specification of method type arguments is redundant because they are inferred from argument types",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 144,
          "offset": 36,
          "length": 18,
          "code": {
            "startLine": 143,
            "length": 18,
            "offset": 123,
            "surroundingCode": "        Adosc.Calculate(high, low, close, volume, spanOutput, fastPeriod, slowPeriod);\r\n        ValidationHelper.VerifyData<ChaikinOscResult>(spanOutput, skenderResults, (x) => x.Oscillator);\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantTypeArgumentsOfMethod"
      },
      "hash": "4350D21A717D0CE2DC0FF020333E7816E51EEAF02869AF7D2AAD8A5EC4FD6BBF"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/AbstractBase.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A5ABA44EC8FEC34F79C4FDC2C5BC5FE0805F800166A0EF6E85089EC08CA0F813"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2B0EDD96FB275C5ED117E8DF188265578B4AC7FA4B7EF44F83E503E292C837BD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tbarseries/tbarseries.cs",
          "line": 3,
          "offset": 1,
          "length": 37,
          "code": {
            "startLine": 2,
            "length": 37,
            "offset": 39,
            "surroundingCode": "using System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "24F04E2276219083A8E0DBF3CAEDC2D6318881644BCAB4C8440D44FB7CAB28BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/ITValuePublisher.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A5ABA44EC8FEC34F79C4FDC2C5BC5FE0805F800166A0EF6E85089EC08CA0F813"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/tseries.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2B0EDD96FB275C5ED117E8DF188265578B4AC7FA4B7EF44F83E503E292C837BD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/tseries/tseries.cs",
          "line": 3,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 2,
            "length": 33,
            "offset": 26,
            "surroundingCode": "using System.Collections;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A0B91A375BDB518E1EBF681C1EA103F94A6F6F14B3BECEC13A72D5781E0E1533"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/ValidationHelper.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/ValidationHelper.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/ValidationHelper.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/ValidationTestData.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/ValidationTestData.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/feeds/gbm/ValidationTestData.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.OoplesRepro.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.OoplesRepro.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.OoplesRepro.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1268F1945E10EEDAD1829525AF44E675CEF653A29A1259B07A080F7C7AAD05A1"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.OoplesRepro.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 3,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "418F4AAFD16FF2BBD82DC6AE9433CD4C03EED34B2BFAB70D0722C147785753B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 37,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D353D4FE20184223C036B614C5D71EEA879A1F8B680846B161296943CF4CC3DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7FB977C9D814E72EEF0287233459BDCE10447CC766014E5E068DADA58AFFF903"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 10,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 9,
            "length": 12,
            "offset": 44,
            "surroundingCode": "using OoplesFinance.StockIndicators.Enums;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6A8C679EA2154833C2B7DCECF8C76F75213F919771530E7BB2427F4F45DB0CDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 2,
          "offset": 1,
          "length": 21,
          "code": {
            "startLine": 1,
            "length": 21,
            "offset": 39,
            "surroundingCode": "using System.Runtime.CompilerServices;\nusing System.Buffers;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "DE2B9B70ED3AA6471A0136A92B9AFE9497F4657F258D205BC90D68075BE3A2A2"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 38,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2061CDF158B1CF3FED1177266EAB70BDAC631E5DF2A08308B0C4A9A03821E6EC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing TALib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4DEB51BA45B51173C003E0E9C215B231CB8B368C14DFAB3917DA727B7B85F00D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 4,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D0009BD14D35BD6B4C3A106EE113253ECEB1B10846F43004766E2EBDEAEAB950"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "542FD3C4162569E8C791C77A8EA27C3D49A0CCFA27B2A5DD396E9599DBD03F16"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.cs",
          "line": 2,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 1,
            "length": 16,
            "offset": 40,
            "surroundingCode": "using System.Runtime.CompilerServices;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CFA8B7BF9B4183580726FF1409877F1D4E61C674F381DFCADF609CA3012062FF"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 37,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D353D4FE20184223C036B614C5D71EEA879A1F8B680846B161296943CF4CC3DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 4,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing Tulip;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "49A4D935B3E67BFF8B62C08145F26FA3EE55735CAF7700818841A79073287687"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 7,
            "length": 12,
            "offset": 45,
            "surroundingCode": "using OoplesFinance.StockIndicators.Models;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "87DDCA227F5C6012D6470C3759A66D09FA8856FFD624C7DB79271C800B5C2163"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 38,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2061CDF158B1CF3FED1177266EAB70BDAC631E5DF2A08308B0C4A9A03821E6EC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 0,
            "surroundingCode": "using Xunit;\r\nusing System;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "696546717598EDAE12235184578A7083B1D4FA6D7FF51A4995C7A37A381119FA"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing System;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CA2666A2A49F5FA12F012F3E1CA2E7181CFED193CCD90BF39D3A7B67523E965D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6DCF435AC44E120AB98C6B03254E3149ADE131141808103098E2A93FDE8091D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6E3AAC76B3DD0D7B540EA375B6DA82FA3C7876F6FD783BA87821CAB47CA62055"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 31,
          "code": {
            "startLine": 5,
            "length": 31,
            "offset": 24,
            "surroundingCode": "using QuanTAlib.Tests;\r\nusing Skender.Stock.Indicators;\r\nusing TALib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4A4AAC54F9A46D1023D528E1601BD0A792AA53AB2ABF92B5C99AADEBF2DBAE2D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing TALib;\r\nusing Tulip;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "BE787AC7AA209A59D1FD238ABEC589480F156C7F57322E7E0B176033DABEA6B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 7,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7FB977C9D814E72EEF0287233459BDCE10447CC766014E5E068DADA58AFFF903"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 38,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2061CDF158B1CF3FED1177266EAB70BDAC631E5DF2A08308B0C4A9A03821E6EC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D0009BD14D35BD6B4C3A106EE113253ECEB1B10846F43004766E2EBDEAEAB950"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "542FD3C4162569E8C791C77A8EA27C3D49A0CCFA27B2A5DD396E9599DBD03F16"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 38,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2061CDF158B1CF3FED1177266EAB70BDAC631E5DF2A08308B0C4A9A03821E6EC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7FB977C9D814E72EEF0287233459BDCE10447CC766014E5E068DADA58AFFF903"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 9,
          "offset": 1,
          "length": 42,
          "code": {
            "startLine": 8,
            "length": 42,
            "offset": 45,
            "surroundingCode": "using OoplesFinance.StockIndicators.Models;\r\nusing OoplesFinance.StockIndicators.Enums;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1537C6217774F63BD92C4137231789FC1BF88A5B9AA41536D769BE45DFFA4D26"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 10,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 9,
            "length": 12,
            "offset": 44,
            "surroundingCode": "using OoplesFinance.StockIndicators.Enums;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6A8C679EA2154833C2B7DCECF8C76F75213F919771530E7BB2427F4F45DB0CDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 37,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D353D4FE20184223C036B614C5D71EEA879A1F8B680846B161296943CF4CC3DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "132DC3FA75E28D4819BA290CB6650CC02B40C5186F4A9D30343E224565226AD5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "9BE767436AC68137D5EE73EA972A565B2C69F0828E8D7DD8DD6E949DB225CF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 37,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D353D4FE20184223C036B614C5D71EEA879A1F8B680846B161296943CF4CC3DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "132DC3FA75E28D4819BA290CB6650CC02B40C5186F4A9D30343E224565226AD5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/dmx/Dmx.cs",
          "line": 3,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 2,
            "length": 33,
            "offset": 39,
            "surroundingCode": "using System.Runtime.CompilerServices;\nusing System.Collections.Generic;\nusing System.Runtime.InteropServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "9CD4F85CEE04C9536A8BB63BD53D5CFB538419FF76D96FFAD03D0276290484D6"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 37,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D353D4FE20184223C036B614C5D71EEA879A1F8B680846B161296943CF4CC3DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Repro.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Repro.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "421E52742466CFFC2125E9078167B9891EA2D55264301565004828534B3A19BB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Repro.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "418F4AAFD16FF2BBD82DC6AE9433CD4C03EED34B2BFAB70D0722C147785753B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4638A4A9F6AB599C36AC5B2D4020237DCE82149F4C74096AF9922C9046D02834"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4638A4A9F6AB599C36AC5B2D4020237DCE82149F4C74096AF9922C9046D02834"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 37,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D353D4FE20184223C036B614C5D71EEA879A1F8B680846B161296943CF4CC3DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 0,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "AD19007E823C3F6511CCD9DD83B566BFBBB3CB58219989632E565CFFDC813715"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 1,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "418F4AAFD16FF2BBD82DC6AE9433CD4C03EED34B2BFAB70D0722C147785753B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4638A4A9F6AB599C36AC5B2D4020237DCE82149F4C74096AF9922C9046D02834"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1CF15F09C874D25495896D4C741D213F26960FA5943AACCD675E73057E0CAF50"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 1,
            "length": 18,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "519FF187F653347D03EA45A817A1976FDC0B039BB328C668BDE7ABED09EC4B56"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "DFD50DEBF02579BD78EC7A983123640DD76C6506989BACF9670BFA881D5C3A18"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 45,
            "surroundingCode": "using OoplesFinance.StockIndicators.Models;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7ADE64AB4944AA9A00E3BAB3B7F18FFF98C0A158FEE4C84BD9692D71F94BF276"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Buffers;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "27327C5962F596C53DB5E0BB7C02D887BE422D91662C433E9E5444136263C308"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.cs",
          "line": 5,
          "offset": 1,
          "length": 32,
          "code": {
            "startLine": 4,
            "length": 32,
            "offset": 38,
            "surroundingCode": "using System.Runtime.InteropServices;\nusing System.Runtime.Intrinsics;\nusing System.Runtime.Intrinsics.X86;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "B99A9AE5B3DB128188FA662D0B18521BCF9348D3068A6F7D6719D2A9C81794B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.cs",
          "line": 6,
          "offset": 1,
          "length": 36,
          "code": {
            "startLine": 5,
            "length": 36,
            "offset": 33,
            "surroundingCode": "using System.Runtime.Intrinsics;\nusing System.Runtime.Intrinsics.X86;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "81B4D28E1C05073EAF54C1C5476734B700BC3CA79D4C28477BE4C1495F6BC300"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1CF15F09C874D25495896D4C741D213F26960FA5943AACCD675E73057E0CAF50"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 1,
            "length": 18,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Linq;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "397ECCF7671BE6C46B101AD9A7CFE539DA04A678B1D917D67CA1B63242DE2121"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Quantower.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Drawing;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "17B8E90F0A163084D46DB6FAF1421D2524A81CD91B743A97C2B499FDF9ACCC68"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Quantower.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 22,
            "surroundingCode": "using System.Drawing;\nusing System.Linq;\nusing TradingPlatform.BusinessLayer;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1398E2C8FDD20AA8BEE9E839B30911CDB2A5B2430634F5C563880513290C68DF"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6DCF435AC44E120AB98C6B03254E3149ADE131141808103098E2A93FDE8091D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "DFD50DEBF02579BD78EC7A983123640DD76C6506989BACF9670BFA881D5C3A18"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6DCF435AC44E120AB98C6B03254E3149ADE131141808103098E2A93FDE8091D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6E3AAC76B3DD0D7B540EA375B6DA82FA3C7876F6FD783BA87821CAB47CA62055"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing TALib;\r\nusing Tulip;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "BE787AC7AA209A59D1FD238ABEC589480F156C7F57322E7E0B176033DABEA6B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 7,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7FB977C9D814E72EEF0287233459BDCE10447CC766014E5E068DADA58AFFF903"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 0,
            "surroundingCode": "using Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "DA876F0D40E3C6B1313D3A0154AC951AD9DB3256FDA1F301AF0C1B584E21FA8F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D0009BD14D35BD6B4C3A106EE113253ECEB1B10846F43004766E2EBDEAEAB950"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "97B08D689EC2D4849147F640CE9B0F376D8FA133241322F7DB0F0F49814A60A5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.cs",
          "line": 1,
          "offset": 1,
          "length": 21,
          "code": {
            "startLine": 1,
            "length": 21,
            "offset": 0,
            "surroundingCode": "using System.Buffers;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "77C93476449A8381F479F41A8995A56836E295DD85BC3FA23B59A3C48C70A466"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4638A4A9F6AB599C36AC5B2D4020237DCE82149F4C74096AF9922C9046D02834"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D0009BD14D35BD6B4C3A106EE113253ECEB1B10846F43004766E2EBDEAEAB950"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "97B08D689EC2D4849147F640CE9B0F376D8FA133241322F7DB0F0F49814A60A5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 7,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "65471C92517949B7E7768BBA8C6DD5677C83C764027E72427B6A30F14DF29563"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 4,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6F1F2ED73CF99E3918FEA576A59EB9592966B57D1DC4DAFBE4C25C9C5713572D"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "97B08D689EC2D4849147F640CE9B0F376D8FA133241322F7DB0F0F49814A60A5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Quantower.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Quantower.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing TradingPlatform.BusinessLayer;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "32800B721BC5442F6B79295396D71C69F56E6DD266EF26002F37B87DFECE174C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Quantower.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Drawing;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "17B8E90F0A163084D46DB6FAF1421D2524A81CD91B743A97C2B499FDF9ACCC68"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6DCF435AC44E120AB98C6B03254E3149ADE131141808103098E2A93FDE8091D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "15D7888201B477EE134FE064B2B0A4E5547152F43EBF4AA07D54C15806815F7E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 4,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "418F4AAFD16FF2BBD82DC6AE9433CD4C03EED34B2BFAB70D0722C147785753B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 45,
            "surroundingCode": "using OoplesFinance.StockIndicators.Models;\r\nusing Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D756A5DE5BF28789C85840D11EC91ECEA5685D862C31160267ED7B379DFF694C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 7,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\nusing TALib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "505B47EA0A0D72EF876F885B79DC55A2A4A71B43FA3402DBC8DA683DDE0FDB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "9BE767436AC68137D5EE73EA972A565B2C69F0828E8D7DD8DD6E949DB225CF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 5,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 4,
            "length": 16,
            "offset": 38,
            "surroundingCode": "using System.Runtime.InteropServices;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "AA6A8AFC6F6E28422F1D2F479C091F30567102992216AAE5E15487B24B81416A"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1CF15F09C874D25495896D4C741D213F26960FA5943AACCD675E73057E0CAF50"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 1,
            "length": 18,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "519FF187F653347D03EA45A817A1976FDC0B039BB328C668BDE7ABED09EC4B56"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "DFD50DEBF02579BD78EC7A983123640DD76C6506989BACF9670BFA881D5C3A18"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4638A4A9F6AB599C36AC5B2D4020237DCE82149F4C74096AF9922C9046D02834"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "9BE767436AC68137D5EE73EA972A565B2C69F0828E8D7DD8DD6E949DB225CF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1CF15F09C874D25495896D4C741D213F26960FA5943AACCD675E73057E0CAF50"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 1,
            "length": 18,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "519FF187F653347D03EA45A817A1976FDC0B039BB328C668BDE7ABED09EC4B56"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "DFD50DEBF02579BD78EC7A983123640DD76C6506989BACF9670BFA881D5C3A18"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "EF0EAE842C29C2222D2DFA8E03175DA734D08D7B348B89FB1FB058F464684B09"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "9BE767436AC68137D5EE73EA972A565B2C69F0828E8D7DD8DD6E949DB225CF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6DCF435AC44E120AB98C6B03254E3149ADE131141808103098E2A93FDE8091D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "DFD50DEBF02579BD78EC7A983123640DD76C6506989BACF9670BFA881D5C3A18"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 36,
          "code": {
            "startLine": 3,
            "length": 36,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing OoplesFinance.StockIndicators;\r\nusing OoplesFinance.StockIndicators.Models;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "BAB50A923324E5EC5FD0FFD2911EB66B9382DE3B956ECC25CE7B04532C7F41EE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 43,
          "code": {
            "startLine": 4,
            "length": 43,
            "offset": 38,
            "surroundingCode": "using OoplesFinance.StockIndicators;\r\nusing OoplesFinance.StockIndicators.Models;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "0DCEA287835F513D6CB0A3DD226B2F92E85E52D87CCFADE5C37D97DE2D3D46A9"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "EF0EAE842C29C2222D2DFA8E03175DA734D08D7B348B89FB1FB058F464684B09"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4638A4A9F6AB599C36AC5B2D4020237DCE82149F4C74096AF9922C9046D02834"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 45,
            "surroundingCode": "using OoplesFinance.StockIndicators.Models;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7ADE64AB4944AA9A00E3BAB3B7F18FFF98C0A158FEE4C84BD9692D71F94BF276"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Validation.Tests.cs",
          "line": 9,
          "offset": 1,
          "length": 22,
          "code": {
            "startLine": 8,
            "length": 22,
            "offset": 27,
            "surroundingCode": "using Xunit.Abstractions;\r\nusing QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "801758F3D7EB3F7A980495E9805A3C4A39B82E5C7CBBFA8BC05D774A90CD6AC4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "9BE767436AC68137D5EE73EA972A565B2C69F0828E8D7DD8DD6E949DB225CF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 4,
          "offset": 1,
          "length": 37,
          "code": {
            "startLine": 3,
            "length": 37,
            "offset": 39,
            "surroundingCode": "using System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "24F04E2276219083A8E0DBF3CAEDC2D6318881644BCAB4C8440D44FB7CAB28BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Quantower.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Quantower.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing TradingPlatform.BusinessLayer;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "32800B721BC5442F6B79295396D71C69F56E6DD266EF26002F37B87DFECE174C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Quantower.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Drawing;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "17B8E90F0A163084D46DB6FAF1421D2524A81CD91B743A97C2B499FDF9ACCC68"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6DCF435AC44E120AB98C6B03254E3149ADE131141808103098E2A93FDE8091D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "15D7888201B477EE134FE064B2B0A4E5547152F43EBF4AA07D54C15806815F7E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 4,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "418F4AAFD16FF2BBD82DC6AE9433CD4C03EED34B2BFAB70D0722C147785753B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 45,
            "surroundingCode": "using OoplesFinance.StockIndicators.Models;\r\nusing Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D756A5DE5BF28789C85840D11EC91ECEA5685D862C31160267ED7B379DFF694C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 7,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "418F4AAFD16FF2BBD82DC6AE9433CD4C03EED34B2BFAB70D0722C147785753B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mgdi/Mgdi.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "9BE767436AC68137D5EE73EA972A565B2C69F0828E8D7DD8DD6E949DB225CF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 37,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D353D4FE20184223C036B614C5D71EEA879A1F8B680846B161296943CF4CC3DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 45,
            "surroundingCode": "using OoplesFinance.StockIndicators.Models;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7ADE64AB4944AA9A00E3BAB3B7F18FFF98C0A158FEE4C84BD9692D71F94BF276"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A2B82E7F3B28D1CEDD866C5204CFB7A5533AAF77C15D19266F16446B58D2DF61"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 7,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "65471C92517949B7E7768BBA8C6DD5677C83C764027E72427B6A30F14DF29563"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Numerics;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F17665E596987BA5174D50D525CB5596AB3D80145547FC4440497B00024DED00"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.cs",
          "line": 2,
          "offset": 1,
          "length": 22,
          "code": {
            "startLine": 1,
            "length": 22,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Numerics;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E283E93D556011B56A16FEBE1D240880A6105E4BBEEF237E03EE85ABDF28B9A3"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 37,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\nusing QuanTAlib;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D353D4FE20184223C036B614C5D71EEA879A1F8B680846B161296943CF4CC3DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/super/Super.Validation.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 4,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "C83EBCD6BCBA48B3B1E06D75B375607D41BE906C571B0277F802E97354B38FFA"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 7,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D0009BD14D35BD6B4C3A106EE113253ECEB1B10846F43004766E2EBDEAEAB950"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 9,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 8,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "97B08D689EC2D4849147F640CE9B0F376D8FA133241322F7DB0F0F49814A60A5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "CADE682EFB5E3AE18CDF6DCA4E8E4038A308B125718494A69A06D2459C2E8525"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D0009BD14D35BD6B4C3A106EE113253ECEB1B10846F43004766E2EBDEAEAB950"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "97B08D689EC2D4849147F640CE9B0F376D8FA133241322F7DB0F0F49814A60A5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D0009BD14D35BD6B4C3A106EE113253ECEB1B10846F43004766E2EBDEAEAB950"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "97B08D689EC2D4849147F640CE9B0F376D8FA133241322F7DB0F0F49814A60A5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Buffers;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "27327C5962F596C53DB5E0BB7C02D887BE422D91662C433E9E5444136263C308"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.cs",
          "line": 3,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 2,
            "length": 33,
            "offset": 22,
            "surroundingCode": "using System.Buffers;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E978A8BEED4B17BEB63C3D5CA12AD9643D1F1809B7F0E412583ED0853C62C005"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Quantower.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Quantower.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing TradingPlatform.BusinessLayer;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F96ABAA576CB56B0B2DB9DED1C6445140D8D1FC4303269FFB8798C592E86D36B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 36,
          "code": {
            "startLine": 2,
            "length": 36,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing TradingPlatform.BusinessLayer;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A12FDCBA38E218D975125C22F4D3B482848C7B0A97CF102955CA3AB616ADBC66"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/usf/Usf.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6DCF435AC44E120AB98C6B03254E3149ADE131141808103098E2A93FDE8091D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E180AE3FFE9CC2B4993D6BF34E410B86DE76A4DFFDA77335989398EEE25FB90E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 22,
          "code": {
            "startLine": 5,
            "length": 22,
            "offset": 27,
            "surroundingCode": "using Xunit.Abstractions;\r\nusing QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "801758F3D7EB3F7A980495E9805A3C4A39B82E5C7CBBFA8BC05D774A90CD6AC4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "9BE767436AC68137D5EE73EA972A565B2C69F0828E8D7DD8DD6E949DB225CF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Coverage.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Reflection;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "DA7C747423308E614D64E9165CC22069DCCC83718D6B6DC1E0F453B12087CC61"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Coverage.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 38,
            "surroundingCode": "using System.Runtime.Intrinsics.X86;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "0F2475411EB9DDF7EC8BC6DAF3BD33F8721B9A250DF90966C2B4013D6E50E777"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "1E6F2831BC131D50E985C0115886C16A3BEDDF5C475DBCA21F039E8B0AF098C4"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 2,
            "length": 12,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "F4BBC69C37FCAF1A9CA742CD68349FEC2E6BF3BD6351AF8A26E1758A18ED8382"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "53643233084AA5D4D42CF65AB6574AD65EA701DD88F56156BA32FC702B3EBE2E"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 7,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D0009BD14D35BD6B4C3A106EE113253ECEB1B10846F43004766E2EBDEAEAB950"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 9,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 8,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using Tulip;\r\nusing Xunit;\r\nusing Xunit.Abstractions;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "97B08D689EC2D4849147F640CE9B0F376D8FA133241322F7DB0F0F49814A60A5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "748AF0FD93D742A8ADFBF39D2F2A0E1E95AD5F9A46E9959BDF7701EE03249A9C"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 14,
            "surroundingCode": "using System;\nusing System.Collections.Generic;\nusing System.Numerics;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2F25767854E2E31A9851C729B37823FC66D8826D730925DDE73F81EDA4E95D35"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.cs",
          "line": 3,
          "offset": 1,
          "length": 22,
          "code": {
            "startLine": 2,
            "length": 22,
            "offset": 34,
            "surroundingCode": "using System.Collections.Generic;\nusing System.Numerics;\nusing System.Runtime.CompilerServices;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "148DF911D50B1D29AEAC002542A86741ED15D9671E85877A09BDB5C80B610768"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E03556D53FFC8D080A6AF36BD50A98FDC8D418D74C4E0769B2FBEAE5ABD0A20B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing Xunit;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "4638A4A9F6AB599C36AC5B2D4020237DCE82149F4C74096AF9922C9046D02834"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "A3CE24C29A7C8B160F6DEA078D4D441A95E03444EC16AB3C77B39F331D00C2FE"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volatility/atr/Atr.Validation.Tests.cs",
          "line": 6,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 5,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D82D454337B1DC26CEF033EE1E5BCAE87C1D69690AB9B90D1D804538C23CE08B"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 38,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2061CDF158B1CF3FED1177266EAB70BDAC631E5DF2A08308B0C4A9A03821E6EC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 0,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "AD19007E823C3F6511CCD9DD83B566BFBBB3CB58219989632E565CFFDC813715"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 1,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "418F4AAFD16FF2BBD82DC6AE9433CD4C03EED34B2BFAB70D0722C147785753B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 0,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "AD19007E823C3F6511CCD9DD83B566BFBBB3CB58219989632E565CFFDC813715"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 1,
            "length": 16,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib;\r\nusing Skender.Stock.Indicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "26A1B3F5F118BABEF22CA32E342DE6D992B65086C0585CF7A0D9B264C3D40A50"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing TALib;\r\nusing Tulip;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "BE787AC7AA209A59D1FD238ABEC589480F156C7F57322E7E0B176033DABEA6B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 4,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7FB977C9D814E72EEF0287233459BDCE10447CC766014E5E068DADA58AFFF903"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Quantower.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 16,
          "code": {
            "startLine": 2,
            "length": 16,
            "offset": 38,
            "surroundingCode": "using TradingPlatform.BusinessLayer;\r\nusing QuanTAlib;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "2061CDF158B1CF3FED1177266EAB70BDAC631E5DF2A08308B0C4A9A03821E6EC"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 1,
            "length": 12,
            "offset": 0,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "E7059938D1F2B4118DD123506F5B4912D26E234C732EBCECB1C8FE27D90CF0DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 22,
          "code": {
            "startLine": 1,
            "length": 22,
            "offset": 14,
            "surroundingCode": "using Xunit;\r\nusing QuanTAlib.Tests;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "EE3AB65CAC0B1E52BC93FD4A6511ED767F9463027509AFA6A7671F672F5954F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 1,
          "offset": 1,
          "length": 13,
          "code": {
            "startLine": 1,
            "length": 13,
            "offset": 0,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "876614EC0BDF202A51526A26557EE1772D3B3FE9854659EC49D889D94D2549EB"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 2,
          "offset": 1,
          "length": 33,
          "code": {
            "startLine": 1,
            "length": 33,
            "offset": 15,
            "surroundingCode": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "D7A2942B06D2C3A4E8E1237835807C1FC4F485DCDEF6C84A8041154C102D5A73"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 3,
          "offset": 1,
          "length": 18,
          "code": {
            "startLine": 2,
            "length": 18,
            "offset": 35,
            "surroundingCode": "using System.Collections.Generic;\r\nusing System.Linq;\r\nusing Xunit;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6DCF435AC44E120AB98C6B03254E3149ADE131141808103098E2A93FDE8091D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 4,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 3,
            "length": 12,
            "offset": 20,
            "surroundingCode": "using System.Linq;\r\nusing Xunit;\r\nusing QuanTAlib.Tests;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "6E3AAC76B3DD0D7B540EA375B6DA82FA3C7876F6FD783BA87821CAB47CA62055"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 7,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 6,
            "length": 12,
            "offset": 33,
            "surroundingCode": "using Skender.Stock.Indicators;\r\nusing TALib;\r\nusing Tulip;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "BE787AC7AA209A59D1FD238ABEC589480F156C7F57322E7E0B176033DABEA6B0"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 8,
          "offset": 1,
          "length": 12,
          "code": {
            "startLine": 7,
            "length": 12,
            "offset": 14,
            "surroundingCode": "using TALib;\r\nusing Tulip;\r\nusing OoplesFinance.StockIndicators;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "7FB977C9D814E72EEF0287233459BDCE10447CC766014E5E068DADA58AFFF903"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Code",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeRedundancy",
          "name": "Redundancies in Code"
        }
      ],
      "type": "Redundant using directive",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Using directive is not required by the code and can be safely removed",
      "detailsInfo": "Using directive is not required by the code and can be safely removed",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.Tests.cs",
          "line": 5,
          "offset": 1,
          "length": 24,
          "code": {
            "startLine": 4,
            "length": 24,
            "offset": 22,
            "surroundingCode": "using System.Drawing;\nusing System.Reflection;\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "RedundantUsingDirective"
      },
      "hash": "23C5762DCA5DC0434CEA334F830C2ABC486328194081CED1A0DBECB2291AFC7F"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 'i2' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 294,
          "offset": 16,
          "length": 2,
          "code": {
            "startLine": 293,
            "length": 2,
            "offset": 16,
            "surroundingCode": "\n        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "D164EC41285CC90878AFA04C0BA6B83E0FE58602F49D0B0A0ADDEF8BB5DBD560"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 'i2' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 262,
          "offset": 16,
          "length": 2,
          "code": {
            "startLine": 261,
            "length": 2,
            "offset": 63,
            "surroundingCode": "        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "568CAAAD34E2741D9EFF41FBB9ACDEF17CEF98B9C720DD7DA2E075DD3A0E274B"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 'im' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 294,
          "offset": 40,
          "length": 2,
          "code": {
            "startLine": 293,
            "length": 2,
            "offset": 40,
            "surroundingCode": "\n        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "D164EC41285CC90878AFA04C0BA6B83E0FE58602F49D0B0A0ADDEF8BB5DBD560"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 'im' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 262,
          "offset": 40,
          "length": 2,
          "code": {
            "startLine": 261,
            "length": 2,
            "offset": 87,
            "surroundingCode": "        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "568CAAAD34E2741D9EFF41FBB9ACDEF17CEF98B9C720DD7DA2E075DD3A0E274B"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 'mama' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 261,
          "offset": 28,
          "length": 4,
          "code": {
            "startLine": 260,
            "length": 4,
            "offset": 54,
            "surroundingCode": "        // State variables\n        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "13F8B6A0FF248FD2CB72F158FB792CC6D1259BB29879AC23CCA0DEA12BFB24DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 'q2' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 294,
          "offset": 24,
          "length": 2,
          "code": {
            "startLine": 293,
            "length": 2,
            "offset": 24,
            "surroundingCode": "\n        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "D164EC41285CC90878AFA04C0BA6B83E0FE58602F49D0B0A0ADDEF8BB5DBD560"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 'q2' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 262,
          "offset": 24,
          "length": 2,
          "code": {
            "startLine": 261,
            "length": 2,
            "offset": 71,
            "surroundingCode": "        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "568CAAAD34E2741D9EFF41FBB9ACDEF17CEF98B9C720DD7DA2E075DD3A0E274B"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 're' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/htit/Htit.cs",
          "line": 294,
          "offset": 32,
          "length": 2,
          "code": {
            "startLine": 293,
            "length": 2,
            "offset": 32,
            "surroundingCode": "\n        double i2 = 0, q2 = 0, re = 0, im = 0;\n        double p_i2 = 0, p_q2 = 0, p_re = 0, p_im = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "D164EC41285CC90878AFA04C0BA6B83E0FE58602F49D0B0A0ADDEF8BB5DBD560"
    },
    {
      "tool": "Code Inspection",
      "category": "Common Practices and Code Improvements",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.BestPractice",
          "name": "Common Practices and Code Improvements"
        }
      ],
      "type": "Local variable has too wide declaration scope",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Local variable 're' can be declared in inner scope",
      "detailsInfo": "Local variable is declared in a wider scope than the scope of its actual use",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.cs",
          "line": 262,
          "offset": 32,
          "length": 2,
          "code": {
            "startLine": 261,
            "length": 2,
            "offset": 79,
            "surroundingCode": "        double period = 0, mama = 0, sumPr = 0;\n        double i2 = 0, q2 = 0, re = 0, im = 0, lastValidPrice = 0;\n        double p_period = 0, p_phase = 0, p_mama = 0;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "TooWideLocalVariableScope"
      },
      "hash": "568CAAAD34E2741D9EFF41FBB9ACDEF17CEF98B9C720DD7DA2E075DD3A0E274B"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Auto-property accessor is never used: Private accessibility",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Auto-property accessor 'Current.get' is never used",
      "detailsInfo": "Accessor in auto-property is never used",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Validation.Tests.cs",
          "line": 60,
          "offset": 33,
          "length": 4,
          "code": {
            "startLine": 59,
            "length": 4,
            "offset": 34,
            "surroundingCode": "\r\n        public double Current { get; private set; }\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UnusedAutoPropertyAccessor.Local"
      },
      "hash": "A02788EC3FA04A4918E45B994A33125B9E4AC54F65418558A0EFFB3E5CA65409"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Symbol Declarations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.DeclarationRedundancy",
          "name": "Redundancies in Symbol Declarations"
        }
      ],
      "type": "Unused parameter: Private accessibility",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Parameter 'item' is never used",
      "detailsInfo": "Parameter is never used",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Tests.cs",
          "line": 60,
          "offset": 22,
          "length": 4,
          "code": {
            "startLine": 59,
            "length": 4,
            "offset": 55,
            "surroundingCode": "        bool eventFired = false;\r\n        mama.Pub += (item) => eventFired = true;\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UnusedParameter.Local"
      },
      "hash": "785B166C1546362726AE3DC196C996AC62C1AD80B3BED90169E9AB394D7BEDCD"
    },
    {
      "tool": "Code Inspection",
      "category": "Redundancies in Symbol Declarations",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.DeclarationRedundancy",
          "name": "Redundancies in Symbol Declarations"
        }
      ],
      "type": "Unused parameter: Private accessibility",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "High",
      "comment": "Parameter 'val' is never used",
      "detailsInfo": "Parameter is never used",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 106,
          "offset": 21,
          "length": 3,
          "code": {
            "startLine": 105,
            "length": 3,
            "offset": 54,
            "surroundingCode": "        bool eventFired = false;\r\n        adl.Pub += (val) => eventFired = true;\r\n        "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UnusedParameter.Local"
      },
      "hash": "6B2670407C81C4F28B3EC7D59CE9050A7363DA9977EB554688DC083DF58EF787"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 85,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 84,
            "length": 1,
            "offset": 103,
            "surroundingCode": "        double[] cData = _data.Bars.Close.Select(x => x.Value).ToArray();\r\n        double[][] inputs = { hData, lData, cData };\r\n        double[] options = { 14 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "89DF11B76267987E23239009B8A8F7959547E030D872EDB9F389F178DD9CF3A8"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 86,
          "offset": 28,
          "length": 1,
          "code": {
            "startLine": 85,
            "length": 1,
            "offset": 81,
            "surroundingCode": "        double[][] inputs = { hData, lData, cData };\r\n        double[] options = { 14 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "30F66B0CEDE796BB731C6F09B33408BFCBBD37C73EB3A7DD0E8F6023A2DA7A93"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.Validation.Tests.cs",
          "line": 89,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 88,
            "length": 1,
            "offset": 73,
            "surroundingCode": "        var adxInd = Tulip.Indicators.adx;\r\n        double[][] outputs = { new double[hData.Length - adxInd.Start(options)] };\r\n        adxInd.Run(inputs, options, outputs);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "F12A8F194DEFFDC6507623057AC8ACFF71682DEEA8F40A27664D3DE01F5C9AB2"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adx/Adx.cs",
          "line": 432,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 431,
            "length": 3,
            "offset": 35,
            "surroundingCode": "\n        return new TSeries(tList, new List<double>(v));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "8FCC54CE4C66ABCFA404BD940184C514FAA04849E93CAECCB7F9DE61A0F036B1"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 64,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 63,
            "length": 1,
            "offset": 103,
            "surroundingCode": "        double[] cData = _data.Bars.Close.Select(x => x.Value).ToArray();\r\n        double[][] inputs = { hData, lData, cData };\r\n        double[] options = { 14 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "89DF11B76267987E23239009B8A8F7959547E030D872EDB9F389F178DD9CF3A8"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 65,
          "offset": 28,
          "length": 1,
          "code": {
            "startLine": 64,
            "length": 1,
            "offset": 81,
            "surroundingCode": "        double[][] inputs = { hData, lData, cData };\r\n        double[] options = { 14 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "30F66B0CEDE796BB731C6F09B33408BFCBBD37C73EB3A7DD0E8F6023A2DA7A93"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.Validation.Tests.cs",
          "line": 68,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 67,
            "length": 1,
            "offset": 75,
            "surroundingCode": "        var adxrInd = Tulip.Indicators.adxr;\r\n        double[][] outputs = { new double[hData.Length - adxrInd.Start(options)] };\r\n        adxrInd.Run(inputs, options, outputs);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "16945B21408B53E8E94012C7729F6AE8A63C6C5134552E17061E9E0968C06EE4"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/adxr/Adxr.cs",
          "line": 233,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 232,
            "length": 3,
            "offset": 36,
            "surroundingCode": "\r\n        return new TSeries(tList, new List<double>(v));\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "CE669A976EDB1F460B2C2BD0427A9316A21B489989E9C524CF036246D8C1FA21"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 80,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 79,
            "length": 1,
            "offset": 79,
            "surroundingCode": "        var tulipIndicator = Tulip.Indicators.ao;\r\n        double[][] inputs = { high, low };\r\n        double[] options = { };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A2BB152521ADF3F41D62263F3BFF9D27D162E46D9A941DE2E15671F66796BD2B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 81,
          "offset": 28,
          "length": 3,
          "code": {
            "startLine": 80,
            "length": 3,
            "offset": 71,
            "surroundingCode": "        double[][] inputs = { high, low };\r\n        double[] options = { };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "EE11F4AB6774C2566E5ABF37225FDBF3F63AC9AD4F12D2E330B68F120CD0D5D1"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.Validation.Tests.cs",
          "line": 84,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 83,
            "length": 1,
            "offset": 57,
            "surroundingCode": "        int lookback = 33;\r\n        double[][] outputs = { new double[_data.Bars.Count - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "3FE326DA69DD164BB1F758CF007A626264CFABABAEF5568C3CB6A419A7093CFC"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/ao/Ao.cs",
          "line": 224,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 223,
            "length": 3,
            "offset": 35,
            "surroundingCode": "\n        return new TSeries(tList, new List<double>(v));\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "8FCC54CE4C66ABCFA404BD940184C514FAA04849E93CAECCB7F9DE61A0F036B1"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 82,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 81,
            "length": 1,
            "offset": 78,
            "surroundingCode": "        var apoIndicator = Tulip.Indicators.apo;\r\n        double[][] inputs = { input };\r\n        double[] options = { fastPeriod, slowPeriod };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "76EC45BC0CCE6E5734C68710FE36E79B0AD0BB60D70C9A48F207A5542457245B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 83,
          "offset": 28,
          "length": 1,
          "code": {
            "startLine": 82,
            "length": 1,
            "offset": 67,
            "surroundingCode": "        double[][] inputs = { input };\r\n        double[] options = { fastPeriod, slowPeriod };\r\n        double[][] outputs = { new double[input.Length - 1] }; // Tulip APO starts at 1"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "9A524220253A8B018F4B1E589DB91804576B2B2B5152C27B5C36C8B493083229"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/apo/Apo.Validation.Tests.cs",
          "line": 84,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 83,
            "length": 1,
            "offset": 85,
            "surroundingCode": "        double[] options = { fastPeriod, slowPeriod };\r\n        double[][] outputs = { new double[input.Length - 1] }; // Tulip APO starts at 1\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "E62A93E81BCBCA757348C80E38B95D167CF543B745F054FBF5786278AC77FD69"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 114,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 113,
            "length": 1,
            "offset": 101,
            "surroundingCode": "        double[] lData = _data.Bars.Low.Select(x => x.Value).ToArray();\r\n        double[][] inputs = { hData, lData };\r\n        double[] options = { 14 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "48E8B2469407C728B0CC2E8BA092E177EC5A9FDECDBCA388A70759444D347011"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 115,
          "offset": 28,
          "length": 1,
          "code": {
            "startLine": 114,
            "length": 1,
            "offset": 74,
            "surroundingCode": "        double[][] inputs = { hData, lData };\r\n        double[] options = { 14 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "76FECCA343E479097828762A46E5F6523DC8A26AC62FB53F5FC2021370479DB8"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 119,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 118,
            "length": 1,
            "offset": 77,
            "surroundingCode": "        var aroonInd = Tulip.Indicators.aroon;\r\n        double[][] outputs = { new double[hData.Length - 14], new double[hData.Length - 14] };\r\n        aroonInd.Run(inputs, options, outputs);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "BADD13326B96EE9EDA25BF4EF80B2A993863746251CA37A92EBFFFE7A2F4CC53"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.Validation.Tests.cs",
          "line": 126,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 125,
            "length": 1,
            "offset": 86,
            "surroundingCode": "        var aroonOscInd = Tulip.Indicators.aroonosc;\r\n        double[][] outputsOsc = { new double[hData.Length - 14] };\r\n        aroonOscInd.Run(inputs, options, outputsOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "44F9227E6EF5D0FE068A38E34BA99BC338EB566752570BB0C13FFF2E66B45860"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroon/Aroon.cs",
          "line": 255,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 254,
            "length": 3,
            "offset": 36,
            "surroundingCode": "\r\n        return new TSeries(tList, new List<double>(v));\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "CE669A976EDB1F460B2C2BD0427A9316A21B489989E9C524CF036246D8C1FA21"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 87,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 86,
            "length": 1,
            "offset": 101,
            "surroundingCode": "        double[] lData = _data.Bars.Low.Select(x => x.Value).ToArray();\r\n        double[][] inputs = { hData, lData };\r\n        double[] options = { 14 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "48E8B2469407C728B0CC2E8BA092E177EC5A9FDECDBCA388A70759444D347011"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 88,
          "offset": 28,
          "length": 1,
          "code": {
            "startLine": 87,
            "length": 1,
            "offset": 74,
            "surroundingCode": "        double[][] inputs = { hData, lData };\r\n        double[] options = { 14 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "76FECCA343E479097828762A46E5F6523DC8A26AC62FB53F5FC2021370479DB8"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.Validation.Tests.cs",
          "line": 92,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 91,
            "length": 1,
            "offset": 86,
            "surroundingCode": "        var aroonOscInd = Tulip.Indicators.aroonosc;\r\n        double[][] outputsOsc = { new double[hData.Length - 14] };\r\n        aroonOscInd.Run(inputs, options, outputsOsc);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "44F9227E6EF5D0FE068A38E34BA99BC338EB566752570BB0C13FFF2E66B45860"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/aroonosc/AroonOsc.cs",
          "line": 241,
          "offset": 35,
          "length": 3,
          "code": {
            "startLine": 240,
            "length": 3,
            "offset": 36,
            "surroundingCode": "\r\n        return new TSeries(tList, new List<double>(v));\r\n    }"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "CE669A976EDB1F460B2C2BD0427A9316A21B489989E9C524CF036246D8C1FA21"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/cfb/Cfb.Tests.cs",
          "line": 29,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 28,
            "length": 1,
            "offset": 73,
            "surroundingCode": "        // Use small lengths for easier testing\r\n        int[] lengths = { 4, 8, 12 };\r\n        var cfb = new Cfb(lengths);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "FCBD76F81BEA9EE242275088DC5F04CEA4076011805B20A6E739C0FB9BCAE3F0"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/rsx/Rsx.Quantower.Tests.cs",
          "line": 134,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 133,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/momentum/vel/Vel.Quantower.Tests.cs",
          "line": 134,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 133,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Quantower.Tests.cs",
          "line": 121,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 120,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3B0FAAC344BC65E45E9D33C6B75C388399D234D31CB9F62348AEA80246F29BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 49,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 48,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 9, 14, 20, 50 };\r\n        double offset = 0.85;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "35825C6B6254B85404B24359A5A78C713E421FD591CD06B139FAC6DB3AD22703"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 71,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 70,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 9, 14, 20, 50 };\r\n        double offset = 0.85;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "35825C6B6254B85404B24359A5A78C713E421FD591CD06B139FAC6DB3AD22703"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 97,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 96,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 9, 14, 20, 50 };\r\n        double offset = 0.85;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "35825C6B6254B85404B24359A5A78C713E421FD591CD06B139FAC6DB3AD22703"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/alma/Alma.Validation.Tests.cs",
          "line": 122,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 121,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 9, 14, 20, 50 };\r\n        double offset = 0.85;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "35825C6B6254B85404B24359A5A78C713E421FD591CD06B139FAC6DB3AD22703"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Quantower.Tests.cs",
          "line": 107,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 106,
            "length": 1,
            "offset": 62,
            "surroundingCode": "        var now = DateTime.UtcNow;\r\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "C32B2B0DDC6B5383259ABE7D6D0BCFD673AFA3A12332B068A276AA8B2E22D977"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/bessel/Bessel.Validation.Tests.cs",
          "line": 35,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 34,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] lengths = { 5, 14, 20, 50 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "5346F4E01C8A85E9EA20B5DA1340D1D68E771236E50B916863E7C9662AD75E47"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Quantower.Tests.cs",
          "line": 134,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 133,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 177,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 176,
            "length": 1,
            "offset": 78,
            "surroundingCode": "        var wmaIndicator = Tulip.Indicators.wma;\r\n        double[][] inputs = { input };\r\n        double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "15A628A6826B97FD3B4DB2C032CC2AFF8171091E1536B3DF6161A5D8119C3829"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 178,
          "offset": 28,
          "length": 1,
          "code": {
            "startLine": 177,
            "length": 1,
            "offset": 67,
            "surroundingCode": "        double[][] inputs = { input };\r\n        double[] options = { period };\r\n        double[][] outputs = { new double[input.Length - period + 1] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "818E9D993B8A8B7C7E0D8762C7D6376D08A0BAF52D2478DDB1C0E7D7464FBEE9"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Validation.Tests.cs",
          "line": 179,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 178,
            "length": 1,
            "offset": 69,
            "surroundingCode": "        double[] options = { period };\r\n        double[][] outputs = { new double[input.Length - period + 1] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "FC1E5DAF91CCD4CBCB95C1F384E24B81F7396A271CCADC869CF8ECAA223A76B6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Quantower.Tests.cs",
          "line": 134,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 133,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 40,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 39,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 60,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 59,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 87,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 86,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 100,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 99,
            "length": 1,
            "offset": 88,
            "surroundingCode": "            var demaIndicator = Tulip.Indicators.dema;\r\n            double[][] inputs = { tData };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A1A44E0C2F47DF07186E5171843FC6F116466B22E456CA2608BC90A717B6BDDE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 101,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 100,
            "length": 1,
            "offset": 75,
            "surroundingCode": "            double[][] inputs = { tData };\r\n            double[] options = { period };\r\n            "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "9D05CDF7A761CB10B9FF6FB6CF45F886B7D31C33E7D48C968208562CF4FEE8A5"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 117,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 116,
            "length": 1,
            "offset": 80,
            "surroundingCode": "            int lookback = 2 * (period - 1); \r\n            double[][] outputs = { new double[tData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "06AC78F8F88E6201BC9D94C093F8FB9CDE2769BFBC2E265ECB3D81C1D4EFB4D0"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 131,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 130,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dema/Dema.Validation.Tests.cs",
          "line": 162,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 161,
            "length": 1,
            "offset": 26,
            "surroundingCode": "\r\n        int[] periods = { 5, 10, 14, 20 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "5D144BF9DE9F33FA74CC9C1F3C76D3A25D401A1EC2C85E892DB57188958D0F22"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 95,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 94,
            "length": 1,
            "offset": 83,
            "surroundingCode": "        // Tulip does not have DWMA, so we chain two WMAs\r\n        int[] periods = { 10, 20 };\r\n        foreach (var period in periods)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "011D85D4CA0CC94816103EFBF08AC22007CE02E80869AE18E60C92E78D7FB200"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 103,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 102,
            "length": 1,
            "offset": 87,
            "surroundingCode": "            var wmaIndicator = Tulip.Indicators.wma;\r\n            double[][] inputs1 = { _testData.RawData.ToArray() };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "DE4A247DF5B141BE4171695FB69FBB8F15ABB30CE2CA65F639961E2D703B86DB"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 104,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 103,
            "length": 1,
            "offset": 98,
            "surroundingCode": "            double[][] inputs1 = { _testData.RawData.ToArray() };\r\n            double[] options = { period };\r\n            int lookback1 = period - 1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "3A22ECDBC530739ADACEA6B1BDCBF6A48F494123173365534258A88940AE68B7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 106,
          "offset": 35,
          "length": 1,
          "code": {
            "startLine": 105,
            "length": 1,
            "offset": 75,
            "surroundingCode": "            int lookback1 = period - 1;\r\n            double[][] outputs1 = { new double[_testData.RawData.Length - lookback1] };\r\n            wmaIndicator.Run(inputs1, options, outputs1);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "E8A77F47CFD5F0F0BCDCB34576A2BCDFEE9420D107EEB733BD78E098EC36A6AD"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 110,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 109,
            "length": 1,
            "offset": 61,
            "surroundingCode": "            // Tulip WMA 2\r\n            double[][] inputs2 = { outputs1[0] };\r\n            int lookback2 = period - 1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D7CA3C1826BCDDCAFB0A79351DFF9728B1DF1CE481906208C5B01C9EE1C5BBB1"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 112,
          "offset": 35,
          "length": 1,
          "code": {
            "startLine": 111,
            "length": 1,
            "offset": 75,
            "surroundingCode": "            int lookback2 = period - 1;\r\n            double[][] outputs2 = { new double[inputs2[0].Length - lookback2] };\r\n            wmaIndicator.Run(inputs2, options, outputs2);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "4FFD057DC6D1E86FB542CE2E7CBE0F89A85423FA025439467E838D99AAED1656"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 127,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 126,
            "length": 1,
            "offset": 85,
            "surroundingCode": "        // Skender does not have DWMA, so we chain two WMAs\r\n        int[] periods = { 10, 20 };\r\n        foreach (var period in periods)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "637B7B22BFB068E03CE04CBC5D03524F1EFF68E6277EE2F64B2581280169A3F5"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/dwma/Dwma.Validation.Tests.cs",
          "line": 155,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 154,
            "length": 1,
            "offset": 84,
            "surroundingCode": "        // TA-Lib does not have DWMA, so we chain two WMAs\r\n        int[] periods = { 10, 20 };\r\n        foreach (var period in periods)"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "1D2C3CD4A49915A45227223D9407B1B39CFD7C6AF05BBCA92DB7410A0B2181B2"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Quantower.Tests.cs",
          "line": 119,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 118,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3B0FAAC344BC65E45E9D33C6B75C388399D234D31CB9F62348AEA80246F29BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 41,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 40,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 61,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 60,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 85,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 84,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 108,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 107,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 135,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 134,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 166,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 165,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 193,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 192,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 206,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 205,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var emaIndicator = Tulip.Indicators.ema;\r\n            double[][] inputs = { tData };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "93C854788916F9FA7084DEE707C32F95C7CD94FFE4CB0DBBC0BB9DEE6076DFCB"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 207,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 206,
            "length": 1,
            "offset": 75,
            "surroundingCode": "            double[][] inputs = { tData };\r\n            double[] options = { period };\r\n            double[][] outputs = { new double[tData.Length] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3CD088BE2D70E8090B61D548E9B436455607083689AF8E50DE23C1E8742EA2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 208,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 207,
            "length": 1,
            "offset": 77,
            "surroundingCode": "            double[] options = { period };\r\n            double[][] outputs = { new double[tData.Length] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "7075F277DA30BCC76DA1AB6AFFFE2FBEC77FE504D47100D293C313AF43887687"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 222,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 221,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 239,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 238,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var emaIndicator = Tulip.Indicators.ema;\r\n            double[][] inputs = { tData };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "93C854788916F9FA7084DEE707C32F95C7CD94FFE4CB0DBBC0BB9DEE6076DFCB"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 240,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 239,
            "length": 1,
            "offset": 75,
            "surroundingCode": "            double[][] inputs = { tData };\r\n            double[] options = { period };\r\n            double[][] outputs = { new double[tData.Length] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3CD088BE2D70E8090B61D548E9B436455607083689AF8E50DE23C1E8742EA2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 241,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 240,
            "length": 1,
            "offset": 77,
            "surroundingCode": "            double[] options = { period };\r\n            double[][] outputs = { new double[tData.Length] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "7075F277DA30BCC76DA1AB6AFFFE2FBEC77FE504D47100D293C313AF43887687"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 255,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 254,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 268,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 267,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var emaIndicator = Tulip.Indicators.ema;\r\n            double[][] inputs = { sourceData };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "92F851CB6041CD614C30DCC86826413B634B01B7B0246DBF97FBC4F283FAA568"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 269,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 268,
            "length": 1,
            "offset": 80,
            "surroundingCode": "            double[][] inputs = { sourceData };\r\n            double[] options = { period };\r\n            double[][] outputs = { new double[sourceData.Length] };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "B197150144F77CC5A59B1B94416173947942C84293AD961C6E1C24D908DF5B0A"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 270,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 269,
            "length": 1,
            "offset": 77,
            "surroundingCode": "            double[] options = { period };\r\n            double[][] outputs = { new double[sourceData.Length] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "DCCBE20C5527EC9724DE4BE663B953FC3673565F4C583FA675EDF500BFD38E51"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ema/Ema.Validation.Tests.cs",
          "line": 284,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 283,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Quantower.Tests.cs",
          "line": 133,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 132,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105, 106, 107 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "371B77E8060341197CDDEBDCB637B048FF77E1F853B96330FCD53D9CDDC8517E"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 45,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 44,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 9, 14, 20, 50 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "F29EFAB9131745A8C351607EDB1AC3BBAC4F2F621D4D3EED7632B358EF5E7756"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 65,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 64,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 9, 14, 20, 50 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "F29EFAB9131745A8C351607EDB1AC3BBAC4F2F621D4D3EED7632B358EF5E7756"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 78,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 77,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var hmaIndicator = Tulip.Indicators.hma;\r\n            double[][] inputs = { tData };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "56E95085040EEBF1E039FA27F8E77F4BFD887D69A2582DEBADF3D94C9796B162"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 79,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 78,
            "length": 1,
            "offset": 75,
            "surroundingCode": "            double[][] inputs = { tData };\r\n            double[] options = { period };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "5B8DE638D72D1FD99BE3E56DC1C5DE7303E823DFDA17CBAA04DD57B26E71C4A2"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 98,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 97,
            "length": 1,
            "offset": 35,
            "surroundingCode": "\r\n            double[][] outputs = { new double[tData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A1F62CD9CC1273FEF635066A503800C20546E7A21F0E880C462745C84F38D454"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 112,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 111,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 9, 14, 20, 50 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "F29EFAB9131745A8C351607EDB1AC3BBAC4F2F621D4D3EED7632B358EF5E7756"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/hma/Hma.Validation.Tests.cs",
          "line": 136,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 135,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 9, 14, 20, 50 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "F29EFAB9131745A8C351607EDB1AC3BBAC4F2F621D4D3EED7632B358EF5E7756"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/jma/Jma.Quantower.Tests.cs",
          "line": 136,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 135,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Quantower.Tests.cs",
          "line": 121,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 120,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3B0FAAC344BC65E45E9D33C6B75C388399D234D31CB9F62348AEA80246F29BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 26,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 25,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 10, 14, 20 };\r\n        int fastPeriod = 2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "66915C4D3347672A5C7DF006E39622224CD69B8D439B1A87D295C9B77318FF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 48,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 47,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 10, 14, 20 };\r\n        int fastPeriod = 2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "66915C4D3347672A5C7DF006E39622224CD69B8D439B1A87D295C9B77318FF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 74,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 73,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 10, 14, 20 };\r\n        int fastPeriod = 2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "66915C4D3347672A5C7DF006E39622224CD69B8D439B1A87D295C9B77318FF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/kama/Kama.Validation.Tests.cs",
          "line": 96,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 95,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 10, 14, 20 };\r\n        int fastPeriod = 2;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "66915C4D3347672A5C7DF006E39622224CD69B8D439B1A87D295C9B77318FF2F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Quantower.Tests.cs",
          "line": 134,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 133,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 26,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 25,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 46,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 45,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/lsma/Lsma.Validation.Tests.cs",
          "line": 70,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 69,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Quantower.Tests.cs",
          "line": 124,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 123,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3B0FAAC344BC65E45E9D33C6B75C388399D234D31CB9F62348AEA80246F29BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Quantower.Tests.cs",
          "line": 134,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 133,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/pwma/Pwma.Validation.Tests.cs",
          "line": 25,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 24,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/rma/Rma.Quantower.Tests.cs",
          "line": 119,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 118,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3B0FAAC344BC65E45E9D33C6B75C388399D234D31CB9F62348AEA80246F29BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Quantower.Tests.cs",
          "line": 132,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 131,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 41,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 40,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 61,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 60,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 85,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 84,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 108,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 107,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 135,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 134,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 166,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 165,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 193,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 192,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 206,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 205,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var smaIndicator = Tulip.Indicators.sma;\r\n            double[][] inputs = { tData };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "999374D641CDC6A64E50DFF104F4CD17BEBE57100F3901AB20AD55FC0A0E4FF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 207,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 206,
            "length": 1,
            "offset": 75,
            "surroundingCode": "            double[][] inputs = { tData };\r\n            double[] options = { period };\r\n            int lookback = period - 1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "8848C305AA847EB944CD3A929DCB86D16751CCD45A4493BEEB2D554485D3756B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 209,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 208,
            "length": 1,
            "offset": 73,
            "surroundingCode": "            int lookback = period - 1;\r\n            double[][] outputs = { new double[tData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "37EE967A5527676DF3C68A6EA6A4407DF6B966F3037BB7C6226E366340E47647"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 223,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 222,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 240,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 239,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var smaIndicator = Tulip.Indicators.sma;\r\n            double[][] inputs = { tData };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "999374D641CDC6A64E50DFF104F4CD17BEBE57100F3901AB20AD55FC0A0E4FF5"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 241,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 240,
            "length": 1,
            "offset": 75,
            "surroundingCode": "            double[][] inputs = { tData };\r\n            double[] options = { period };\r\n            int lookback = period - 1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "8848C305AA847EB944CD3A929DCB86D16751CCD45A4493BEEB2D554485D3756B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 243,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 242,
            "length": 1,
            "offset": 73,
            "surroundingCode": "            int lookback = period - 1;\r\n            double[][] outputs = { new double[tData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "37EE967A5527676DF3C68A6EA6A4407DF6B966F3037BB7C6226E366340E47647"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 257,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 256,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 270,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 269,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var smaIndicator = Tulip.Indicators.sma;\r\n            double[][] inputs = { sourceData };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "DA47DFFB149AEB80A4E86EFD8FB45CB6AB964CC180C89007729C04C28FB9CDBA"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 271,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 270,
            "length": 1,
            "offset": 80,
            "surroundingCode": "            double[][] inputs = { sourceData };\r\n            double[] options = { period };\r\n            int lookback = period - 1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "B4C765D10313FAB87317659C02DB545452EF23838E108D6FDEF6CE255EF34873"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 273,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 272,
            "length": 1,
            "offset": 73,
            "surroundingCode": "            int lookback = period - 1;\r\n            double[][] outputs = { new double[sourceData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "ECCF9D7C1FAD81E7E49F9A0FC28B3AAE03431F6DD62D9D39BA9F9F6328DBF93F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/sma/Sma.Validation.Tests.cs",
          "line": 287,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 286,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Quantower.Tests.cs",
          "line": 119,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 118,
            "length": 1,
            "offset": 62,
            "surroundingCode": "        var now = DateTime.UtcNow;\r\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "C32B2B0DDC6B5383259ABE7D6D0BCFD673AFA3A12332B068A276AA8B2E22D977"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/ssf/Ssf.Validation.Tests.cs",
          "line": 38,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 37,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Quantower.Tests.cs",
          "line": 122,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 121,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3B0FAAC344BC65E45E9D33C6B75C388399D234D31CB9F62348AEA80246F29BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 28,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 27,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20 };\r\n        double vFactor = 0.7;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "E76679F46D923F30574ED141736F4637FC04704CCB70FBE2591E537388223A05"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 49,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 48,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20 };\r\n        double vFactor = 0.7;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "E76679F46D923F30574ED141736F4637FC04704CCB70FBE2591E537388223A05"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 76,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 75,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20 };\r\n        double vFactor = 0.7;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "E76679F46D923F30574ED141736F4637FC04704CCB70FBE2591E537388223A05"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 107,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 106,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20 };\r\n        double vFactor = 0.7;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "E76679F46D923F30574ED141736F4637FC04704CCB70FBE2591E537388223A05"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/t3/T3.Validation.Tests.cs",
          "line": 134,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 133,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20 };\r\n        double vFactor = 0.7;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "E76679F46D923F30574ED141736F4637FC04704CCB70FBE2591E537388223A05"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Quantower.Tests.cs",
          "line": 132,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 131,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 30,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 29,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 50,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 49,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 76,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 75,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 86,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 85,
            "length": 1,
            "offset": 88,
            "surroundingCode": "            var temaIndicator = Tulip.Indicators.tema;\r\n            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "0EED7A2DA5A5FCAA2A588638B8D62225500595983424D9E939F6E786CA816E28"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 87,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 86,
            "length": 1,
            "offset": 97,
            "surroundingCode": "            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };\r\n            "
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "2939FFAEF10E2EC14220975C7027E0E5BEF16F3623D46D800C121ACE29406A13"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 91,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 90,
            "length": 1,
            "offset": 80,
            "surroundingCode": "            int lookback = 3 * (period - 1); \r\n            double[][] outputs = { new double[_testData.RawData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D21D8503BC1070F416883096AF7B5836FCDC1FCB6F3D3EACA821C0384BCE5339"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/tema/Tema.Validation.Tests.cs",
          "line": 106,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 105,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Quantower.Tests.cs",
          "line": 132,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 131,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 26,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 25,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 60,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 59,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 86,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 85,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 96,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 95,
            "length": 1,
            "offset": 90,
            "surroundingCode": "            var trimaIndicator = Tulip.Indicators.trima;\r\n            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "66E61B28BEFD1587A4D819D95169FB8508357B1F1B32A3A507F475147C088D9F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 97,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 96,
            "length": 1,
            "offset": 97,
            "surroundingCode": "            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };\r\n            // Tulip TRIMA lookback might be different, let's calculate or infer"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "94B2AB210A6223EC9DEE6EBC4CD640E1503699FE879B8AFF7589EE708E6BE8CD"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 106,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 105,
            "length": 1,
            "offset": 74,
            "surroundingCode": "            int lookback = period - 1; \r\n            double[][] outputs = { new double[_testData.RawData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "AB93031ECE2E2A27D487FC62E9FEF78E5CC854891A2676CCDCBC862DDABB0A19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/trima/Trima.Validation.Tests.cs",
          "line": 120,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 119,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/vidya/Vidya.Quantower.Tests.cs",
          "line": 119,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 118,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105, 107, 106 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "D3B0FAAC344BC65E45E9D33C6B75C388399D234D31CB9F62348AEA80246F29BE"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Quantower.Tests.cs",
          "line": 132,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 131,
            "length": 1,
            "offset": 61,
            "surroundingCode": "        var now = DateTime.UtcNow;\n        double[] closes = { 100, 102, 104, 103, 105 };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "A58162613F1F18C219E72DFA111351D7F10F3D375BAA3E89B994D6604FAA699F"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 28,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 27,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 48,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 47,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 72,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 71,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 92,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 91,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 118,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 117,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 148,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 147,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 174,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 173,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 184,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 183,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var wmaIndicator = Tulip.Indicators.wma;\r\n            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "BFA6D9FC4E3E83662AD12A6E5EE2CFE42123D775ED65F76B434EF12F2AD8CB37"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 185,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 184,
            "length": 1,
            "offset": 97,
            "surroundingCode": "            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };\r\n            int lookback = period - 1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "599123134797C54549DADF212F0B0CC0780E56012C181D723699325463A67690"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 187,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 186,
            "length": 1,
            "offset": 73,
            "surroundingCode": "            int lookback = period - 1;\r\n            double[][] outputs = { new double[_testData.RawData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "48B94428BE4B7FB7DABB5219BE6E9EDEE4C4D11D0CBBD268563EE7BFEFF0BCED"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 201,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 200,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 215,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 214,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var wmaIndicator = Tulip.Indicators.wma;\r\n            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "BFA6D9FC4E3E83662AD12A6E5EE2CFE42123D775ED65F76B434EF12F2AD8CB37"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 216,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 215,
            "length": 1,
            "offset": 97,
            "surroundingCode": "            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };\r\n            int lookback = period - 1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "599123134797C54549DADF212F0B0CC0780E56012C181D723699325463A67690"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 218,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 217,
            "length": 1,
            "offset": 73,
            "surroundingCode": "            int lookback = period - 1;\r\n            double[][] outputs = { new double[_testData.RawData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "48B94428BE4B7FB7DABB5219BE6E9EDEE4C4D11D0CBBD268563EE7BFEFF0BCED"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 232,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 231,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 242,
          "offset": 33,
          "length": 1,
          "code": {
            "startLine": 241,
            "length": 1,
            "offset": 86,
            "surroundingCode": "            var wmaIndicator = Tulip.Indicators.wma;\r\n            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "BFA6D9FC4E3E83662AD12A6E5EE2CFE42123D775ED65F76B434EF12F2AD8CB37"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 243,
          "offset": 32,
          "length": 1,
          "code": {
            "startLine": 242,
            "length": 1,
            "offset": 97,
            "surroundingCode": "            double[][] inputs = { _testData.RawData.ToArray() };\r\n            double[] options = { period };\r\n            int lookback = period - 1;"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "599123134797C54549DADF212F0B0CC0780E56012C181D723699325463A67690"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 245,
          "offset": 34,
          "length": 1,
          "code": {
            "startLine": 244,
            "length": 1,
            "offset": 73,
            "surroundingCode": "            int lookback = period - 1;\r\n            double[][] outputs = { new double[_testData.RawData.Length - lookback] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "48B94428BE4B7FB7DABB5219BE6E9EDEE4C4D11D0CBBD268563EE7BFEFF0BCED"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/wma/Wma.Validation.Tests.cs",
          "line": 259,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 258,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        int[] periods = { 5, 10, 20, 50, 100 };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "72FF7AE8F5ADEA6CA927D1E2FEAA2F95EBE8D02BFCAB06187CF5D3C59D34A439"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 153,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 152,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        double[] high = { 12, 12, 12 };\r\n        double[] low = { 8, 8, 8 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "FCAD1C1CEA8645FFF41FC383E92A054C47341E00A531EE689D5F8C508DF2DDDD"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 154,
          "offset": 24,
          "length": 1,
          "code": {
            "startLine": 153,
            "length": 1,
            "offset": 64,
            "surroundingCode": "        double[] high = { 12, 12, 12 };\r\n        double[] low = { 8, 8, 8 };\r\n        double[] close = { 10, 12, 8 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "2EFDF0ED151E8E5E8E9C7451CDC85791604990C941C8B01B09B835BFFC1EC115"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 155,
          "offset": 26,
          "length": 1,
          "code": {
            "startLine": 154,
            "length": 1,
            "offset": 62,
            "surroundingCode": "        double[] low = { 8, 8, 8 };\r\n        double[] close = { 10, 12, 8 };\r\n        double[] volume = { 100, 200, 100 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "904B4BDC8E0C6AF4401AB5A1231C60CB525816DAE139F510EA483B058A832793"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 156,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 155,
            "length": 1,
            "offset": 67,
            "surroundingCode": "        double[] close = { 10, 12, 8 };\r\n        double[] volume = { 100, 200, 100 };\r\n        double[] output = new double[3];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "746B1AF9069FA215CCA7517D7B125E49C2BB3A0267CFAD30C3EF7CDE2FDA8762"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 169,
          "offset": 25,
          "length": 1,
          "code": {
            "startLine": 168,
            "length": 1,
            "offset": 31,
            "surroundingCode": "    {\r\n        double[] high = { 10, 11 };\r\n        double[] low = { 9, 10 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "260A1EDB63BDEE59B8D501AA2B2B9DD84AD4EC17A851DEC10F8FD6A5CBEADFDB"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 170,
          "offset": 24,
          "length": 1,
          "code": {
            "startLine": 169,
            "length": 1,
            "offset": 60,
            "surroundingCode": "        double[] high = { 10, 11 };\r\n        double[] low = { 9, 10 };\r\n        double[] close = { 9.5, 10.5 };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "8FF0DD529D9E109BE06B1EFAC4B1957911C83766127D2A46ABD08C6750F7D4F0"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 171,
          "offset": 26,
          "length": 1,
          "code": {
            "startLine": 170,
            "length": 1,
            "offset": 60,
            "surroundingCode": "        double[] low = { 9, 10 };\r\n        double[] close = { 9.5, 10.5 };\r\n        double[] volume = { 100 }; // Short"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "1E1D6E7007B701A453768D39BC4102811411102DE01D0CDAF0085996D1BDB356"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Tests.cs",
          "line": 172,
          "offset": 27,
          "length": 1,
          "code": {
            "startLine": 171,
            "length": 1,
            "offset": 67,
            "surroundingCode": "        double[] close = { 9.5, 10.5 };\r\n        double[] volume = { 100 }; // Short\r\n        double[] output = new double[2];"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "80B83B0A85E3CF5D93DA73A4B1FD75EF0154699387A17AF5D8B108DD069ABD08"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 72,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 71,
            "length": 1,
            "offset": 79,
            "surroundingCode": "        var tulipIndicator = Tulip.Indicators.ad;\r\n        double[][] inputs = { high, low, close, volume };\r\n        double[] options = Array.Empty<double>();"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "C93DABBF861FE1AD222F9392E62E2E4C100A8FADA0B9EBA86416EDD2C6CB932B"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adl/Adl.Validation.Tests.cs",
          "line": 74,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 73,
            "length": 1,
            "offset": 80,
            "surroundingCode": "        double[] options = Array.Empty<double>();\r\n        double[][] outputs = { new double[high.Length] };\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "62B5D99738AB063DB5282FB68736652048FA3CC75AF8582929C16F02D474C36E"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 88,
          "offset": 29,
          "length": 1,
          "code": {
            "startLine": 87,
            "length": 1,
            "offset": 82,
            "surroundingCode": "        var adoscIndicator = Tulip.Indicators.adosc;\r\n        double[][] inputs = { high, low, close, volume };\r\n        double[] options = { fastPeriod, slowPeriod };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "BCB529E4DCEC8428D810715099CDB68EDF6CA006B6300BF6F380115F01831160"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 89,
          "offset": 28,
          "length": 1,
          "code": {
            "startLine": 88,
            "length": 1,
            "offset": 86,
            "surroundingCode": "        double[][] inputs = { high, low, close, volume };\r\n        double[] options = { fastPeriod, slowPeriod };\r\n        double[][] outputs = { new double[close.Length - 1] }; // Tulip starts at 1? Need to check"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "797D7C5DC2010A7566D5F35E9DA756875709DB60D4641247306B8556E74F9741"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "lib/volume/adosc/Adosc.Validation.Tests.cs",
          "line": 90,
          "offset": 30,
          "length": 1,
          "code": {
            "startLine": 89,
            "length": 1,
            "offset": 85,
            "surroundingCode": "        double[] options = { fastPeriod, slowPeriod };\r\n        double[][] outputs = { new double[close.Length - 1] }; // Tulip starts at 1? Need to check\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "47B497D82BE2FD8D935AF4A1EB4030D4B1DC4B639F4913BE1E9F47BAA32F6392"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use collection expression syntax",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "Info",
      "comment": "Use collection expression",
      "detailsInfo": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 34,
          "offset": 48,
          "length": 12,
          "code": {
            "startLine": 33,
            "length": 12,
            "offset": 137,
            "surroundingCode": "        public DataSourceInputAttribute(string label = \"Data source\", int sortIndex = 20)\n            : base(label, sortIndex, variants: new object[]\n            {"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseCollectionExpression"
      },
      "hash": "FBB220ACEA920B12BDC69E74E6553AA1BD5EC2DCA68978CE5360312F277568AB"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 33,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 32,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 48,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 47,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 65,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 64,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "E52F3627D7FDF9EFA2C860A2D00698AC2FAA0A1E18F9436D1F7EA48B7F6B91C6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 111,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 110,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 140,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 139,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 155,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 154,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "E52F3627D7FDF9EFA2C860A2D00698AC2FAA0A1E18F9436D1F7EA48B7F6B91C6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 171,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 170,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 185,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 184,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 202,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 201,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "E52F3627D7FDF9EFA2C860A2D00698AC2FAA0A1E18F9436D1F7EA48B7F6B91C6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 219,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 218,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 278,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 277,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 295,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 294,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "E52F3627D7FDF9EFA2C860A2D00698AC2FAA0A1E18F9436D1F7EA48B7F6B91C6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 325,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 324,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 339,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 338,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 369,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 368,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 390,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 389,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "E52F3627D7FDF9EFA2C860A2D00698AC2FAA0A1E18F9436D1F7EA48B7F6B91C6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 414,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 413,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 428,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 427,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 466,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 465,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 479,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 478,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "E52F3627D7FDF9EFA2C860A2D00698AC2FAA0A1E18F9436D1F7EA48B7F6B91C6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 497,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 496,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "E52F3627D7FDF9EFA2C860A2D00698AC2FAA0A1E18F9436D1F7EA48B7F6B91C6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 517,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 516,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 534,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 533,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 598,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 597,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 611,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 610,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n        buffer.Add(10.0);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "D34DF1CE544A14DFDA2D82155E7D5D72175AEDCB0002377268B838F2F2DA1AD7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 635,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 634,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n        buffer.Add(10.0);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "D34DF1CE544A14DFDA2D82155E7D5D72175AEDCB0002377268B838F2F2DA1AD7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 654,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 653,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n        buffer.Add(10.0);"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "D34DF1CE544A14DFDA2D82155E7D5D72175AEDCB0002377268B838F2F2DA1AD7"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 671,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 670,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(3);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "E52F3627D7FDF9EFA2C860A2D00698AC2FAA0A1E18F9436D1F7EA48B7F6B91C6"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/core/ringbuffer/RingBuffer.Tests.cs",
          "line": 687,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 686,
            "length": 3,
            "offset": 28,
            "surroundingCode": "    {\r\n        var buffer = new RingBuffer(5);\r\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "1C09C8B7BA3583668E523225E8ED40DDBF80A38A60FC76813154C8BA2BAFEB19"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/conv/Conv.Tests.cs",
          "line": 91,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 90,
            "length": 3,
            "offset": 60,
            "surroundingCode": "        double[] kernel = [0.5, 1.0];\r\n        var source = new TSeries();\r\n        source.Add(new TValue(DateTime.UtcNow, 1));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "AB6E97332116661F1939BCE10ED1F33D1FEA8C02085C0FF1BA517F6E41ADC1F3"
    },
    {
      "tool": "Code Inspection",
      "category": "Language Usage Opportunities",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.LanguageUsage",
          "name": "Language Usage Opportunities"
        }
      ],
      "type": "Use object or collection initializer when possible",
      "tags": [
        "C#",
        ".NET 10.0"
      ],
      "severity": "Info",
      "comment": "Use collection initializer",
      "detailsInfo": "Suggest to replace object sequential assignments to newly created object fields by object initializer",
      "sources": [
        {
          "type": "file",
          "path": "lib/trends/mama/Mama.Tests.cs",
          "line": 44,
          "offset": 22,
          "length": 3,
          "code": {
            "startLine": 43,
            "length": 3,
            "offset": 53,
            "surroundingCode": "        var mama = new Mama();\r\n        var source = new TSeries();\r\n        source.Add(new TValue(DateTime.UtcNow, 100.0));"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UseObjectOrCollectionInitializer"
      },
      "hash": "582541200F768C3EB05259CF143134FF980909F792DF5E0BCE0CBB47E2916EDC"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Do not use object initializer for 'using' variable: Do not use object initializer for 'using' variable",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Initialize object properties inside the 'using' statement to ensure that the object is disposed if an exception is thrown during initialization",
      "detailsInfo": "Initialize object properties inside the 'using' statement to ensure that the object is disposed if an exception is thrown during initialization",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 251,
          "offset": 36,
          "length": 3,
          "code": {
            "startLine": 250,
            "length": 3,
            "offset": 36,
            "surroundingCode": "\n            using Pen defaultPen = new(series.Color, series.Width) { DashStyle = ConvertLineStyleToDashStyle(series.Style) };\n            using Pen coldPen = new(series.Color, series.Width) { DashStyle = DashStyle.Dot };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UsingStatementResourceInitialization"
      },
      "hash": "64A6C19592590CD8894255BADA8723D26F57827A5F26BA7AE9CF1E099A06F243"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Do not use object initializer for 'using' variable: Do not use object initializer for 'using' variable",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Initialize object properties inside the 'using' statement to ensure that the object is disposed if an exception is thrown during initialization",
      "detailsInfo": "Initialize object properties inside the 'using' statement to ensure that the object is disposed if an exception is thrown during initialization",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 252,
          "offset": 33,
          "length": 3,
          "code": {
            "startLine": 251,
            "length": 3,
            "offset": 158,
            "surroundingCode": "            using Pen defaultPen = new(series.Color, series.Width) { DashStyle = ConvertLineStyleToDashStyle(series.Style) };\n            using Pen coldPen = new(series.Color, series.Width) { DashStyle = DashStyle.Dot };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UsingStatementResourceInitialization"
      },
      "hash": "1721A3E78B9353558FB69D9E89270B8884D163955F237B0DF812CAEFD7757CE8"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Do not use object initializer for 'using' variable: Do not use object initializer for 'using' variable",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Initialize object properties inside the 'using' statement to ensure that the object is disposed if an exception is thrown during initialization",
      "detailsInfo": "Initialize object properties inside the 'using' statement to ensure that the object is disposed if an exception is thrown during initialization",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 324,
          "offset": 40,
          "length": 3,
          "code": {
            "startLine": 323,
            "length": 3,
            "offset": 53,
            "surroundingCode": "            {\n                using Pen defaultPen = new(series.Color, series.Width) { DashStyle = ConvertLineStyleToDashStyle(series.Style) };\n                using Pen coldPen = new(series.Color, series.Width) { DashStyle = DashStyle.Dot };"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UsingStatementResourceInitialization"
      },
      "hash": "E5B41C58DD857C3395E31E7AF86A47D25BEC3685F34391B3BA6FFFBDBAEFA01E"
    },
    {
      "tool": "Code Inspection",
      "category": "Potential Code Quality Issues",
      "categoryPath": [
        {
          "id": "CSHARP",
          "name": "C#"
        },
        {
          "id": "CSHARP.CodeSmell",
          "name": "Potential Code Quality Issues"
        }
      ],
      "type": "Do not use object initializer for 'using' variable: Do not use object initializer for 'using' variable",
      "tags": [
        "C#",
        ".NET 10.0",
        ".NET 8.0"
      ],
      "severity": "High",
      "comment": "Initialize object properties inside the 'using' statement to ensure that the object is disposed if an exception is thrown during initialization",
      "detailsInfo": "Initialize object properties inside the 'using' statement to ensure that the object is disposed if an exception is thrown during initialization",
      "sources": [
        {
          "type": "file",
          "path": "quantower/IndicatorExtensions.cs",
          "line": 325,
          "offset": 37,
          "length": 3,
          "code": {
            "startLine": 324,
            "length": 3,
            "offset": 166,
            "surroundingCode": "                using Pen defaultPen = new(series.Color, series.Width) { DashStyle = ConvertLineStyleToDashStyle(series.Style) };\n                using Pen coldPen = new(series.Color, series.Width) { DashStyle = DashStyle.Dot };\n"
          }
        }
      ],
      "attributes": {
        "module": "",
        "inspectionName": "UsingStatementResourceInitialization"
      },
      "hash": "872630AD8073F873141DD9C4B38D6CAEF7E7C6BCB97D1AC57A5DBA95FCD8CECD"
    }
  ]
}