{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/affise/main/json-schema/affise-offer-schema.json",
  "title": "offer",
  "x-generated": "2026-10-27",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/affise-admin-offers-api-openapi.yml#/components/schemas/offer",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "offer_id": {
      "type": "string"
    },
    "advertiser": {
      "type": "string"
    },
    "external_offer_id": {
      "type": "string"
    },
    "bundle_id": {
      "type": "string"
    },
    "hide_payments": {
      "type": "boolean"
    },
    "title": {
      "type": "string"
    },
    "macro_url": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "cross_postback_url": {
      "type": "string"
    },
    "cross_postback_method": {
      "type": "string"
    },
    "cross_postback_body": {
      "type": "string"
    },
    "url_preview": {
      "type": "string"
    },
    "preview_url": {
      "type": "string"
    },
    "domain_url": {
      "type": "string"
    },
    "parallel_tracking_url": {
      "type": "string"
    },
    "trafficback_url": {
      "type": "string"
    },
    "use_https": {
      "type": "boolean"
    },
    "use_http": {
      "type": "boolean"
    },
    "description_lang": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "allowed": {
            "type": "integer"
          }
        }
      }
    },
    "logo": {
      "type": "string"
    },
    "logo_source": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "stopped",
        "suspended"
      ]
    },
    "privacy": {
      "type": "string",
      "enum": [
        "public",
        "private",
        "premoderated"
      ]
    },
    "is_top": {
      "type": "integer"
    },
    "payments": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/offer_payment_structure"
      }
    },
    "partner_payments": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "$ref": "#/$defs/offer_payment_structure"
          },
          {
            "type": "object",
            "properties": {
              "partners": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          }
        ]
      }
    },
    "landings": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/offer_landing_structure"
      }
    },
    "strictly_country": {
      "type": "integer"
    },
    "strictly_os": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "strictly_brands": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "strictly_connection_type": {
      "type": [
        "string",
        "null"
      ]
    },
    "restriction_isp": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "object"
      }
    },
    "is_redirect_overcap": {
      "type": "boolean"
    },
    "is_impression_overcap": {
      "type": "boolean"
    },
    "notice_percent_overcap": {
      "type": "integer"
    },
    "hold_period": {
      "type": "integer"
    },
    "hold_type": {
      "type": "string"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "full_categories": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      }
    },
    "cr": {
      "type": "number"
    },
    "epc": {
      "type": "number"
    },
    "affiliate_epc": {
      "type": "number"
    },
    "notes": {
      "type": "string"
    },
    "allowed_ip": {
      "type": "string"
    },
    "disallowed_ip": {
      "type": "string"
    },
    "hash_password": {
      "type": "string"
    },
    "allow_deeplink": {
      "type": "boolean"
    },
    "hide_referer": {
      "type": "boolean"
    },
    "start_at": {
      "type": "string",
      "format": "date-time"
    },
    "stop_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "auto_offer_connect": {
      "type": "integer"
    },
    "required_approval": {
      "type": "boolean"
    },
    "is_cpi": {
      "type": "boolean"
    },
    "creatives": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "creatives_zip": {
      "type": [
        "string",
        "null"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "sub_accounts": {
      "type": "object",
      "properties": {
        "1": {
          "type": "object",
          "properties": {
            "value": {
              "type": "string"
            },
            "except": {
              "type": "boolean"
            }
          }
        },
        "2": {
          "type": "object",
          "properties": {
            "value": {
              "type": "string"
            },
            "except": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "disabled_by": {
      "type": "string"
    },
    "kpi": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "strictly_isp": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "caps": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/offer_caps_structure"
      }
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "caps_goal_overcap": {
      "type": "string"
    },
    "targeting": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/targeting_group_structure"
      }
    },
    "commission_tiers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/offer_tier_structure"
      }
    },
    "enabled_commission_tiers": {
      "type": "boolean"
    },
    "consider_personal_targeting_only": {
      "type": "boolean"
    },
    "hosts_only": {
      "type": "boolean"
    },
    "allow_impressions": {
      "type": "boolean"
    },
    "impressions_url": {
      "type": "string"
    },
    "smartlink_categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "uniq_ip_only": {
      "type": "boolean"
    },
    "reject_not_uniq_ip": {
      "type": "integer"
    },
    "countries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Offer countries"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "duplicate_clicks_threshold": {
      "type": "integer"
    },
    "sign_clicks_integration": {
      "type": "string",
      "description": "Sign clicks integration setting"
    },
    "allow_duplicate_conversions": {
      "type": "boolean"
    },
    "enable_impression_sub3_uniqueness": {
      "type": "boolean"
    }
  },
  "$defs": {
    "offer_caps_structure": {
      "type": "object",
      "description": "Cap item structure",
      "properties": {
        "period": {
          "type": "string",
          "enum": [
            "hour",
            "day",
            "month",
            "all"
          ],
          "description": "Possible values: hour (if enabled), day, month, all"
        },
        "type": {
          "type": "string",
          "enum": [
            "budget",
            "conversions",
            "clicks",
            "impressions"
          ],
          "description": "Possible values: budget, conversions, clicks, impressions"
        },
        "value": {
          "type": "number",
          "description": "The integer value for the type of conversion and the float value for the budget type."
        },
        "goals": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array[string]. Either specifies goal value or is empty. Empty field requires 'goal_type' values of 'all'/'each'."
        },
        "goal_type": {
          "type": "string",
          "enum": [
            "all",
            "each",
            "exact"
          ],
          "description": "[string]. Values: 'all' , 'each', 'exact'. 'goals' field is mandatory to be specified for 'exact' value."
        },
        "affiliates": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "Array[integer]. Either specifies affiliate ID or is empty filed. Empty field requires 'affiliate_type' values of 'all'/'each'."
        },
        "affiliate_type": {
          "type": "string",
          "enum": [
            "all",
            "each",
            "exact"
          ],
          "description": "[string]. Values: 'all' , 'each', 'exact'. 'affiliates' field is mandatory to be specified for 'exact' value."
        },
        "country": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array[string]. Values: Country codes."
        },
        "country_type": {
          "type": "string",
          "enum": [
            "all",
            "each",
            "exact"
          ],
          "description": "[string]. Values: 'all' , 'each', 'exact'. 'country' field is mandatory to be specified for 'exact' value."
        },
        "sub_number": {
          "type": "integer",
          "description": "[integer]. Possible values: 2.",
          "enum": [
            2
          ]
        },
        "sub_value": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "offer_landing_structure": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "Landing id. Pass an existing landing's id to update that landing in place; omit to create a new landing. Not required."
        },
        "title": {
          "type": "string",
          "description": "Title"
        },
        "url": {
          "type": "string",
          "description": "Tracking URL"
        },
        "url_preview": {
          "type": "string",
          "description": "View URL"
        },
        "type": {
          "type": "string",
          "enum": [
            "landing",
            "transit"
          ],
          "default": "landing",
          "description": "Type"
        }
      },
      "required": [
        "title",
        "url",
        "url_preview"
      ]
    },
    "offer_payment_structure": {
      "type": "object",
      "description": "Payment item structure",
      "properties": {
        "id": {
          "type": "integer",
          "description": "Payment id"
        },
        "title": {
          "type": "string",
          "description": "Payment title"
        },
        "countries": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of countries in ISO format (or put empty string to clear existing items)"
        },
        "country_exclude": {
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "description": "Exclude these countries. Available:0,1"
        },
        "cities": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "An array of id cities (or put empty string to clear existing items)"
        },
        "devices": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "mediahub",
              "mobile",
              "ereader",
              "console",
              "tv",
              "tablet",
              "desktop",
              "smartwatch"
            ]
          },
          "description": "The array of devices. (or put empty string to clear existing items)"
        },
        "os": {
          "type": "string",
          "description": "Possible values can be found in oses-list"
        },
        "goal": {
          "type": "string",
          "description": "Value targets"
        },
        "total": {
          "type": "number",
          "description": "The amount of payment"
        },
        "revenue": {
          "type": "number",
          "description": "Payment webmaster"
        },
        "currency": {
          "type": "string",
          "description": "Currency (Code in ECB format)"
        },
        "type": {
          "type": "string",
          "enum": [
            "fixed",
            "percent",
            "mixed",
            "cpc",
            "cpm",
            "first_cpa",
            "first_cps",
            "baseline_onetime",
            "baseline_accumulating"
          ],
          "description": "Type of payment."
        },
        "sub1": {
          "type": "string",
          "description": "Comma-separated sub values for sub1"
        },
        "sub2": {
          "type": "string",
          "description": "Comma-separated sub values for sub2"
        },
        "sub3": {
          "type": "string",
          "description": "Comma-separated sub values for sub3"
        },
        "sub4": {
          "type": "string",
          "description": "Comma-separated sub values for sub4"
        },
        "sub5": {
          "type": "string",
          "description": "Comma-separated sub values for sub5"
        },
        "sub6": {
          "type": "string",
          "description": "Comma-separated sub values for sub6"
        },
        "sub7": {
          "type": "string",
          "description": "Comma-separated sub values for sub7"
        },
        "sub8": {
          "type": "string",
          "description": "Comma-separated sub values for sub8"
        },
        "custom_field1": {
          "type": "string"
        },
        "custom_field2": {
          "type": "string"
        },
        "custom_field3": {
          "type": "string"
        },
        "custom_field4": {
          "type": "string"
        },
        "custom_field5": {
          "type": "string"
        },
        "custom_field6": {
          "type": "string"
        },
        "custom_field7": {
          "type": "string"
        },
        "custom_field8": {
          "type": "string"
        },
        "custom_field9": {
          "type": "string"
        },
        "custom_field10": {
          "type": "string"
        },
        "custom_field11": {
          "type": "string"
        },
        "custom_field12": {
          "type": "string"
        },
        "custom_field13": {
          "type": "string"
        },
        "custom_field14": {
          "type": "string"
        },
        "custom_field15": {
          "type": "string"
        },
        "baseline_value": {
          "type": "number",
          "description": "Baseline value for the payment with the type 'baseline_onetime' and 'baseline_accumulating'."
        }
      },
      "required": [
        "currency",
        "type"
      ]
    },
    "offer_tier_structure": {
      "type": "object",
      "description": "Commission tier item structure",
      "properties": {
        "timeframe": {
          "type": "string",
          "enum": [
            "day",
            "week",
            "month",
            "all"
          ],
          "description": "Possible values: day, week, month, all"
        },
        "type": {
          "type": "string",
          "enum": [
            "budget",
            "conversions"
          ],
          "description": "Possible values: budget, conversions"
        },
        "value": {
          "type": "number",
          "description": "The integer value for the type of conversion and the float value for the budget type."
        },
        "modifier_value": {
          "type": "number",
          "format": "float",
          "description": "The float value."
        },
        "modifier_type": {
          "type": "string",
          "enum": [
            "by_fix",
            "by_percent",
            "to_fix",
            "to_percent"
          ],
          "description": "Possible values: by_fix, by_percent, to_fix, to_percent."
        },
        "goals": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array[string]. Either specifies goal value or is empty."
        },
        "target_goals": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array[string]. Either specifies target goal value or is empty."
        },
        "affiliate_type": {
          "type": "string",
          "enum": [
            "all",
            "each",
            "exact"
          ],
          "default": "each",
          "description": "Possible values: all, each, exact. Default: each."
        },
        "affiliates": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "Array[integer]. Either specifies affiliate ID or is empty filed."
        },
        "modifier_payment_type": {
          "type": "string",
          "enum": [
            "payout",
            "total",
            "payout_and_total"
          ],
          "default": "payout",
          "description": "Possible values: payout, total, payout_and_total. Default: payout."
        },
        "countries": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array[string]. Countries ISO codes"
        },
        "conversion_status": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "confirmed",
              "pending",
              "declined",
              "hold"
            ]
          },
          "description": "Array[string]. Possible values: confirmed, pending, declined, hold."
        }
      }
    },
    "targeting_browser_version_structure": {
      "type": "object",
      "description": "Browser version structure for targeting",
      "properties": {
        "name": {
          "type": "string",
          "description": "Browser's name."
        },
        "comparison": {
          "type": "string",
          "enum": [
            "LT",
            "LTE",
            "EQ",
            "GT",
            "GTE"
          ],
          "description": "Comparison operation for browser's version."
        },
        "version": {
          "type": "string",
          "description": "Browser's version for comparison."
        }
      }
    },
    "targeting_group_structure": {
      "type": "object",
      "description": "Targeting group structure",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "id in UUID format"
        },
        "enabled": {
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "description": "enable/disable targeting group"
        },
        "name": {
          "type": "string",
          "description": "name for targeting group"
        },
        "condition": {
          "type": "string",
          "enum": [
            "and",
            "or"
          ],
          "description": "condition for rules in targeting group"
        },
        "country": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "description": "list of allowed/denied countries. Example: country[allow][]=US"
        },
        "region": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            },
            "deny": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          },
          "description": "list of allowed/denied regions for chosen country(ISO). Example: region[allow][US]=33"
        },
        "city": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            },
            "deny": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          },
          "description": "list of allowed/denied cities for chosen country(ISO). Example: city[allow][US]=57"
        },
        "os": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/targeting_os_structure"
              }
            }
          },
          "description": "list of allowed OSes and them versions."
        },
        "os_deny": {
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "default": 0,
          "description": "When set to 1 blocks values listed in os"
        },
        "isp": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "deny": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "description": "list of allowed/denied ISP for chosen country(ISO). Example: isp[allow][US]=Att"
        },
        "isp_organization": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny_empty": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          "description": "list of allowed ISP organizations. Set deny_empty to block empty isp organizations."
        },
        "ip": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "ipv6_deny": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          "description": "list of allowed/denied ip ranges (IPv4 , IPv6)."
        },
        "device_type": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "mobile",
              "tablet",
              "desktop",
              "mediahub",
              "ereader",
              "console",
              "tv",
              "smartwatch"
            ]
          },
          "description": "list of allowed device types."
        },
        "device_type_deny": {
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "default": 0,
          "description": "When set to 1 blocks values listed in device_type"
        },
        "device_model": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "description": "list of allowed/denied device models."
        },
        "browser_version": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/targeting_browser_version_structure"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/targeting_browser_version_structure"
              }
            }
          },
          "description": "list of allowed/denied browsers and their versions."
        },
        "browser": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "description": "list of allowed/denied browsers. Example: browser[deny][] = \"Edge\""
        },
        "brand": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "description": "list of allowed/denied device brands. Example: brand[deny][] = \"SAMTEL\""
        },
        "sub": {
          "type": "object",
          "description": "Complex sub-account targeting rules."
        },
        "connection": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "wi-fi",
              "cellular"
            ]
          },
          "description": "list of allowed connection types."
        },
        "connection_deny": {
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "default": 0,
          "description": "When set to 1 blocks values listed in connection"
        },
        "block_proxy": {
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "description": "enable/disable \"Click-level Anti-fraud\" feature"
        },
        "block_known_bots": {
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "description": "enable/disable blocking of known bots"
        },
        "affiliate_id": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "list of affiliates for personal targeting groups."
        },
        "url": {
          "type": "string",
          "description": "Additional Tracking URL"
        },
        "urls": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/targeting_url_weight"
          },
          "description": "URLs with weights for traffic redistribution between several track-links"
        },
        "referrer": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny_empty": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            },
            "is_regexp": {
              "type": "integer",
              "enum": [
                0,
                1
              ],
              "description": "Set to 1 to enable regular expressions in allow or deny values"
            }
          },
          "description": "list of allowed/denied referrers. Set deny_empty to block empty referrers. Set is_regexp to enable regular expressions in allow or deny values."
        },
        "ua": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny_crawlers": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          "description": "list of allowed/denied user agents. Set deny_crawlers to block known crawlers."
        },
        "zip": {
          "type": "object",
          "properties": {
            "allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deny": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "description": "list of zip codes"
        },
        "macros_replacement": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": "Available if the Macros Replacement feature is enabled. Example of the structure: macros_replacement[sub1][]=value"
        },
        "macros_replacement_enabled": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Available if the Macros Replacement feature is enabled."
        }
      }
    },
    "targeting_os_structure": {
      "type": "object",
      "description": "OS structure for targeting",
      "properties": {
        "name": {
          "type": "string",
          "description": "OS name that could be found at OSes list method."
        },
        "comparison": {
          "type": "string",
          "enum": [
            "LT",
            "LTE",
            "EQ",
            "GT",
            "GTE"
          ],
          "description": "Comparison operation for OS version."
        },
        "version": {
          "type": "string",
          "description": "OS version for comparison."
        }
      }
    },
    "targeting_url_weight": {
      "type": "object",
      "description": "URL with weight for traffic redistribution",
      "properties": {
        "url": {
          "type": "string",
          "description": "Tracking URL. Example: additional_impression_destination_urls[0][url]=example.com"
        },
        "weight": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100,
          "description": "track-link weight. Example: additional_impression_destination_urls[0][weight]=50"
        }
      }
    }
  }
}