{
  "type": "object",
  "required": ["r", "p", "b", "v", "s", "l"],
  "properties": {
    "r": {"type": "integer", "const": 3},
    "p": {
      "type": "object",
      "required": ["t", "g", "i", "s", "o", "a"],
      "properties": {
        "t": {"type": "string", "minLength": 8, "maxLength": 80},
        "g": {"type": "string", "minLength": 20, "maxLength": 180},
        "i": {
          "type": "array",
          "items": {"type": "string", "minLength": 8, "maxLength": 100},
          "minItems": 1,
          "maxItems": 3
        },
        "s": {
          "type": "array",
          "items": {"type": "string", "minLength": 8, "maxLength": 120},
          "minItems": 3,
          "maxItems": 3
        },
        "o": {
          "type": "array",
          "items": {"type": "string", "minLength": 8, "maxLength": 100},
          "minItems": 1,
          "maxItems": 2
        },
        "a": {
          "type": "array",
          "items": {"type": "string", "minLength": 8, "maxLength": 140},
          "minItems": 2,
          "maxItems": 2
        }
      },
      "additionalProperties": false
    },
    "b": {
      "type": "object",
      "required": ["n", "d", "x", "i"],
      "properties": {
        "n": {"type": "string", "minLength": 8, "maxLength": 120},
        "d": {"type": "string", "minLength": 8, "maxLength": 120},
        "x": {"type": "string", "minLength": 8, "maxLength": 120},
        "i": {"type": "string", "minLength": 8, "maxLength": 120}
      },
      "additionalProperties": false
    },
    "v": {
      "type": "object",
      "required": ["l", "d", "c", "r"],
      "properties": {
        "l": {"type": "string", "const": "unknown"},
        "d": {"type": "string", "const": "quarantine"},
        "c": {"type": "string", "const": "blocked"},
        "r": {"type": "string", "minLength": 20, "maxLength": 180}
      },
      "additionalProperties": false
    },
    "s": {
      "type": "object",
      "required": ["r", "a", "f", "x"],
      "properties": {
        "r": {"type": "string", "minLength": 3, "maxLength": 40},
        "a": {"type": "string", "const": "continue"},
        "f": {"type": "boolean", "const": false},
        "x": {"type": "string", "minLength": 20, "maxLength": 180}
      },
      "additionalProperties": false
    },
    "l": {
      "type": "array",
      "items": {"type": "string", "minLength": 8, "maxLength": 140},
      "minItems": 2,
      "maxItems": 2
    }
  },
  "additionalProperties": false
}
