NJsonSchema.CodeGeneration 11.6.1

NJsonSchema for .NET

NSwag | NJsonSchema | Apimundo | Namotion.Reflection

Azure DevOps Nuget Discord StackOverflow Wiki Apimundo

NJsonSchema is a .NET library to read, generate and validate JSON Schema draft v4+ schemas. The library can read a schema from a file or string and validate JSON data against it. A schema can also be generated from an existing .NET class. With the code generation APIs you can generate C# and TypeScript classes or interfaces from a schema.

The library uses Json.NET to read and write JSON data and Namotion.Reflection for additional .NET reflection APIs.

NuGet packages:

Preview NuGet Feed: https://www.myget.org/F/njsonschema/api/v3/index.json

Features:

NJsonSchema is heavily used in NSwag, a Swagger API toolchain for .NET which generates client code for Web API services. NSwag also provides command line tools to use the NJsonSchema's JSON Schema generator (command types2swagger).

The project is developed and maintained by Rico Suter and other contributors.

Some code generators can directly be used via the Apimundo service.

NJsonSchema usage

The JsonSchema class can be used as follows:

var schema = JsonSchema.FromType<Person>();
var schemaData = schema.ToJson();
var errors = schema.Validate("{...}");

foreach (var error in errors)
    Console.WriteLine(error.Path + ": " + error.Kind);

schema = await JsonSchema.FromJsonAsync(schemaData);

The Person class:

public class Person
{
    [Required]
    public string FirstName { get; set; }

    public string MiddleName { get; set; }

    [Required]
    public string LastName { get; set; }

    public Gender Gender { get; set; }

    [Range(2, 5)]
    public int NumberWithRange { get; set; }

    public DateTime Birthday { get; set; }

    public Company Company { get; set; }

    public Collection<Car> Cars { get; set; }
}

public enum Gender
{
    Male,
    Female
}

public class Car
{
    public string Name { get; set; }

    public Company Manufacturer { get; set; }
}

public class Company
{
    public string Name { get; set; }
}

The generated JSON schema data stored in the schemaData variable:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Person",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "FirstName",
    "LastName"
  ],
  "properties": {
    "FirstName": {
      "type": "string",
      "minLength": 1
    },
    "MiddleName": {
      "type": [
        "null",
        "string"
      ]
    },
    "LastName": {
      "type": "string",
      "minLength": 1
    },
    "Gender": {
      "$ref": "#/definitions/Gender"
    },
    "NumberWithRange": {
      "type": "integer",
      "format": "int32",
      "maximum": 5.0,
      "minimum": 2.0
    },
    "Birthday": {
      "type": "string",
      "format": "date-time"
    },
    "Company": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/definitions/Company"
        }
      ]
    },
    "Cars": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/Car"
      }
    }
  },
  "definitions": {
    "Gender": {
      "type": "integer",
      "description": "",
      "x-enumNames": [
        "Male",
        "Female"
      ],
      "enum": [
        0,
        1
      ]
    },
    "Company": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": [
            "null",
            "string"
          ]
        }
      }
    },
    "Car": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": [
            "null",
            "string"
          ]
        },
        "Manufacturer": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/definitions/Company"
            }
          ]
        }
      }
    }
  }
}

NJsonSchema.CodeGeneration usage

The NJsonSchema.CodeGeneration can be used to generate C# or TypeScript code from a JSON schema:

var generator = new CSharpGenerator(schema);
var file = generator.GenerateFile();

The file variable now contains the C# code for all the classes defined in the JSON schema.

TypeScript

The previously generated JSON Schema would generate the following TypeScript interfaces.

Settings:

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Interface, TypeScriptVersion = 4.3m }

Output:

export enum Gender {
    Male = 0, 
    Female = 1, 
}

export interface Company {
    Name: string | undefined;
}

export interface Car {
    Name: string | undefined;
    Manufacturer: Company | undefined;
}

export interface Person {
    FirstName: string;
    MiddleName: string | undefined;
    LastName: string;
    Gender: Gender;
    NumberWithRange: number;
    Birthday: Date;
    Company: Company | undefined;
    Cars: Car[] | undefined;
}

... and the following TypeScript classes.

Settings:

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Class, TypeScriptVersion = 4.3m }

Output:

export enum Gender {
    Male = 0, 
    Female = 1, 
}

export class Company implements ICompany {
    name: string | undefined;

    constructor(data?: ICompany) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.name = data["Name"];
        }
    }

    static fromJS(data: any): Company {
        let result = new Company();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["Name"] = this.name;
        return data; 
    }
}

export interface ICompany {
    name: string | undefined;
}

export class Car implements ICar {
    name: string | undefined;
    manufacturer: Company | undefined;

    constructor(data?: ICar) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.name = data["Name"];
            this.manufacturer = data["Manufacturer"] ? Company.fromJS(data["Manufacturer"]) : <any>undefined;
        }
    }

    static fromJS(data: any): Car {
        let result = new Car();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["Name"] = this.name;
        data["Manufacturer"] = this.manufacturer ? this.manufacturer.toJSON() : <any>undefined;
        return data; 
    }
}

export interface ICar {
    name: string | undefined;
    manufacturer: Company | undefined;
}

export class Person implements IPerson {
    firstName: string;
    middleName: string | undefined;
    lastName: string;
    gender: Gender;
    numberWithRange: number;
    birthday: Date;
    company: Company | undefined;
    cars: Car[] | undefined;

    constructor(data?: IPerson) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.firstName = data["FirstName"];
            this.middleName = data["MiddleName"];
            this.lastName = data["LastName"];
            this.gender = data["Gender"];
            this.numberWithRange = data["NumberWithRange"];
            this.birthday = data["Birthday"] ? new Date(data["Birthday"].toString()) : <any>undefined;
            this.company = data["Company"] ? Company.fromJS(data["Company"]) : <any>undefined;
            if (data["Cars"] && data["Cars"].constructor === Array) {
                this.cars = [];
                for (let item of data["Cars"])
                    this.cars.push(Car.fromJS(item));
            }
        }
    }

    static fromJS(data: any): Person {
        let result = new Person();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["FirstName"] = this.firstName;
        data["MiddleName"] = this.middleName;
        data["LastName"] = this.lastName;
        data["Gender"] = this.gender;
        data["NumberWithRange"] = this.numberWithRange;
        data["Birthday"] = this.birthday ? this.birthday.toISOString() : <any>undefined;
        data["Company"] = this.company ? this.company.toJSON() : <any>undefined;
        if (this.cars && this.cars.constructor === Array) {
            data["Cars"] = [];
            for (let item of this.cars)
                data["Cars"].push(item.toJSON());
        }
        return data; 
    }
}

export interface IPerson {
    firstName: string;
    middleName: string | undefined;
    lastName: string;
    gender: Gender;
    numberWithRange: number;
    birthday: Date;
    company: Company | undefined;
    cars: Car[] | undefined;
}

NJsonSchema.SampleJsonSchemaGenerator usage

The NJsonSchema.SampleJsonSchemaGenerator can be used to generate a JSON Schema from sample JSON data:

JSON Schema Specification

By default, the NJsonSchema.SampleJsonSchemaGenerator generates a JSON Schema based on the JSON Schema specification. See: JSON Schema Specification

var generator = new SampleJsonSchemaGenerator(new SampleJsonSchemaGeneratorSettings());

var schema = generator.Generate("{...}");

Input:

{
  "int": 1,
  "float": 340282346638528859811704183484516925440.0,
  "str": "abc",
  "bool": true,
  "date": "2012-07-19",
  "datetime": "2012-07-19 10:11:11",
  "timespan": "10:11:11"
}

Output:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "int": {
      "type": "integer"
    },
    "float": {
      "type": "number"
    },
    "str": {
      "type": "string"
    },
    "bool": {
      "type": "boolean"
    },
    "date": {
      "type": "string",
      "format": "date"
    },
    "datetime": {
      "type": "string",
      "format": "date-time"
    },
    "timespan": {
      "type": "string",
      "format": "duration"
    }
  }
}

OpenApi Specification

To generate a JSON Schema for OpenApi, provide the SchemaType.OpenApi3 in the settings. See: OpenApi Specification

var generator = new SampleJsonSchemaGenerator(new SampleJsonSchemaGeneratorSettings { SchemaType = SchemaType.OpenApi3 });

var schema = generator.Generate("{...}");

Input:

{
  "int": 12345,
  "long": 1736347656630,
  "float": 340282346638528859811704183484516925440.0,
  "double": 340282346638528859811704183484516925440123456.0,
}

Output:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "int": {
      "type": "integer",
      "format": "int32"
    },
    "long": {
      "type": "integer",
      "format": "int64"
    },
    "float": {
      "type": "number",
      "format": "float"
    },
    "double": {
      "type": "number",
      "format": "double"
    }
  }
}

Final notes

Applications which use the library:

Showing the top 20 packages that depend on NJsonSchema.CodeGeneration.

Packages Downloads
NJsonSchema.CodeGeneration.CSharp
JSON Schema draft v4 reader, generator and validator for .NET
126
NJsonSchema.CodeGeneration.CSharp
JSON Schema draft v4 reader, generator and validator for .NET
127
NJsonSchema.CodeGeneration.CSharp
JSON Schema draft v4 reader, generator and validator for .NET
129
NJsonSchema.CodeGeneration.CSharp
JSON Schema reader, generator and validator for .NET
126
NJsonSchema.CodeGeneration.CSharp
JSON Schema reader, generator and validator for .NET
127
NJsonSchema.CodeGeneration.CSharp
JSON Schema reader, generator and validator for .NET
129
NJsonSchema.CodeGeneration.CSharp
JSON Schema reader, generator and validator for .NET
130
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
126
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
132
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
127
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
131
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
132
NSwag.AssemblyLoader
NSwag: The Swagger API toolchain for .NET and TypeScript
132
NSwag.CodeGeneration
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
127
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
125
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
128
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
134
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
128
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
130
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
133

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

Version Downloads Last updated
11.6.1 6 04/20/2026
11.6.0 6 04/08/2026
11.5.2 54 11/07/2025
11.5.1 58 10/03/2025
11.5.0 68 09/16/2025
11.4.0 63 07/31/2025
11.3.2 102 04/29/2025
11.3.1 70 04/29/2025
11.3.0 65 04/28/2025
11.2.0 75 04/01/2025
11.1.0 85 11/19/2024
11.0.2 89 07/24/2024
11.0.1 94 07/24/2024
11.0.0 79 07/24/2024
11.0.0-preview008 98 07/24/2024
11.0.0-preview007 80 07/24/2024
11.0.0-preview006 84 07/24/2024
11.0.0-preview005 96 07/24/2024
11.0.0-preview004 92 07/24/2024
11.0.0-preview003 85 07/24/2024
11.0.0-preview002 82 07/24/2024
11.0.0-preview001 98 07/24/2024
10.9.0 86 07/24/2024
10.8.0 95 07/24/2024
10.7.2 90 09/04/2024
10.7.1 89 07/24/2024
10.7.0 95 07/25/2024
10.6.10 111 07/24/2024
10.6.9 80 07/24/2024
10.6.8 84 07/24/2024
10.6.7 93 07/24/2024
10.6.6 79 07/24/2024
10.6.5 76 07/26/2024
10.6.4 90 07/24/2024
10.6.3 96 08/29/2024
10.6.2 82 07/24/2024
10.6.1 84 07/24/2024
10.6.0 100 07/24/2024
10.5.2 87 07/24/2024
10.5.1 91 09/13/2024
10.5.0 79 07/24/2024
10.4.6 87 07/24/2024
10.4.5 71 07/24/2024
10.4.4 83 07/24/2024
10.4.3 95 09/18/2024
10.4.2 85 07/24/2024
10.4.1 95 07/24/2024
10.4.0 93 07/24/2024
10.3.11 104 07/24/2024
10.3.10 83 07/24/2024
10.3.9 88 07/24/2024
10.3.8 97 07/26/2024
10.3.7 92 07/24/2024
10.3.6 89 07/24/2024
10.3.5 84 07/24/2024
10.3.4 89 07/24/2024
10.3.3 79 07/25/2024
10.3.2 95 07/24/2024
10.3.1 77 07/26/2024
10.3.0 92 07/24/2024
10.2.2 82 07/24/2024
10.2.1 115 07/24/2024
10.2.0 80 07/24/2024
10.1.26 99 09/01/2024
10.1.25 87 07/24/2024
10.1.24 91 07/24/2024
10.1.23 96 09/14/2024
10.1.22 99 07/24/2024
10.1.21 89 07/24/2024
10.1.20 111 08/29/2024
10.1.19 89 07/24/2024
10.1.18 91 07/24/2024
10.1.17 82 07/24/2024
10.1.16 109 07/24/2024
10.1.15 98 07/24/2024
10.1.14 86 07/24/2024
10.1.13 95 07/24/2024
10.1.12 96 07/24/2024
10.1.11 100 09/02/2024
10.1.10 88 07/24/2024
10.1.9 91 07/24/2024
10.1.8 109 07/24/2024
10.1.7 94 07/24/2024
10.1.6 97 07/24/2024
10.1.5 97 07/24/2024
10.1.4 104 07/24/2024
10.1.3 92 07/24/2024
10.1.2 92 07/24/2024
10.1.1 97 07/25/2024
10.1.0 81 09/16/2024
10.0.28 79 07/24/2024
10.0.27 94 07/24/2024
10.0.26 82 07/24/2024
10.0.25 84 09/17/2024
10.0.24 94 07/24/2024
10.0.23 93 07/24/2024
10.0.22 83 07/24/2024
10.0.21 96 07/24/2024
10.0.20 88 07/25/2024
10.0.19 93 07/24/2024
10.0.18 109 07/24/2024
10.0.17 90 07/24/2024
10.0.16 91 07/24/2024
10.0.15 84 07/24/2024
10.0.14 90 07/24/2024
10.0.13 89 09/14/2024
10.0.12 95 07/24/2024
10.0.11 80 07/24/2024
10.0.10 78 09/14/2024
10.0.9 101 07/25/2024
10.0.8 75 07/24/2024
10.0.7 72 07/24/2024
10.0.6 94 07/25/2024
10.0.5 97 07/24/2024
10.0.4 88 09/20/2024
10.0.3 89 07/24/2024
10.0.1 82 07/24/2024
10.0.0 82 09/18/2024
9.14.1 106 07/24/2024
9.14.0 90 07/25/2024
9.13.37 82 07/24/2024
9.13.36 85 07/24/2024
9.13.35 99 07/24/2024
9.13.34 82 07/24/2024
9.13.33 86 07/24/2024
9.13.32 93 07/24/2024
9.13.31 96 09/19/2024
9.13.30 80 07/24/2024
9.13.29 80 07/24/2024
9.13.28 99 07/24/2024
9.13.27 92 07/24/2024
9.13.26 83 07/25/2024
9.13.25 88 07/24/2024
9.13.24 97 09/17/2024
9.13.23 85 07/24/2024
9.13.22 77 07/24/2024
9.13.19 112 08/28/2024
9.13.18 91 07/24/2024
9.13.17 100 07/24/2024
9.13.16 82 07/24/2024
9.13.15 83 07/24/2024
9.13.14 95 07/24/2024
9.13.13 77 07/26/2024
9.13.12 91 07/24/2024
9.13.11 86 07/24/2024
9.13.10 88 09/16/2024
9.13.9 99 07/24/2024
9.13.8 95 07/24/2024
9.13.7 89 08/29/2024
9.13.5 85 07/24/2024
9.13.4 100 07/24/2024
9.13.3 93 07/26/2024
9.13.2 94 07/24/2024
9.13.1 92 07/24/2024
9.13.0 92 07/24/2024
9.12.7 98 07/24/2024
9.12.6 89 07/24/2024
9.12.5 82 07/24/2024
9.12.4 85 07/24/2024
9.12.3 77 07/24/2024
9.12.2 97 07/24/2024
9.12.1 83 07/24/2024
9.12.0 93 07/25/2024
9.11.1 81 07/24/2024
9.11.0 91 07/24/2024
9.10.75 82 07/24/2024
9.10.74 93 07/24/2024
9.10.73 88 08/29/2024
9.10.72 89 07/24/2024
9.10.71 92 07/24/2024
9.10.70 94 07/26/2024
9.10.69 88 07/24/2024
9.10.68 82 07/24/2024
9.10.67 95 09/16/2024
9.10.66 80 07/24/2024
9.10.65 80 07/24/2024
9.10.64 100 07/24/2024
9.10.63 91 07/24/2024
9.10.62 123 07/24/2024
9.10.61 90 07/24/2024
9.10.60 102 08/29/2024
9.10.59 86 07/25/2024
9.10.58 96 07/24/2024
9.10.57 92 07/24/2024
9.10.56 85 07/26/2024
9.10.55 94 07/24/2024
9.10.54 97 07/24/2024
9.10.53 75 07/24/2024
9.10.52 88 07/24/2024
9.10.51 82 07/24/2024
9.10.50 81 07/24/2024
9.10.49 87 07/24/2024
9.10.48 84 07/24/2024
9.10.47 102 07/24/2024
9.10.46 88 07/24/2024
9.10.45 97 07/24/2024
9.10.44 88 07/24/2024
9.10.43 102 07/24/2024
9.10.42 85 09/17/2024
9.10.41 79 07/24/2024
9.10.40 76 07/24/2024
9.10.39 91 07/24/2024
9.10.38 94 07/24/2024
9.10.37 93 07/24/2024
9.10.36 85 09/20/2024
9.10.35 77 07/24/2024
9.10.34 77 09/02/2024
9.10.33 79 07/24/2024
9.10.32 65 07/24/2024
9.10.31 90 08/10/2024
9.10.30 91 07/24/2024
9.10.29 85 07/24/2024
9.10.28 96 08/26/2024
9.10.27 95 07/24/2024
9.10.26 108 07/24/2024
9.10.25 93 07/25/2024
9.10.24 95 07/24/2024
9.10.23 95 07/24/2024
9.10.22 88 08/28/2024
9.10.21 82 07/24/2024
9.10.20 92 08/28/2024
9.10.19 85 07/24/2024
9.10.18 76 07/24/2024
9.10.17 87 07/24/2024
9.10.16 92 09/20/2024
9.10.15 92 07/24/2024
9.10.14 76 07/24/2024
9.10.13 90 07/24/2024
9.10.12 96 07/24/2024
9.10.11 95 09/20/2024
9.10.10 85 07/24/2024
9.10.9 86 07/24/2024
9.10.8 84 07/24/2024
9.10.7 89 07/24/2024
9.10.6 94 07/24/2024
9.10.5 88 07/24/2024
9.10.4 105 07/24/2024
9.10.3 92 07/24/2024
9.10.2 93 07/24/2024
9.10.1 98 07/25/2024
9.10.0 80 09/18/2024
9.9.17 84 07/24/2024
9.9.16 85 07/24/2024
9.9.15 78 09/03/2024
9.9.14 77 07/24/2024
9.9.13 72 09/15/2024
9.9.12 85 09/15/2024
9.9.11 82 07/24/2024
9.9.10 94 07/24/2024
9.9.9 90 09/07/2024
9.9.8 96 07/24/2024
9.9.7 82 07/24/2024
9.9.6 88 07/24/2024
9.9.5 90 07/24/2024
9.9.4 102 07/24/2024
9.9.3 94 07/24/2024
9.9.2 103 07/24/2024
9.9.1 101 07/24/2024
9.9.0 89 09/17/2024
9.8.3 87 07/24/2024
9.8.2 100 07/24/2024
9.8.1 99 07/26/2024
9.8.0 103 07/24/2024
9.7.7 105 07/24/2024
9.7.6 104 07/24/2024
9.7.5 89 07/24/2024
9.7.3 87 07/24/2024
9.7.2 105 07/24/2024
9.7.1 92 09/18/2024
9.7.0 94 07/24/2024
9.6.5 99 07/24/2024
9.6.4 98 07/24/2024
9.6.3 85 07/24/2024
9.6.2 96 07/24/2024
9.6.1 90 07/24/2024
9.6.0 101 07/24/2024
9.5.4 85 07/24/2024
9.5.3 94 07/24/2024
9.5.2 80 07/24/2024
9.5.1 106 07/24/2024
9.5.0 106 07/24/2024
9.4.10 95 07/24/2024
9.4.9 84 07/24/2024
9.4.8 97 09/14/2024
9.4.7 90 07/24/2024
9.4.6 84 07/24/2024
9.4.5 79 09/08/2024
9.4.4 93 07/24/2024
9.4.3 85 07/24/2024
9.4.2 114 08/28/2024
9.4.1 88 07/24/2024
9.4.0 74 07/26/2024
9.3.2 87 07/24/2024
9.3.1 93 07/24/2024
9.3.0 91 07/24/2024
9.2.5 89 07/24/2024
9.2.4 81 07/24/2024
9.2.3 88 07/24/2024
9.2.2 95 07/24/2024
9.2.1 79 07/24/2024
9.2.0 97 07/24/2024
9.1.13 96 07/24/2024
9.1.12 91 09/15/2024
9.1.11 70 07/24/2024
9.1.10 102 11/13/2024
9.1.9 83 07/24/2024
9.1.8 91 07/24/2024
9.1.7 90 07/24/2024
9.1.6 87 07/24/2024
9.1.5 80 07/24/2024
9.1.4 83 07/24/2024
9.1.3 106 07/24/2024
9.1.2 92 07/24/2024
9.1.1 95 07/24/2024
9.1.0 93 07/24/2024
9.0.0 76 09/19/2024
8.34.6331.29195 80 07/24/2024
8.33.6323.36234 83 07/24/2024
8.32.6319.16954 93 07/24/2024
8.31.6318.20496 93 08/29/2024
8.30.6304.31907 87 07/24/2024
8.29.6304.29598 84 07/24/2024
8.28.6304.29323 100 07/24/2024
8.27.6302.16061 81 07/24/2024
8.26.6300.23803 83 07/24/2024
8.25.6298.25745 79 07/24/2024
8.24.6298.12188 98 07/24/2024
8.23.6298.10833 90 07/24/2024
8.22.6296.25118 90 07/24/2024
8.21.6296.23976 90 09/02/2024
8.20.6296.23156 91 07/24/2024
8.19.6295.40488 85 07/24/2024
8.18.6295.39662 81 11/25/2024
8.17.6295.16512 88 09/20/2024
8.16.6295.13544 86 07/24/2024
8.15.6294.28833 84 07/26/2024
8.14.6289.34376 86 07/24/2024
8.13.6288.31202 95 07/26/2024
8.12.6288.29376 91 07/24/2024
8.11.6284.26878 101 07/24/2024
8.10.6282.29590 90 10/21/2024
8.9.6275.22314 83 07/24/2024
8.8.6270.12850 86 09/15/2024
8.7.6267.38146 89 07/24/2024
8.6.6263.34639 93 07/24/2024
8.5.6255.20272 90 07/24/2024
8.4.6254.24670 82 10/10/2024
8.3.6252.27823 82 07/25/2024
8.2.6249.40706 102 07/25/2024
8.1.6249.15650 95 09/20/2024
8.0.6242.20256 85 07/24/2024
7.10.6235.25418 87 07/24/2024
7.9.6234.40183 87 07/24/2024
7.8.6234.39161 90 07/24/2024
7.7.6231.35505 95 07/24/2024
7.6.6221.22554 82 07/24/2024
7.5.6218.39592 91 07/24/2024
7.4.6218.34187 78 09/17/2024
7.3.6214.21001 83 07/24/2024
7.2.6206.27052 96 07/24/2024
7.1.6203.28289 94 07/24/2024
7.0.6201.32794 93 07/24/2024
6.8.6197.43076 88 08/31/2024
6.7.6197.28472 82 07/24/2024
6.6.6192.39836 88 07/24/2024
6.5.6190.16910 88 07/24/2024
6.4.6189.32876 94 07/24/2024
6.3.6185.19861 85 07/24/2024
6.2.6179.20107 94 08/28/2024
6.1.6179.17509 95 07/24/2024
6.0.6178.42031 100 07/24/2024
5.20.6175.31167 78 10/21/2024
5.19.6171.28316 95 07/24/2024
5.18.6170.22063 78 07/24/2024
5.17.6169.42629 81 11/13/2024
5.16.6156.29215 82 07/24/2024
5.15.6154.34583 81 09/02/2024
5.14.6153.20988 83 07/24/2024
5.13.6150.21323 91 08/29/2024
5.12.6149.950 99 07/24/2024
5.11.6148.42451 86 07/24/2024
5.10.6148.26189 91 07/24/2024
5.9.6144.17990 78 07/24/2024
5.8.6143.37542 89 07/24/2024
5.7.6142.39228 84 08/28/2024
5.6.6142.18206 95 07/24/2024
5.5.6138.25615 76 07/24/2024
5.5.6138.25231 85 07/24/2024
5.4.6138.25088 83 07/24/2024
5.4.6138.24413 89 07/24/2024
5.3.6137.40406 89 07/24/2024
5.2.6135.25892 87 07/24/2024
5.1.6130.30070 79 07/25/2024
5.0.6130.17623 75 07/24/2024
4.28.6128.27589 101 07/24/2024
4.27.6128.21479 81 07/24/2024
4.26.6123.28533 76 07/25/2024
4.25.6122.24179 94 07/24/2024
4.24.6122.15984 90 07/24/2024
4.23.6120.19206 82 09/18/2024
4.22.6120.18408 86 07/24/2024
4.21.6119.18329 78 10/21/2024
4.20.6119.18035 96 07/24/2024
4.19.6118.22551 73 07/24/2024
4.18.6117.31903 87 07/24/2024
4.17.6115.27875 89 07/24/2024
4.16.6115.26710 86 07/24/2024
4.15.6113.36675 85 07/24/2024
4.14.6108.28116 90 07/24/2024
4.13.6107.31016 82 07/24/2024
4.12.6103.41722 82 07/24/2024
4.11.6103.32936 87 07/24/2024
4.10.6103.22761 80 08/30/2024
4.9.6102.40549 83 07/24/2024
4.8.6094.34028 73 07/24/2024
4.7.6093.32380 83 07/24/2024
4.6.6093.13919 78 07/24/2024
4.5.6091.37159 83 09/18/2024
4.4.6091.25565 89 07/24/2024
4.3.6089.14049 90 09/18/2024
4.2.6085.38782 90 07/24/2024
4.1.6075.30950 88 07/24/2024
4.0.6074.30968 71 07/24/2024
3.4.6065.33501 95 07/24/2024
3.3.6061.16591 87 07/24/2024
3.2.6060.41151 85 07/24/2024
3.1.6058.33392 87 07/24/2024
3.0.6058.19298 91 07/24/2024
2.65.6055.39156 81 09/19/2024
2.64.6055.38772 102 07/24/2024
2.62.6049.40363 82 07/24/2024
2.61.6047.40645 79 07/24/2024
2.60.6043.38308 95 07/24/2024
2.59.6040.32733 94 07/24/2024
2.58.6038.30301 97 07/24/2024
2.57.6037.28395 71 07/24/2024
2.56.6036.39821 84 07/24/2024
2.55.6036.31334 94 07/24/2024
2.54.6032.25764 111 07/24/2024
2.53.6030.34287 87 07/24/2024
2.52.6030.13791 90 07/24/2024
2.51.6022.22788 109 07/24/2024
2.50.6019.27728 79 10/21/2024
2.49.6019.25465 80 07/24/2024
2.48.6012.40850 79 07/24/2024
2.47.6012.36610 80 07/24/2024
2.46.6012.18625 86 07/24/2024
2.45.6011.39986 68 07/24/2024
2.44.6011.37468 105 07/24/2024
2.43.6010.35601 86 11/13/2024
2.41.6006.20162 86 07/24/2024
2.40.6005.16497 93 07/24/2024
2.39.6004.37510 86 07/24/2024
2.38.6002.31139 82 07/24/2024
2.37.6002.13678 95 07/26/2024
2.36.6001.31067 73 07/24/2024
2.35.6000.32416 88 07/24/2024
2.34.6000.31960 89 09/01/2024
2.33.6000.30328 76 07/24/2024
2.32.6000.24909 79 07/24/2024
2.31.5998.34797 85 07/24/2024
2.30.5998.28513 79 07/24/2024
2.29.5997.39529 85 07/24/2024
2.28.5997.37673 85 08/25/2024
2.27.5995.31646 91 07/24/2024
2.26.5992.40824 85 07/24/2024
2.25.5989.40404 90 07/24/2024
2.24.5988.28093 86 07/24/2024
2.23.5984.32961 80 07/24/2024
2.22.5984.16718 83 07/24/2024
2.21.5981.35959 87 10/21/2024
2.20.5981.32983 80 07/24/2024
2.19.5978.21535 85 07/24/2024
2.18.5976.28451 82 07/24/2024
2.17.5976.27664 88 07/24/2024
2.16.5975.38442 82 07/24/2024
2.15.5970.28126 79 07/24/2024
2.14.5967.31320 80 10/20/2024
2.13.5966.35760 85 07/24/2024
2.12.5965.33915 80 07/24/2024
2.11.5963.475 78 07/24/2024
2.10.5958.25557 80 07/24/2024
2.9.5956.34079 83 07/24/2024
2.8.5956.13681 73 07/24/2024
2.7.5954.13236 88 07/24/2024
2.6.5946.13963 77 07/24/2024
2.5.5941.14559 85 07/24/2024
2.4.5940.38663 108 07/24/2024
2.3.5940.24970 75 07/24/2024
2.2.5940.22488 92 07/24/2024
2.1.5940.20330 76 07/24/2024
2.0.5928.2915 104 07/24/2024
1.39.5923.31344 99 07/24/2024
1.38.5920.30380 96 07/24/2024
1.37.5912.16400 106 07/24/2024
1.36.5908.3839 92 07/24/2024
1.35.5908.510 84 07/24/2024
1.34.5905.41330 99 09/03/2024
1.32.5904.40564 94 07/24/2024
1.31.5892.26482 90 07/24/2024
1.30.5878.31385 91 09/17/2024
1.29.5875.38536 85 07/24/2024
1.29.5875.38249 73 09/17/2024
1.29.5875.36303 79 07/24/2024
1.28.5872.19133 94 07/24/2024
1.27.5865.35297 98 07/24/2024
1.26.5864.35161 98 07/24/2024
1.25.5861.38103 79 07/24/2024
1.24.5858.29181 88 07/24/2024
1.23.5856.30578 94 07/24/2024
1.22.5836.1198 89 07/24/2024
1.21.5834.30412 75 07/24/2024
1.21.5831.34291 95 07/24/2024
1.21.5830.29525 82 10/06/2024
1.20.5829.20855 76 07/24/2024
1.20.5829.15819 82 07/24/2024
1.19.5828.20064 80 10/21/2024
1.19.5827.22433 77 09/19/2024
1.19.5824.3256 75 11/13/2024
1.18.5822.14857 86 09/20/2024
1.18.5821.36807 89 07/24/2024
1.17.5820.28488 84 08/29/2024
1.16.5820.27109 83 07/24/2024
1.15.5812.25746 83 07/24/2024
1.14.5811.24408 89 07/24/2024
1.13.5811.23634 93 07/24/2024
1.12.5801.29459 80 09/21/2024
1.11.5799.31778 87 07/24/2024
1.10.5779.31943 81 09/20/2024
1.9.5778.39698 85 07/24/2024
1.9.5778.38906 80 07/24/2024
1.9.5778.31079 89 07/24/2024
1.8.5777.37129 94 07/24/2024
1.8.5775.25810 89 07/24/2024
1.7.5770.30723 99 07/24/2024
1.6.5769.33302 87 09/20/2024
1.6.5765.33542 84 07/24/2024
1.6.5763.16697 86 10/08/2024
1.6.5760.32685 88 07/24/2024
1.6.5759.33134 75 07/24/2024
1.6.5758.30931 89 07/24/2024
1.6.5757.40238 72 07/24/2024
1.6.5751.15394 77 07/24/2024
1.5.5750.33915 92 07/24/2024
1.5.5750.33435 101 07/24/2024
1.4.5737.33581 81 07/24/2024
1.4.5732.34143 87 07/24/2024
1.4.5731.36730 97 07/25/2024
1.3.5731.34877 95 07/24/2024
1.2.5730.33570 97 09/19/2024
1.1.5729.33708 88 07/24/2024
1.0.5725.35303 80 07/24/2024
0.2.5707.34168 85 07/24/2024
0.2.5707.33650 90 09/21/2024
0.1.5585.25898 86 07/24/2024
0.1.5582.28800 86 07/24/2024