{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://github.com/Transparency-Information-Language/schema",
"type": "object",
"title": "Root schema of a Transparency Information Language",
"description": "This schema defines the Transparency Information Language",
"examples": [
{
"meta": {
"_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
"name": "Green Company",
"created": "2020-04-03T15:53:05.929588",
"modified": "2020-04-03T15: 53: 05.929588",
"version": 2,
"language": "de",
"status": "active",
"url": "https://green-bikes.de/privacy",
"_hash": "d732a793562a3e5dc57645a8"
},
"controller": {
"name": "Green Company AG",
"division": "Product line e-mobility",
"address": "Wolfsburger Ring 2, 38440 Berlin",
"country": "DE",
"representative": {
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 5678"
}
},
"dataProtectionOfficer": {
"name": "Jane Super",
"address": "Wolfsburger Ring 2, 38440 Berlin",
"country": "DE",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 5678"
},
"dataDisclosed": [
{
"_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
"category": "E-mail address",
"purposes": [
{
"purpose": "Marketing",
"description": "Newsletter will be sent out once a month."
}
],
"legalBases": [
{
"reference": "GDPR-99-1-a",
"description": "The data are processed on the basis of Art. 99 GDPR which states..."
},
{
"reference": "BDSG-42-5",
"description": "BDSG-42-5 refers to the processing of personal data within..."
}
],
"legitimateInterests": [
{
"exists": true,
"reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
}
],
"recipients": [
{
"name": "Yellow Company AG",
"division": "Product line e-mobility",
"address": "Triana 123, 9999 Seville",
"country": "ES",
"representative": {
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 9876"
},
"category": "Marketing content provider"
},
{
"category": "Responsible Statistical Institutes"
}
],
"storage": [
{
"temporal": [
{
"description": "Creating backups.",
"ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
},
{
"description": "Finishing ordering process.",
"ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
}
],
"purposeConditional": [
"Data is stored until the end of the ordering process."
],
"legalBasisConditional": [
"SGB-100-42"
],
"aggregationFunction": "max"
}
],
"nonDisclosure": {
"legalRequirement": false,
"contractualRegulation": false,
"obligationToProvide": false,
"consequences": "If the data is not disclosed, the shipment cannot be delivered."
}
}
],
"thirdCountryTransfers": [
{
"country": "ES",
"adequacyDecision": {
"available": true,
"description": "An adequacy decision was made on the 23rd April 2020 by..."
},
"appropriateGuarantees": {
"available": true,
"description": "Here the appropriate guarantee was formulated by..."
},
"presenceOfEnforceableRightsAndEffectiveRemedies": {
"available": true,
"description": "These rights are given because of..."
},
"standardDataProtectionClause": {
"available": true,
"description": "The standard data protection clause which applies here can be found here: ..."
}
}
],
"accessAndDataPortability": {
"available": true,
"description": "Data access is possible through...",
"url": "https://green-bikes.de/access",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
],
"administrativeFee": {
"amount": 0,
"currency": "EUR"
},
"dataFormat": "json"
},
"sources": [
{
"_id": "f1423cc00509931",
"dataCategory": "Creditworthiness",
"sources": [
{
"description": "This information could be retrieved from...",
"url": "https://blueCompany.org",
"publiclyAvailable": false
}
]
}
],
"rightToInformation": {
"available": true,
"description": "For the right to information please use this contact form and...",
"url": "https://greencompany.org/rightToInformation",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
]
},
"rightToRectificationOrDeletion": {
"available": true,
"description": "For the right to rectification please use this contact form and...",
"url": "https://greencompany.org/rights",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
]
},
"rightToDataPortability": {
"available": false,
"description": "Data portability is only possible when...",
"url": "https://greencompany.org/rights",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy"
]
},
"rightToWithdrawConsent": {
"available": true,
"description": "For the right to withdraw consent please use this contact form and...",
"url": "https://greencompany.org/rights",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"Email verification"
]
},
"rightToComplain": {
"available": true,
"description": "For the right to complain please use this contact form and...",
"url": "https://greencompany.org/rights",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
],
"supervisoryAuthority": {
"name": "Commissioner for Data Protection",
"address": "Friedrichstrasse 219, 10969 Berlin",
"country": "DE",
"email"<EMAIL_ADDRESS>"phone": "0049 444 222 111"
}
},
"automatedDecisionMaking": {
"inUse": true,
"logicInvolved": "The personal data are processed as follows...",
"scopeAndIntendedEffects": "From processing follows..."
},
"changesOfPurpose": [
{
"description": "Due to techncial requirements...",
"affectedDataCategories": [
"Email adress",
"Credit score"
],
"plannedDateOfChange": "2020-08-20",
"urlOfNewVersion": "https://greencomp.de/privacypolicy/2"
}
]
}
],
"required": [
"meta",
"controller",
"dataProtectionOfficer",
"dataDisclosed",
"thirdCountryTransfers",
"accessAndDataPortability",
"sources",
"rightToInformation",
"rightToRectificationOrDeletion",
"rightToDataPortability",
"rightToWithdrawConsent",
"rightToComplain",
"automatedDecisionMaking",
"changesOfPurpose"
],
"additionalProperties": true,
"properties": {
"meta": {
"$id": "#/properties/meta",
"type": "object",
"title": "Meta",
"description": "Meta information for the identification and verification of the document.",
"examples": [
{
"_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
"name": "Green Company",
"created": "2020-04-03T15:53:05.929588",
"modified": "2020-04-03T15: 53: 05.929588",
"version": 2,
"language": "de",
"status": "active",
"url": "https://green-bikes.de/privacy",
"_hash": "d732a793562a3e5dc57645a8"
}
],
"required": [
"_id",
"name",
"created",
"modified",
"version",
"language",
"status",
"url",
"_hash"
],
"additionalProperties": true,
"properties": {
"_id": {
"$id": "#/properties/meta/properties/_id",
"type": "string",
"title": "_id",
"description": "The ID follows the database-specific implementation and does not have to be set in advance; but should offer as much entropy as possible for globally unique identifiers.",
"examples": [
"f1424f86-ca0f-4f0c-9438-43cc00509931"
]
},
"name": {
"$id": "#/properties/meta/properties/name",
"type": "string",
"title": "Name",
"description": "Name of the data controller.",
"examples": [
"Green Company"
]
},
"created": {
"$id": "#/properties/meta/properties/created",
"type": "string",
"title": "Created",
"description": "Creation date of the document as an ISO-8601 time code.",
"pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$",
"examples": [
"2020-04-03T15:53:05.929588"
]
},
"modified": {
"$id": "#/properties/meta/properties/modified",
"type": "string",
"title": "Modified",
"description": "Last modified date of the document as an ISO-8601 time code.",
"pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$",
"examples": [
"2020-04-03T15: 53: 05.929588"
]
},
"version": {
"$id": "#/properties/meta/properties/version",
"type": "integer",
"title": "Version",
"description": "This number serves to version documents of a controller.",
"default": 1,
"minimum": 1,
"examples": [
2
]
},
"language": {
"$id": "#/properties/meta/properties/language",
"type": "string",
"title": "Language",
"description": "All language abbreviation codes follow the established ISO 639-1 standard as identifiers for names of languages.",
"pattern": "^(aa|ab|ae|af|ak|am|an|ar|as|av|ay|az|az|ba|be|bg|bh|bi|bm|bn|bo|br|bs|ca|ce|ch|co|cr|cs|cu|cv|cy|da|de|dv|dz|ee|el|en|eo|es|et|eu|fa|ff|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|gv|ha|he|hi|ho|hr|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|io|is|it|iu|ja|jv|ka|kg|ki|kj|kk|kl|km|kn|ko|kr|ks|ku|kv|kw|ky|la|lb|lg|li|ln|lo|lt|lu|lv|mg|mh|mi|mk|ml|mn|mr|ms|mt|my|na|nb|nd|ne|ng|nl|nn|no|nr|nv|ny|oc|oj|om|or|os|pa|pi|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sc|sd|se|sg|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|ty|ug|uk|ur|uz|ve|vi|vo|wa|wo|xh|yi|yo|za|zh|zu)$",
"default": "en",
"examples": [
"de"
]
},
"status": {
"$id": "#/properties/meta/properties/status",
"type": "string",
"title": "Status",
"description": "The status of an instance can be active or inactive depending on the policy's legal force.",
"default": "active",
"pattern": "^(active|inactive)$",
"examples": [
"active",
"inactive"
]
},
"url": {
"$id": "#/properties/meta/properties/url",
"type": "string",
"title": "Url",
"description": "URL to this schema.",
"format": "uri-reference",
"examples": [
"https://green-bikes.de/privacy"
]
},
"_hash": {
"$id": "#/properties/meta/properties/_hash",
"type": "string",
"title": "_hash",
"description": "The hash is based on one SHA256 calculation of the document.",
"minLength": 64,
"maxLength": 64,
"examples": [
"be81d309088dde861ab5fc4d62d4bbfe0aeef3e3baf2f5362c1086f451f0a1e7"
]
}
}
},
"controller": {
"$id": "#/properties/controller",
"type": "object",
"title": "Controller",
"description": "The responsible controller is defined in here.",
"examples": [
{
"name": "Green Company AG",
"division": "Product line e-mobility",
"address": "Wolfsburger Ring 2, 38440 Berlin",
"country": "DE",
"representative": {
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 5678"
}
}
],
"required": [
"name",
"address",
"country",
"representative"
],
"additionalProperties": true,
"properties": {
"name": {
"$id": "#/properties/controller/properties/name",
"type": "string",
"title": "Name",
"description": "Name of the controller.",
"examples": [
"Green Company AG"
]
},
"division": {
"$id": "#/properties/controller/properties/division",
"type": "string",
"title": "Division",
"description": "Serves to differentiate between different areas of a company; particularly relevant for large companies.",
"examples": [
"Product line e-mobility"
]
},
"address": {
"$id": "#/properties/controller/properties/address",
"type": "string",
"title": "Address",
"description": "Address of the controller.",
"examples": [
"Wolfsburger Ring 2, 38440 Berlin"
]
},
"country": {
"$id": "#/properties/controller/properties/country",
"type": "string",
"title": "Country",
"description": "All country codes follow the established ones ISO 3166 country abbreviation standard.",
"default": "DE",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Z][A-Z]$",
"examples": [
"DE"
]
},
"representative": {
"$id": "#/properties/controller/properties/representative",
"type": "object",
"title": "Representative",
"description": "The representative is a responsible real person that represents the controller.",
"examples": [
{
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 5678"
}
],
"required": [
"name",
"email"
],
"additionalProperties": true,
"properties": {
"name": {
"$id": "#/properties/controller/properties/representative/properties/name",
"type": "string",
"title": "Name",
"description": "Name of the controller's representative.",
"examples": [
"Jane Super"
]
},
"email": {
"$id": "#/properties/controller/properties/representative/properties/email",
"type": "string",
"title": "Email",
"description": "Email address of the controller's representative.",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"phone": {
"$id": "#/properties/controller/properties/representative/properties/phone",
"type": "string",
"title": "Phone",
"description": "Phone number of the controller's representative.",
"pattern": "^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$",
"examples": [
"+49 151 1234 5678"
]
}
}
}
}
},
"dataProtectionOfficer": {
"$id": "#/properties/dataProtectionOfficer",
"type": "object",
"title": "DataProtectionOfficer",
"description": "The Data Protection Officer (DPO) of the controller.",
"examples": [
{
"name": "Jane Super",
"address": "Wolfsburger Ring 2, 38440 Berlin",
"country": "DE",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 5678"
}
],
"required": [
"name",
"address",
"country",
"email"
],
"additionalProperties": true,
"properties": {
"name": {
"$id": "#/properties/dataProtectionOfficer/properties/name",
"type": "string",
"title": "Name",
"description": "The full name of the Data Protection Officer.",
"examples": [
"Jane Super"
]
},
"address": {
"$id": "#/properties/dataProtectionOfficer/properties/address",
"type": "string",
"title": "Address",
"description": "Address of the DPO.",
"examples": [
"Wolfsburger Ring 2, 38440 Berlin"
]
},
"country": {
"$id": "#/properties/dataProtectionOfficer/properties/country",
"type": "string",
"title": "Country",
"description": "The country in which the Data Protection officer is located at.",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Z][A-Z]$",
"examples": [
"DE"
]
},
"email": {
"$id": "#/properties/dataProtectionOfficer/properties/email",
"type": "string",
"title": "Email",
"description": "The contact email address of the Data Protection Officer.",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"phone": {
"$id": "#/properties/dataProtectionOfficer/properties/phone",
"type": "string",
"title": "Phone",
"description": "The phone number of the Data Protection Officer (may include country prefix).",
"pattern": "^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$",
"examples": [
"0049 151 1234 5678"
]
}
}
},
"dataDisclosed": {
"$id": "#/properties/dataDisclosed",
"type": "array",
"title": "DataDisclosed",
"description": "A detailed explanation about which data is disclosed in the processing tasks.",
"examples": [
[
{
"_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
"category": "E-mail address",
"purposes": [
{
"purpose": "Marketing",
"description": "Newsletter will be sent out once a month."
}
],
"legalBases": [
{
"reference": "GDPR-99-1-a",
"description": "The data are processed on the basis of Art. 99 GDPR which states..."
},
{
"reference": "BDSG-42-5",
"description": "BDSG-42-5 refers to the processing of personal data within..."
}
],
"legitimateInterests": [
{
"exists": true,
"reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
}
],
"recipients": [
{
"name": "Yellow Company AG",
"division": "Product line e-mobility",
"address": "Triana 123, 9999 Seville",
"country": "ES",
"representative": {
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 9876"
},
"category": "Marketing content provider"
},
{
"category": "Responsible Statistical Institutes"
}
],
"storage": [
{
"temporal": [
{
"description": "Creating backups.",
"ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
},
{
"description": "Finishing ordering process.",
"ttl": "2020-07-12T18:31:42P3Y6M4DT12H30M17S"
}
],
"purposeConditional": [
"Data is stored until the end of the ordering process."
],
"legalBasisConditional": [
"SGB-100-42"
],
"aggregationFunction": "max"
}
],
"nonDisclosure": {
"legalRequirement": false,
"contractualRegulation": false,
"obligationToProvide": false,
"consequences": "If the data is not disclosed, the shipment cannot be delivered."
}
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0",
"type": "object",
"title": "AnyOf schema",
"description": "The description of data disclosed.",
"examples": [
{
"_id": "f1424f86-ca0f-4f0c-9438-43cc00509931",
"category": "E-mail address",
"purposes": [
{
"purpose": "Marketing",
"description": "Newsletter will be sent out once a month."
}
],
"legalBases": [
{
"reference": "GDPR-99-1-a",
"description": "The data are processed on the basis of Art. 99 GDPR which states..."
},
{
"reference": "BDSG-42-5",
"description": "BDSG-42-5 refers to the processing of personal data within..."
}
],
"legitimateInterests": [
{
"exists": true,
"reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
}
],
"recipients": [
{
"name": "Yellow Company AG",
"division": "Product line e-mobility",
"address": "Triana 123, 9999 Seville",
"country": "ES",
"representative": {
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 9876"
},
"category": "Marketing content provider"
},
{
"category": "Responsible Statistical Institutes"
}
],
"storage": [
{
"temporal": [
{
"description": "Creating backups.",
"ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
},
{
"description": "Finishing ordering process.",
"ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
}
],
"purposeConditional": [
"Data is stored until the end of the ordering process."
],
"legalBasisConditional": [
"SGB-100-42"
],
"aggregationFunction": "max"
}
],
"nonDisclosure": {
"legalRequirement": false,
"contractualRegulation": false,
"obligationToProvide": false,
"consequences": "If the data is not disclosed, the shipment cannot be delivered."
}
}
],
"required": [
"_id",
"category",
"purposes",
"legalBases",
"legitimateInterests",
"recipients",
"storage",
"nonDisclosure"
],
"additionalProperties": true,
"properties": {
"_id": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/_id",
"type": "string",
"title": "_id",
"description": "The id of a data item that is disclosed. The id is necessary to distinguish several processing tasks of the same data item (locally unique ID that can be based on the database implementation).",
"examples": [
"f1424f86-ca0f-4f0c-9438-43cc00509931"
]
},
"category": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/category",
"type": "string",
"title": "Category",
"description": "The data (category) the data disclosed is referred to.",
"examples": [
"E-mail address"
]
},
"purposes": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/purposes",
"type": "array",
"title": "Purposes",
"description": "The purpose for which a data item is processed for.",
"examples": [
[
{
"purpose": "Marketing",
"description": "Newsletter will be sent out once a month."
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/purposes/items/anyOf/0",
"type": "object",
"title": "AnyOf schema for the purposes.",
"examples": [
{
"purpose": "Marketing",
"description": "Newsletter will be sent out once a month."
}
],
"required": [
"purpose",
"description"
],
"additionalProperties": true,
"properties": {
"purpose": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/purposes/items/anyOf/0/properties/purpose",
"type": "string",
"title": "Purpose",
"description": "In this schema the purpose is specified (i.e. a headline or purpose category).",
"examples": [
"Marketing"
]
},
"description": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/purposes/items/anyOf/0/properties/description",
"type": "string",
"title": "Description",
"description": "This schema refers to an exact description of the purpose the data is processed for.",
"examples": [
"Newsletter will be sent out once a month."
]
}
}
}
],
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/purposes/items"
}
},
"legalBases": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legalBases",
"type": "array",
"title": "LegalBases",
"description": "An explanation about the legal bases for the processing of personal data disclosed.",
"examples": [
[
{
"reference": "GDPR-99-1-a",
"description": "The data are processed on the basis of Art. 99 GDPR which states..."
},
{
"reference": "BDSG-42-5",
"description": "BDSG-42-5 refers to the processing of personal data within..."
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legalBases/items/anyOf/0",
"type": "object",
"title": "AnyOf schema for the legal bases of the data disclosed.",
"examples": [
{
"reference": "GDPR-99-1-a",
"description": "The data are processed on the basis of Art. 99 GDPR which states..."
}
],
"required": [
"reference"
],
"additionalProperties": true,
"properties": {
"reference": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legalBases/items/anyOf/0/properties/reference",
"type": "string",
"title": "Reference",
"description": "This field refers to the reference in legal regulations (laws, orders, declaration etc.). The format is set to uppercase letters for the legal text followed by hyphened numbers and lowercase letters for the exact location.",
"pattern": "^[A-Z]*([-]?[0-9]*|[a-z]*)*$",
"examples": [
"GDPR-99-1-a"
]
},
"description": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legalBases/items/anyOf/0/properties/description",
"type": "string",
"title": "Description",
"description": "An explanation about the legal basis used.",
"examples": [
"The data are processed on the basis of Art. 99 GDPR which states..."
]
}
}
}
],
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legalBases/items"
}
},
"legitimateInterests": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legitimateInterests",
"type": "array",
"title": "LegitimateInterests",
"description": "An explanation about the legitimate interests for the processing of data disclosed.",
"examples": [
[
{
"exists": true,
"reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legitimateInterests/items/anyOf/0",
"type": "object",
"title": "AnyOf schema for legitimate interests.",
"examples": [
{
"exists": true,
"reasoning": "There is an legitimate interest based on ... and is not overwritten because ..."
}
],
"additionalProperties": true,
"properties": {
"exists": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legitimateInterests/items/anyOf/0/properties/exists",
"type": "boolean",
"title": "Exists",
"description": "The legitimate interest only has to be stated if the processing is carried out in accordance with Art. 13 (1d). This field refers to the existence of such an interest.",
"default": false,
"examples": [
true,
false
]
},
"reasoning": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legitimateInterests/items/anyOf/0/properties/reasoning",
"type": "string",
"title": "Reasoning",
"description": "If the legitimate interest has to be stated because the processing is carried out in accordance with Art. 13 (1d), it is described in here.",
"examples": [
"There is an legitimate interest based on ... and is not overwritten because ..."
]
}
},
"if": {
"properties": {
"exists": {
"const": true
}
},
"required": [
"exists"
]
},
"then": {
"required": [
"reasoning"
]
}
}
],
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/legitimateInterests/items"
}
},
"recipients": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients",
"type": "array",
"title": "Recipients",
"description": "An explanation about the recipients of the data disclosed.",
"examples": [
[
{
"name": "Yellow Company AG",
"division": "Product line e-mobility",
"address": "Triana 123, 9999 Seville",
"country": "ES",
"representative": {
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 9876"
},
"category": "Marketing content provider"
},
{
"category": "Responsible Statistical Institutes"
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0",
"type": "object",
"title": "AnyOf schema if recipients",
"examples": [
{
"name": "Yellow Company AG",
"division": "Product line e-mobility",
"address": "Triana 123, 9999 Seville",
"country": "ES",
"representative": {
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 9876"
},
"category": "Marketing content provider"
}
],
"required": [
"category"
],
"additionalProperties": true,
"properties": {
"name": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/name",
"type": "string",
"title": "Name",
"description": "The name of the third party (recipient).",
"examples": [
"Yellow Company AG"
]
},
"division": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/division",
"type": "string",
"title": "Division",
"description": "The division of the third party (recipient) for structuring controllers into smaller entities.",
"examples": [
"Product line e-mobility"
]
},
"address": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/address",
"type": "string",
"title": "Address",
"description": "The address of the third party (recipient).",
"examples": [
"Triana 123, 9999 Seville"
]
},
"country": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/country",
"type": "string",
"title": "Country",
"description": "The country in which the recipient is located at. Attention: This explictly specifies third country transfers!",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Z][A-Z]$",
"examples": [
"ES"
]
},
"representative": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/representative",
"type": "object",
"title": "Representative",
"description": "The representative of the third party (recipient).",
"examples": [
{
"name": "Jane Super",
"email"<EMAIL_ADDRESS>"phone": "0049 151 1234 9876"
}
],
"required": [],
"additionalProperties": true,
"properties": {
"name": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/representative/properties/name",
"type": "string",
"title": "Name",
"description": "The name of the representative of the third party (recipient).",
"examples": [
"Jane Super"
]
},
"email": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/representative/properties/email",
"type": "string",
"title": "Email",
"description": "The email address of the representative of the third party (recipient).",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"phone": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/representative/properties/phone",
"type": "string",
"title": "Phone",
"description": "The phone number of the representative of the third party (recipient).",
"pattern": "^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$",
"examples": [
"0049 151 1234 9876"
]
}
}
},
"category": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/0/properties/category",
"type": "string",
"title": "Category",
"description": "The category of the the recipient.",
"examples": [
"Marketing content provider"
]
}
}
},
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/1",
"type": "object",
"title": "Second anyOf",
"examples": [
{
"category": "Responsible Statistical Institutes"
}
],
"required": [
"category"
],
"additionalProperties": true,
"properties": {
"category": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items/anyOf/1/properties/category",
"type": "string",
"title": "Category",
"description": "This category has to be given, even if the controller is not mentioned explicitly.",
"examples": [
"Responsible Statistical Institutes"
]
}
}
}
],
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/recipients/items"
}
},
"storage": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage",
"type": "array",
"title": "Storage",
"description": "In this section, the duration of storage or storage criteria are given.",
"examples": [
[
{
"temporal": [
{
"description": "Creating backups.",
"ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
},
{
"description": "Finishing ordering process.",
"ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
}
],
"purposeConditional": [
"Data is stored until the end of the ordering process."
],
"legalBasisConditional": [
"SGB-100-42"
],
"aggregationFunction": "max"
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0",
"type": "object",
"title": "First anyOf",
"examples": [
{
"temporal": [
{
"description": "Creating backups.",
"ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
},
{
"description": "Finishing ordering process.",
"ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
}
],
"purposeConditional": [
"Data is stored until the end of the ordering process."
],
"legalBasisConditional": [
"SGB-100-42"
],
"aggregationFunction": "max"
}
],
"required": [
"aggregationFunction"
],
"additionalProperties": true,
"properties": {
"temporal": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/temporal",
"type": "array",
"title": "Temporal",
"description": "This schema serves to specify a temporal description of how long the data is stored and for what exactly.",
"examples": [
[
{
"description": "Creating backups.",
"ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
},
{
"description": "Finishing ordering process.",
"ttl": "2020-08-09T18:31:42P3Y6M4DT12H30M17S"
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/temporal/items/anyOf/0",
"type": "object",
"title": "First anyOf",
"examples": [
{
"description": "Creating backups.",
"ttl": "2005-08-09T18:31:42P3Y6M4DT12H30M17S"
}
],
"required": [
"description",
"ttl"
],
"additionalProperties": true,
"properties": {
"description": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/temporal/items/anyOf/0/properties/description",
"type": "string",
"title": "Description",
"description": "The description why the data has to be stored..",
"examples": [
"Creating backups."
]
},
"ttl": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/temporal/items/anyOf/0/properties/ttl",
"type": "string",
"title": "Ttl",
"description": "The TTL (Time-to-Live) specifies the lifetime of this data (category). It follows the ISO 8601 for time spans.",
"pattern": "^(\\d{4}(-\\d{2}(-\\d{2})?(?!:))?(T\\d{2}(:\\d{2}(:\\d{2})?(\\.\\d+)?)?)?(Z|([+,-]\\d{2}(:\\d{2})?))?)?P(([0-9]+([.,][0-9]*)?Y)?([0-9]+([.,][0-9]*)?M)?([0-9]+([.,][0-9]*)?D)?T?([0-9]+([.,][0-9]*)?H)?([0-9]+([.,][0-9]*)?M)?([0-9]+([.,][0-9]*)?S)?)|\\d{4}-?(0[1-9]|11|12)-?(?:[0-2]\\d|30|31)T((?:[0-1][0-9]|[2][0-3]):?(?:[0-5][0-9]):?(?:[0-5][0-9]|60)|2400|24:00)$",
"examples": [
"2005-08-09T18:31:42P3Y6M4DT12H30M17S"
]
}
}
}
],
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/temporal/items"
}
},
"purposeConditional": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/purposeConditional",
"type": "array",
"title": "PurposeConditional",
"description": "Specifies the purpose that requires data storage.",
"examples": [
[
"Data is stored until the end of the ordering process."
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/purposeConditional/items/anyOf/0",
"type": "string",
"title": "AnyOf schema",
"examples": [
"Data is stored until the end of the ordering process."
]
}
],
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/purposeConditional/items"
}
},
"legalBasisConditional": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/legalBasisConditional",
"type": "array",
"title": "LegalBasisConditional",
"description": "If the storage is required by law, the respective one has to specified in here.",
"examples": [
[
"SGB-100-42"
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/legalBasisConditional/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"pattern": "^[A-Z]*([-]?[0-9]*|[a-z]*)*$",
"examples": [
"SGB-100-42"
]
}
],
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/legalBasisConditional/items"
}
},
"aggregationFunction": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items/anyOf/0/properties/aggregationFunction",
"type": "string",
"title": "AggregationFunction",
"description": "The aggregation function describes the calculation basis when specifying several time intervals. For example, if there is storage for 2 weeks for technical reasons (e.g. backup), but there is a legally longer retention period, the maximum aggregation function (max) would be selected (standard case). Aggregation functions available: min, max, sum, avg",
"default": "max",
"enum": [
"min",
"max",
"sum",
"avg"
],
"examples": [
"max"
]
}
}
}
],
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/storage/items"
}
},
"nonDisclosure": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/nonDisclosure",
"type": "object",
"title": "NonDisclosure",
"description": "This schema refers to the necessity and consequences of non-disclosure of personal data. According to Art. 13 (2e), this refers to the information whether the provision of the personal data is required by law or contract or is required for the conclusion of a contract, whether the data subject is obliged to provide the personal data and the possible consequences of not providing it.",
"examples": [
{
"legalRequirement": false,
"contractualRegulation": false,
"obligationToProvide": false,
"consequences": "If the data is not disclosed, the shipment cannot be delivered."
}
],
"required": [
"legalRequirement",
"contractualRegulation",
"obligationToProvide",
"consequences"
],
"additionalProperties": true,
"properties": {
"legalRequirement": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/nonDisclosure/properties/legalRequirement",
"type": "boolean",
"title": "LegalRequirement",
"description": "Is there a legal requirement to collect these data?",
"default": false,
"examples": [
false,
true
]
},
"contractualRegulation": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/nonDisclosure/properties/contractualRegulation",
"type": "boolean",
"title": "ContractualRegulation",
"description": "Is there a contractual regulation to collect these data?",
"default": false,
"examples": [
false,
true
]
},
"obligationToProvide": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/nonDisclosure/properties/obligationToProvide",
"type": "boolean",
"title": "ObligationToProvide",
"description": "Is there an obligation for the data subject to provide these data?",
"default": false,
"examples": [
false,
true
]
},
"consequences": {
"$id": "#/properties/dataDisclosed/items/anyOf/0/properties/nonDisclosure/properties/consequences",
"type": "string",
"title": "Consequences",
"description": "Description of the consequences in the case of non-disclosure.",
"examples": [
"If the data is not disclosed, the shipment cannot be delivered."
]
}
}
}
}
}
],
"$id": "#/properties/dataDisclosed/items"
}
},
"thirdCountryTransfers": {
"$id": "#/properties/thirdCountryTransfers",
"type": "array",
"title": "ThirdCountryTransfers",
"description": "This schema refers to the adequacy decisions of any third country transfers.",
"examples": [
[
{
"country": "ES",
"adequacyDecision": {
"available": true,
"description": "An adequacy decision was made on the 23rd April 2020 by..."
},
"appropriateGuarantees": {
"available": true,
"description": "Here the appropriate guarantee was formulated by..."
},
"presenceOfEnforceableRightsAndEffectiveRemedies": {
"available": true,
"description": "These rights are given because of..."
},
"standardDataProtectionClause": {
"available": true,
"description": "The standard data protection clause which applies here can be found here: ..."
}
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0",
"type": "object",
"title": "AnyOf schema",
"examples": [
{
"country": "ES",
"adequacyDecision": {
"available": true,
"description": "An adequacy decision was made on the 23rd April 2020 by..."
},
"appropriateGuarantees": {
"available": true,
"description": "Here the appropriate guarantee was formulated by..."
},
"presenceOfEnforceableRightsAndEffectiveRemedies": {
"available": true,
"description": "These rights are given because of..."
},
"standardDataProtectionClause": {
"available": true,
"description": "The standard data protection clause which applies here can be found here: ..."
}
}
],
"required": [],
"additionalProperties": true,
"properties": {
"country": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/country",
"type": "string",
"title": "Country",
"description": "The country code of the third country.",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Z][A-Z]$",
"examples": [
"ES"
]
},
"adequacyDecision": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/adequacyDecision",
"type": "object",
"title": "AdequacyDecision",
"examples": [
{
"available": true,
"description": "An adequacy decision was made on the 23rd April 2020 by..."
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/adequacyDecision/properties/available",
"type": "boolean",
"title": "Available",
"description": "Adequacy decision by the European commission exists?",
"default": false,
"examples": [
true,
false
]
},
"description": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/adequacyDecision/properties/description",
"type": "string",
"title": "Description",
"description": "Description of the adequacy decision by the European commission.",
"examples": [
"An adequacy decision was made on the 23rd April 2020 by..."
]
}
}
},
"appropriateGuarantees": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/appropriateGuarantees",
"type": "object",
"title": "AppropriateGuarantees",
"description": "Suitable guarantees according to Art. 45",
"examples": [
{
"available": true,
"description": "Here the appropriate guarantee was formulated by..."
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/appropriateGuarantees/properties/available",
"type": "boolean",
"title": "Available",
"description": "Do suitable guarantees according to Art. 45 exist?",
"default": false,
"examples": [
true,
false
]
},
"description": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/appropriateGuarantees/properties/description",
"type": "string",
"title": "Description",
"description": "Description of suitable guarantees according to Art. 45",
"examples": [
"Here the appropriate guarantee was formulated by..."
]
}
}
},
"presenceOfEnforceableRightsAndEffectiveRemedies": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/presenceOfEnforceableRightsAndEffectiveRemedies",
"type": "object",
"title": "PresenceOfEnforceableRightsAndEffectiveRemedies",
"description": "Presence of enforceable rights and effective remedies",
"examples": [
{
"available": true,
"description": "These rights are given because of..."
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/presenceOfEnforceableRightsAndEffectiveRemedies/properties/available",
"type": "boolean",
"title": "Available",
"description": "Presence of enforceable rights and effective remedies?",
"default": false,
"examples": [
true,
false
]
},
"description": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/presenceOfEnforceableRightsAndEffectiveRemedies/properties/description",
"type": "string",
"title": "Description",
"description": "Description of enforceable rights and effective remedies.",
"examples": [
"These rights are given because of..."
]
}
}
},
"standardDataProtectionClause": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/standardDataProtectionClause",
"type": "object",
"title": "StandardDataProtectionClause",
"description": "Schema on Standard Data Protection clauses.",
"examples": [
{
"available": true,
"description": "The standard data protection clause which applies here can be found here: ..."
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/standardDataProtectionClause/properties/available",
"type": "boolean",
"title": "Available",
"description": "Does a standard data protection clause exist?",
"default": false,
"examples": [
true,
false
]
},
"description": {
"$id": "#/properties/thirdCountryTransfers/items/anyOf/0/properties/standardDataProtectionClause/properties/description",
"type": "string",
"title": "Description",
"description": "An explanation about the standard data protection clause (may include link).",
"examples": [
"The standard data protection clause which applies here can be found here: ..."
]
}
}
}
}
}
],
"$id": "#/properties/thirdCountryTransfers/items"
}
},
"accessAndDataPortability": {
"$id": "#/properties/accessAndDataPortability",
"type": "object",
"title": "AccessAndDataPortability",
"description": "Defining the right to access and data portability.",
"examples": [
{
"available": true,
"description": "Data access is possible through...",
"url": "https://green-bikes.de/access",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
],
"administrativeFee": {
"amount": 0,
"currency": "EUR"
},
"dataFormat": "json"
}
],
"required": [
"available"
],
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/accessAndDataPortability/properties/available",
"type": "boolean",
"title": "Available",
"description": "The information is subject to the requirements of Art. 20 (right to data portability) GDPR.",
"default": true,
"examples": [
true
]
},
"description": {
"$id": "#/properties/accessAndDataPortability/properties/description",
"type": "string",
"title": "Description",
"description": "Description of the requirements according to Art. 20 GDPR.",
"examples": [
"Data access is possible through...",
"In the event that the requirements of Art. 20 Para. 1 GDPR are met, you have the right to store your data in a structured, common .."
]
},
"url": {
"$id": "#/properties/accessAndDataPortability/properties/url",
"type": "string",
"title": "Url",
"description": "URL to relevant resources such as access portals.",
"format": "uri-reference",
"examples": [
"https://green-bikes.de/access"
]
},
"email": {
"$id": "#/properties/accessAndDataPortability/properties/email",
"type": "string",
"title": "Email",
"description": "Contact email address",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"identificationEvidences": {
"$id": "#/properties/accessAndDataPortability/properties/identificationEvidences",
"type": "array",
"title": "IdentificationEvidences",
"description": "ID evidences",
"examples": [
[
"ID card copy",
"Email verification"
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/accessAndDataPortability/properties/identificationEvidences/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"ID card copy",
"Email verification"
]
}
],
"$id": "#/properties/accessAndDataPortability/properties/identificationEvidences/items"
}
},
"administrativeFee": {
"$id": "#/properties/accessAndDataPortability/properties/administrativeFee",
"type": "object",
"title": "AdministrativeFee",
"description": "The fee that refers to several copies.",
"examples": [
{
"amount": 0,
"currency": "EUR"
}
],
"required": [
"amount",
"currency"
],
"additionalProperties": true,
"properties": {
"amount": {
"$id": "#/properties/accessAndDataPortability/properties/administrativeFee/properties/amount",
"type": "number",
"title": "Amount",
"description": "The amount of money to be paid for a copy.",
"default": 0,
"examples": [
0
]
},
"currency": {
"$id": "#/properties/accessAndDataPortability/properties/administrativeFee/properties/currency",
"type": "string",
"title": "Currency",
"description": "The currency in which the amount of money for one copy has to be provided acc. to ISO 4217.",
"default": "EUR",
"minLength": 3,
"maxLength": 3,
"examples": [
"EUR"
]
}
}
},
"dataFormats": {
"$id": "#/properties/accessAndDataPortability/properties/dataFormats",
"type": "array",
"title": "DataFormat",
"description": "An explanation about the data format(s) the data is provided in.",
"default": [
"json"
],
"examples": [
"json",
"xml"
],
"items": {
"anyOf": [
{
"$id": "#/properties/accessAndDataPortability/properties/dataFormats/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"json",
"xml"
]
}
],
"$id": "#/properties/accessAndDataPortability/properties/dataFormats/items"
}
}
}
},
"sources": {
"$id": "#/properties/sources",
"type": "array",
"title": "Sources",
"description": "This duty to provide information is limited to the collection of personal data that does not take place from the data subject (Art. 14).",
"examples": [
[
{
"_id": "f1423cc00509931",
"dataCategory": "Creditworthiness",
"sources": [
{
"description": "This information could be retrieved from...",
"url": "https://blueCompany.org",
"publiclyAvailable": false
}
]
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/sources/items/anyOf/0",
"type": "object",
"title": "First anyOf",
"examples": [
{
"_id": "f1423cc00509931",
"dataCategory": "Creditworthiness",
"sources": [
{
"description": "This information could be retrieved from...",
"url": "https://blueCompany.org",
"publiclyAvailable": false
}
]
}
],
"required": [
"_id",
"dataCategory",
"sources"
],
"additionalProperties": true,
"properties": {
"_id": {
"$id": "#/properties/sources/items/anyOf/0/properties/_id",
"type": "string",
"title": "_id",
"description": "This refers to an locally unique ID in an arbitrary but deterministic format.",
"examples": [
"f1423cc00509931"
]
},
"dataCategory": {
"$id": "#/properties/sources/items/anyOf/0/properties/dataCategory",
"type": "string",
"title": "DataCategory",
"description": "The category the data refer to.",
"examples": [
"Creditworthiness"
]
},
"sources": {
"$id": "#/properties/sources/items/anyOf/0/properties/sources",
"type": "array",
"title": "Sources",
"description": "Specify the source(s) where the data come from.",
"examples": [
[
{
"description": "This information could be retrieved from...",
"url": "https://blueCompany.org",
"publiclyAvailable": false
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/sources/items/anyOf/0/properties/sources/items/anyOf/0",
"type": "object",
"title": "First anyOf",
"examples": [
{
"description": "This information could be retrieved from...",
"url": "https://blueCompany.org",
"publiclyAvailable": false
}
],
"required": [
"description",
"url",
"publiclyAvailable"
],
"additionalProperties": true,
"properties": {
"description": {
"$id": "#/properties/sources/items/anyOf/0/properties/sources/items/anyOf/0/properties/description",
"type": "string",
"title": "Description",
"description": "Description of the source the data is taken from.",
"examples": [
"This information could be retrieved from..."
]
},
"url": {
"$id": "#/properties/sources/items/anyOf/0/properties/sources/items/anyOf/0/properties/url",
"type": "string",
"title": "Url",
"description": "URL (reference) where the data is taken from.",
"format": "uri-reference",
"examples": [
"https://blueCompany.org"
]
},
"publiclyAvailable": {
"$id": "#/properties/sources/items/anyOf/0/properties/sources/items/anyOf/0/properties/publiclyAvailable",
"type": "boolean",
"title": "PubliclyAvailable",
"description": "Are these data publicly available?",
"default": false,
"examples": [
false,
true
]
}
}
}
],
"$id": "#/properties/sources/items/anyOf/0/properties/sources/items"
}
}
}
}
],
"$id": "#/properties/sources/items"
}
},
"rightToInformation": {
"$id": "#/properties/rightToInformation",
"type": "object",
"title": "RightToInformation",
"description": "Refers to the right of information.",
"examples": [
{
"available": true,
"description": "For the right to information please use this contact form and...",
"url": "https://greencompany.org/rightToInformation",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
]
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/rightToInformation/properties/available",
"type": "boolean",
"title": "Available",
"description": "Possibility available?",
"default": true,
"examples": [
true
]
},
"description": {
"$id": "#/properties/rightToInformation/properties/description",
"type": "string",
"title": "Description",
"description": "Description of the right.",
"examples": [
"For the right to information please use this contact form and..."
]
},
"url": {
"$id": "#/properties/rightToInformation/properties/url",
"type": "string",
"title": "Url",
"description": "URL to an online portal.",
"format": "uri-reference",
"examples": [
"https://greencompany.org/rightToInformation"
]
},
"email": {
"$id": "#/properties/rightToInformation/properties/email",
"type": "string",
"title": "Email",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"identificationEvidences": {
"$id": "#/properties/rightToInformation/properties/identificationEvidences",
"type": "array",
"title": "IdentificationEvidences",
"examples": [
[
"ID card copy",
"Email verification"
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/rightToInformation/properties/identificationEvidences/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"ID card copy",
"Email verification"
]
}
],
"$id": "#/properties/rightToInformation/properties/identificationEvidences/items"
}
}
}
},
"rightToRectificationOrDeletion": {
"$id": "#/properties/rightToRectificationOrDeletion",
"type": "object",
"title": "RightToRectificationOrDeletion",
"description": "This schema refers to the right to rectification or deletion (Art. 16 GDPR).",
"examples": [
{
"available": true,
"description": "For the right to rectification please use this contact form and...",
"url": "https://greencompany.org/rights",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
]
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/rightToRectificationOrDeletion/properties/available",
"type": "boolean",
"title": "Available",
"description": "Possibility available?",
"default": true,
"examples": [
true,
false
]
},
"description": {
"$id": "#/properties/rightToRectificationOrDeletion/properties/description",
"type": "string",
"title": "Description",
"examples": [
"For the right to rectification please use this contact form and..."
]
},
"url": {
"$id": "#/properties/rightToRectificationOrDeletion/properties/url",
"type": "string",
"title": "Url",
"format": "uri-reference",
"examples": [
"https://greencompany.org/rights"
]
},
"email": {
"$id": "#/properties/rightToRectificationOrDeletion/properties/email",
"type": "string",
"title": "Email",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"identificationEvidences": {
"$id": "#/properties/rightToRectificationOrDeletion/properties/identificationEvidences",
"type": "array",
"title": "IdentificationEvidences",
"examples": [
[
"ID card copy",
"Email verification"
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/rightToRectificationOrDeletion/properties/identificationEvidences/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"ID card copy",
"Email verification"
]
}
],
"$id": "#/properties/rightToRectificationOrDeletion/properties/identificationEvidences/items"
}
}
}
},
"rightToDataPortability": {
"$id": "#/properties/rightToDataPortability",
"type": "object",
"title": "RightToDataPortability",
"description": "The right to data portability as stated in Art. 20 GDPR.",
"examples": [
{
"available": true,
"description": "Data portability is only possible when...",
"url": "https://greencompany.org/rights",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy"
]
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/rightToDataPortability/properties/available",
"type": "boolean",
"title": "Available",
"default": true,
"examples": [
false,
true
]
},
"description": {
"$id": "#/properties/rightToDataPortability/properties/description",
"type": "string",
"title": "Description",
"examples": [
"Data portability is only possible when..."
]
},
"url": {
"$id": "#/properties/rightToDataPortability/properties/url",
"type": "string",
"title": "Url",
"format": "uri-reference",
"examples": [
"https://greencompany.org/rights"
]
},
"email": {
"$id": "#/properties/rightToDataPortability/properties/email",
"type": "string",
"title": "Email",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"identificationEvidences": {
"$id": "#/properties/rightToDataPortability/properties/identificationEvidences",
"type": "array",
"title": "IdentificationEvidences",
"examples": [
[
"ID card copy"
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/rightToDataPortability/properties/identificationEvidences/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"ID card copy"
]
}
],
"$id": "#/properties/rightToDataPortability/properties/identificationEvidences/items"
}
}
}
},
"rightToWithdrawConsent": {
"$id": "#/properties/rightToWithdrawConsent",
"type": "object",
"title": "RightToWithdrawConsent",
"description": "This schema refers to the right to withdraw consent.",
"examples": [
{
"available": true,
"description": "For the right to withdraw consent please use this contact form and...",
"url": "https://greencompany.org/rights",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"Email verification"
]
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/rightToWithdrawConsent/properties/available",
"type": "boolean",
"title": "Available",
"default": true,
"examples": [
true,
false
]
},
"description": {
"$id": "#/properties/rightToWithdrawConsent/properties/description",
"type": "string",
"title": "Description",
"examples": [
"For the right to withdraw consent please use this contact form and..."
]
},
"url": {
"$id": "#/properties/rightToWithdrawConsent/properties/url",
"type": "string",
"title": "Url",
"format": "uri-reference",
"examples": [
"https://greencompany.org/rights"
]
},
"email": {
"$id": "#/properties/rightToWithdrawConsent/properties/email",
"type": "string",
"title": "Email",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"identificationEvidences": {
"$id": "#/properties/rightToWithdrawConsent/properties/identificationEvidences",
"type": "array",
"title": "IdentificationEvidences",
"examples": [
[
"Email verification"
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/rightToWithdrawConsent/properties/identificationEvidences/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"Email verification"
]
}
],
"$id": "#/properties/rightToWithdrawConsent/properties/identificationEvidences/items"
}
}
}
},
"rightToComplain": {
"$id": "#/properties/rightToComplain",
"type": "object",
"title": "RightToComplain",
"description": "This schema refers to the right to complain.",
"examples": [
{
"available": true,
"description": "For the right to complain please use this contact form and...",
"url": "https://greencompany.org/rights",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
],
"supervisoryAuthority": {
"name": "Commissioner for Data Protection",
"address": "Friedrichstrasse 219, 10969 Berlin",
"country": "DE",
"email"<EMAIL_ADDRESS>"phone": "0049 444 222 111"
}
}
],
"if": {
"properties": {
"available": {
"const": true
}
},
"required": [
"available"
]
},
"then": {
"required": [
"description",
"supervisoryAuthority"
]
},
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/rightToComplain/properties/available",
"type": "boolean",
"title": "Available",
"description": "Is this right available?",
"default": true,
"examples": [
true,
false
]
},
"description": {
"$id": "#/properties/rightToComplain/properties/description",
"type": "string",
"title": "Description",
"examples": [
"For the right to complain please use this contact form and..."
]
},
"url": {
"$id": "#/properties/rightToComplain/properties/url",
"type": "string",
"title": "Url",
"format": "uri-reference",
"examples": [
"https://greencompany.org/rights"
]
},
"email": {
"$id": "#/properties/rightToComplain/properties/email",
"type": "string",
"title": "Email",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"identificationEvidences": {
"$id": "#/properties/rightToComplain/properties/identificationEvidences",
"type": "array",
"title": "IdentificationEvidences",
"examples": [
[
"ID card copy",
"Email verification"
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/rightToComplain/properties/identificationEvidences/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"ID card copy",
"Email verification"
]
}
],
"$id": "#/properties/rightToComplain/properties/identificationEvidences/items"
}
},
"supervisoryAuthority": {
"$id": "#/properties/rightToComplain/properties/supervisoryAuthority",
"type": "object",
"title": "SupervisoryAuthority",
"description": "Defines the supervisory authority that has to be contacted in order to complain about the data controller's practices.",
"examples": [
{
"name": "Commissioner for Data Protection",
"address": "Friedrichstrasse 219, 10969 Berlin",
"country": "DE",
"email"<EMAIL_ADDRESS>"phone": "0049 444 222 111"
}
],
"required": [
"name"
],
"additionalProperties": true,
"properties": {
"name": {
"$id": "#/properties/rightToComplain/properties/supervisoryAuthority/properties/name",
"type": "string",
"title": "Name",
"description": "Name of the supervisory authority.",
"examples": [
"Commissioner for Data Protection"
]
},
"address": {
"$id": "#/properties/rightToComplain/properties/supervisoryAuthority/properties/address",
"type": "string",
"title": "Address",
"description": "Adress of the supervisory authority.",
"examples": [
"Friedrichstrasse 219, 10969 Berlin"
]
},
"country": {
"$id": "#/properties/rightToComplain/properties/supervisoryAuthority/properties/country",
"type": "string",
"title": "Country",
"description": "Country of the supervisory authority.",
"minLength": 2,
"maxLength": 2,
"examples": [
"DE"
]
},
"email": {
"$id": "#/properties/rightToComplain/properties/supervisoryAuthority/properties/email",
"type": "string",
"title": "Email",
"description": "Email adress of the supervisory authority.",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"phone": {
"$id": "#/properties/rightToComplain/properties/supervisoryAuthority/properties/phone",
"type": "string",
"title": "Phone",
"description": "Phone number of the supervisory authority.",
"pattern": "^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$",
"examples": [
"0049 444 222 111"
]
}
}
}
}
},
"automatedDecisionMaking": {
"$id": "#/properties/automatedDecisionMaking",
"type": "object",
"title": "AutomatedDecisionMaking",
"description": "Automated decision making and potentially involved logic. Does include profiling.",
"examples": [
{
"inUse": true,
"logicInvolved": "The personal data are processed as follows...",
"scopeAndIntendedEffects": "From processing follows..."
}
],
"if": {
"properties": {
"inUse": {
"const": true
}
},
"required": [
"inUse"
]
},
"then": {
"required": [
"logicInvolved",
"scopeAndIntendedEffects"
]
},
"additionalProperties": true,
"properties": {
"inUse": {
"$id": "#/properties/automatedDecisionMaking/properties/inUse",
"type": "boolean",
"title": "InUse",
"description": "Is automated decision making in use?",
"default": true,
"examples": [
true,
false
]
},
"logicInvolved": {
"$id": "#/properties/automatedDecisionMaking/properties/logicInvolved",
"type": "string",
"title": "LogicInvolved",
"description": "An explanation about the logic involved to automated decision making.",
"examples": [
"The personal data are processed as follows..."
]
},
"scopeAndIntendedEffects": {
"$id": "#/properties/automatedDecisionMaking/properties/scopeAndIntendedEffects",
"type": "string",
"title": "ScopeAndIntendedEffects",
"description": "Scope and intended effects of such processing for the data subject.",
"examples": [
"From processing follows..."
]
}
}
},
"changesOfPurpose": {
"$id": "#/properties/changesOfPurpose",
"type": "array",
"title": "ChangesOfPurpose",
"description": "Notification of change of purpose.",
"examples": [
[
{
"description": "Due to technical requirements...",
"affectedDataCategories": [
"Email adress",
"Credit score"
],
"plannedDateOfChange": "2020-08-20",
"urlOfNewVersion": "https://greencomp.de/privacypolicy/2"
}
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/changesOfPurpose/items/anyOf/0",
"type": "object",
"title": "First anyOf",
"examples": [
{
"description": "Due to technical requirements...",
"affectedDataCategories": [
"Email adress",
"Credit score"
],
"plannedDateOfChange": "2020-08-20",
"urlOfNewVersion": "https://greencomp.de/privacypolicy/2"
}
],
"required": [],
"additionalProperties": true,
"properties": {
"description": {
"$id": "#/properties/changesOfPurpose/items/anyOf/0/properties/description",
"type": "string",
"title": "Description",
"description": "Description of the change of purpose.",
"examples": [
"Due to technical requirements..."
]
},
"affectedDataCategories": {
"$id": "#/properties/changesOfPurpose/items/anyOf/0/properties/affectedDataCategories",
"type": "array",
"title": "AffectedDataCategories",
"description": "Data categories that are affected from the change of purpose.",
"examples": [
[
"Email adress",
"Credit score"
]
],
"additionalItems": true,
"items": {
"anyOf": [
{
"$id": "#/properties/changesOfPurpose/items/anyOf/0/properties/affectedDataCategories/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"Email adress",
"Credit score"
]
}
],
"$id": "#/properties/changesOfPurpose/items/anyOf/0/properties/affectedDataCategories/items"
}
},
"plannedDateOfChange": {
"$id": "#/properties/changesOfPurpose/items/anyOf/0/properties/plannedDateOfChange",
"type": "string",
"title": "PlannedDateOfChange",
"description": "Specify the planned date to the changes as ISO 8601 string.",
"pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$",
"examples": [
"2020-08-20"
]
},
"urlOfNewVersion": {
"$id": "#/properties/changesOfPurpose/items/anyOf/0/properties/urlOfNewVersion",
"type": "string",
"title": "UrlOfNewVersion",
"description": "URL points to a document of the same as this one. That creates a chain of information requirements for seamless recognition of transparency information even over a longer period of time.",
"examples": [
"https://greencomp.de/tilt/2"
]
}
}
}
],
"$id": "#/properties/changesOfPurpose/items"
}
}
}
}
C:\Users\Elias\Desktop\schema\tilt-schema.json (1:2)


Math Problems
- 2 + 2
- 2 + 3
- 23
- 24
- What color is the opposite of orange?
- T/F: China is now controlling the Corona virus
- T/F: The U.S. is two weeks behind Italy in relation with the Corona virus
- T/F: The tallest person ever recorded was 8ft 10in
- 2-3
- 9 + 10


A Pair of Graphs
问题描述 :
We say that two graphs are equivalent if and only if a one-to-one correspondence between their nodes can be established and under such a correspondence their edges are exactly the same. Given A and B, two undirected simple graphs with the same number of vertexes, you are to find a series of operations with the minimum cost that will make the two graphs equivalent. An operation may be one of the following two types:
a) Add an arbitrary edge (x, y), provided that (x, y) does not exist before such an operation. Such an operation costs IA and IB on two graphs, respectively.
b) Delete an existing edge (x, y), which costs DA and DB on two graphs,respectively.
a) Add an arbitrary edge (x, y), provided that (x, y) does not exist before such an operation. Such an operation costs IA and IB on two graphs, respectively.
b) Delete an existing edge (x, y), which costs DA and DB on two graphs,respectively.
输入:
There are multiple test cases in the input file.
Each test case starts with three integers, N, MA and MB, ( 1 ≤ N ≤ 8, 0 ≤ MB ,MA ≤ N*(N-1)/2 ), the total number of vertexes, the number of edges in graph A,and the number of edges in graph B, respectively. Four integers IA, IB, DA, and DB come next, (0 ≤ IA, IB, DA, DB ≤ 32767 ), representing the costs as stated in the problem description. The next MA + MB lines describe the edges in graph A followed by those in graph B. Each line consists of exactly two integers, X and Y ( X ≠ Y , 0 ≤ X,Y < N).
Two successive test cases are separated by a blank line. A case with N = 0, MA = 0,and MB = 0 indicates the end of the input file, and should not be processed by your program.
Each test case starts with three integers, N, MA and MB, ( 1 ≤ N ≤ 8, 0 ≤ MB ,MA ≤ N*(N-1)/2 ), the total number of vertexes, the number of edges in graph A,and the number of edges in graph B, respectively. Four integers IA, IB, DA, and DB come next, (0 ≤ IA, IB, DA, DB ≤ 32767 ), representing the costs as stated in the problem description. The next MA + MB lines describe the edges in graph A followed by those in graph B. Each line consists of exactly two integers, X and Y ( X ≠ Y , 0 ≤ X,Y < N).
Two successive test cases are separated by a blank line. A case with N = 0, MA = 0,and MB = 0 indicates the end of the input file, and should not be processed by your program.
输出:
There are multiple test cases in the input file.
Each test case starts with three integers, N, MA and MB, ( 1 ≤ N ≤ 8, 0 ≤ MB ,MA ≤ N*(N-1)/2 ), the total number of vertexes, the number of edges in graph A,and the number of edges in graph B, respectively. Four integers IA, IB, DA, and DB come next, (0 ≤ IA, IB, DA, DB ≤ 32767 ), representing the costs as stated in the problem description. The next MA + MB lines describe the edges in graph A followed by those in graph B. Each line consists of exactly two integers, X and Y ( X ≠ Y , 0 ≤ X,Y < N).
Two successive test cases are separated by a blank line. A case with N = 0, MA = 0,and MB = 0 indicates the end of the input file, and should not be processed by your program.
Each test case starts with three integers, N, MA and MB, ( 1 ≤ N ≤ 8, 0 ≤ MB ,MA ≤ N*(N-1)/2 ), the total number of vertexes, the number of edges in graph A,and the number of edges in graph B, respectively. Four integers IA, IB, DA, and DB come next, (0 ≤ IA, IB, DA, DB ≤ 32767 ), representing the costs as stated in the problem description. The next MA + MB lines describe the edges in graph A followed by those in graph B. Each line consists of exactly two integers, X and Y ( X ≠ Y , 0 ≤ X,Y < N).
Two successive test cases are separated by a blank line. A case with N = 0, MA = 0,and MB = 0 indicates the end of the input file, and should not be processed by your program.
样例输入:
1 0 0 1 2 3 7 4 2 3 1 6 5 1 0 1 0 3 0 2 1 2 1 0 0 0 0
样例输出:
Case #1: 0 Case #2: 1
题意：给出顶点数一样俩个图A、B 。试着给A、B添边或去边操作（给出A、B添、去边的代价）使最小的代价使A，B两图看着一样！
该题是2011-11-6周赛的题，当时AC率这个最高了，所以去做这个了，当把题意读懂时发现，这、、、根本无法解决！！
无奈之下放弃了，没注意n的范围，也不敢想暴力！最有C小加搜了解题报告，说都是暴力枚举。然后我就试试暴力了，可是如何暴呢？仍是没思路、、、、、没办法只有看解题报告了。现在算是明白了、、、、、！一个通过率最高的题就不会做，这说明什么？JUST WATER！
思路：暴力枚举（用到的是排列）。假设A、B两图经过操作两图一样了。那么此时一定存在：A的点与B的点一一对应！介于此，所以我们列出A、B各点一一对应的所有可能（而这就是排列 n！中情况），从中找到最小的花费。
代码：
#include <stdio.h> #include <string.h> int A[10][10],B[10][10]; int vary[10]; bool flag[10]; int small1,small2,min; void action(int n) { int i,j,val=0; for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(A[vary[i]][vary[j]]==B[i][j]) continue; if(A[vary[i]][vary[j]]) val+=small2; else val+=small1; } } if(val<min) min=val; } void DFS(int pos,int n) { int i; if(pos==n) {action(n); return ; } for(i=0;i<n;i++) { if(flag[i]) { vary[pos]=i; flag[i]=false; DFS(pos+1,n); // 原来->DFS(++pos,n);考，给力!递归中pos的值再回溯时，pos的值就变了... // 狂汗!! flag[i]=true; } } } void solve() { int n,Ma,Mb,Ia,Ib,Da,Db; int i,a,b,cas=0; while(scanf("%d %d %d",&n,&Ma,&Mb) && n) { scanf("%d %d %d %d",&Ia,&Ib,&Da,&Db); small1=(Ia<Db?Ia:Db); small2=(Ib<Da?Ib:Da); min=0xfffffff; memset(A,0,sizeof(A)); memset(B,0,sizeof(B)); for(i=0;i<Ma;i++) { scanf("%d %d",&a,&b); A[a][b]=A[b][a]=1; } for(i=0;i<Mb;i++) { scanf("%d %d",&a,&b); B[a][b]=B[b][a]=1; } for(i=0;i<n;i++) flag[i]=true; DFS(0,n); printf("Case #%d: %d\n",++cas,min/2); } } int main() { solve(); return 0; }
本来看了别人的解题，自己就写出来了，可就是过不了。。。最好发现了在递归DFS中 ++pos是错的！！
解题转自：http://www.cnblogs.com/fornever/archive/2011/11/07/2240188.html
(adsbygoogle = window.adsbygoogle || []).push({});
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
因为她旳体质关系
能告诉我为什么对于每一个m，cnt的值不用更新吗?这儿我想不通啊，谢谢
这是研发类的题还是算法类？
aha, welcome!
程序员会算法，等于一个古惑仔带了zhi抢啊
排版
很好，解决了
写的好····· Pollard Rho快速因数分解
97行缺一个分号
很好的题，还是能做出几道的，嘿嘿
还真是，i7的cpu跑了3秒
可以根据二叉排序树的定义进行严格的排序树创建和后序遍历操作。如果形成的排序树相同，其树的前、中、后序遍历是相同的，但在此处不能使用中序遍历，因为，中序遍历的结果就是排序的结果。经在九度测试，运行时间90ms，比楼主的要快。
多谢支持！
程序只能输出一个子序列
为什么for循环找到的i一定是素数叻，而且约数定理说的是n=p1^a1*p2^a2*p3^a3*…*pk^ak，而你每次取余都用的是原来的m，也就是n


Upload a file to GitHub
Token:
(
Create a personal access token with repo access
)
Repository:
Upload image:
Upload


class: center, middle, inverse, title-slide # Package Writing ## RRROBOTS Week 6 ### Hao Ye ### 2017, May 9 --- # Lesson Objectives ### Project Status ### Package Writing Demo --- class: center, middle, inverse # Project Status --- # Project Check-in ### Roadmaps * Current status * (Feel free to revise and add/eliminate tasks as projects develop) ### Obstacles * What can I or others help with? --- class: center, middle, inverse # Package Writing --- # Motivations * share your code with yourself and/or others * adopt conventions for organizing code - file/folder layout - documentation (of code OR data) - writing general-use functions --- # Example https://github.com/aurielfournier/rel ![](package_demo.png) --- # What Can Be Included? ### datasets ### project or document templates ### re-usable functions --- # How To Get Started? ### Reference Material Lots of detailed info here: http://r-pkgs.had.co.nz/intro.html ### Demo Outline * create a basic package * add functions * add dataset * add documentation * add unit tests * build and install --- # Some Handy Add-on Packages * `devtools` - helper functions with some RStudio integration * `roxygen2` - builds .Rd documentation from comments * `testthat` - unit testing functions * `knitr` - build vignettes (e.g. tutorials / user guides) -- *Not strictly necessary, but do make your life easier...* --- # Making a New Package ### Using RStudio `File -> New Project -> New Directory -> R package` will open a window to make a new R package. ### Package Names Package names: * can only consist of letters, numbers, and periods * must being with a letter * cannot end with a period --- # Building the Package ### Build and Reload Clicking this will build and install our package, then open a new R session and load the package. This allows us to test the package in the R console. ### Build Source Package This produces a `bundle` file containing all the necessary files in the package for someone else to build it. ### Build Binary Package This produces a binary form of the package tha anyone can install. Note that the binary is specific to the operating system and R version. --- # R Code The R code resides in script files in the `R` directory. These will define the functions that are part of the package. ### Notes * To use other packages, define them appropriately in the `DESCRIPTION` file. * Side-effects can be created by defining `.onLoad` and `.onAttach` functions. --- # Package DESCRIPTION The `DESCRIPTION` file contains summary metadata your package: * what it is * who wrote it * what it depends on * how can it be used --- --- # References http://r-pkgs.had.co.nz/intro.html http://stat545.com/packages00_index.html --- class: center, middle # Acknowledgments Class supported by:   Slides created via the R package [**xaringan**](https://github.com/yihui/xaringan).


9.1.1.c focus set to group element
When you activate the Set Focus To Group 2 trigger it will set the focus to the second group.
The focus (your cursor) must be inside the Street Name 2 input control of the Billing
Address group.
Shipping Address (group 1)
Street Name 1:
City 1:
Billing Address (group 2)
Street Name 2:
City 2:
Set Focus To Group 2


Many months have passed. Tenths of Linux distributions have been tested. I have gone through all of the major players (Debian,
Ubuntu, openSUSE, Fedora, etc.) and tried some of the less popular ones also. That was highly taxing and I had to let go at some
point. At the end of the day one realizes that there is a life to live and an operating system should be a tool to carry out one’s
daily duties, fulfill one's dreams, etc. The one feature which mattered to me the most was reliability. Frankly, not so many
GNU/Linux distributions are truly reliable. Sometimes there is not enough manpower, while other times there are too many helper
scripts, apps, and other abstractions which add unnecessary levels of complexity and make troubleshooting a pain (I’m looking at
you, dracut
!). Thereby, to me there are only three GNU/Linux distributions which I could honestly call reliable:
Many bad things were said about Ubuntu in the past. It’s corporate. It tries to be flashy. It wants to be Windows, but fails. However, if one looks for a general purpose operating system that is free, stable and doesn’t suffer from issues typical to Windows (DLL hell, Registry mess, hard drive fragmentation, accumulating updates, etc.), Ubuntu is the way to go. Thanks to the generous support from Canonical and various gifted programmers around the globe, Ubuntu has superb hardware and software compatibility. For more performant computers there is Ubuntu, Kubuntu, while for the slightly less so Xubuntu and Lubuntu. I myself use Lubuntu and I am very happy with it!
One can think of Debian as a more community-driven version of Ubuntu, though of course that's not true. After all, Ubuntu stems from Debian and many packages first pass through Debian to end up in Ubuntu. Stock Debian doesn’t require desktop environment installation and can be quite minimal if necessary. Hence, it is a fantastic foundation for a server OS, especially if one chooses the rock-solid Debian Stable line.
This one is quite unique (as in, not striving to be user-friendly like most other Linux distributions), though in reality being the least unique (as in, using stock configurations and vanilla packages). Arch Linux is the very core and essence of GNU/Linux (stock Linux + package manager). Default package installation is as generic as possible (save for minor tweaks and performance optimization for i686 and x86_64 processors), allowing high reproducibility and interoperability with other GNU/Linux operating systems. Many people claim that it is not very reliable due to its cutting-edge nature. In reality, the opposite is true. Firstly, the minimalist approach of Arch Linux reduces the complexity of the operating system. Less loose parts and abstractions equals less potential issues. Programs are added one-by-one, therefore if something breaks, we’ll quickly know what. Secondly, its rolling-release model allows updates to be handled individually. Thereby, if one updates frequently enough, the risk of instability is in fact minor. Finally, there is a fantastic wiki to follow and a very helpful community.
Some distributions didn’t make the cut. why? Well, to me they’re not reliable enough. Fedora is in general a very good Linux OS, however a short development cycle and misalignment with proprietary code (for instance, nVidia drivers) due to personal policies leave a lot of minor bugs unresolved. Not to mention the idea of a serious workstation with GNOME3, which is a tablet-centric desktop environment (also, possibly the worst desktop environment to troubleshoot). OpenSUSE makes a lot of claims regarding stabilty and reliability. While its goals overlap with those of Ubuntu, its quality not necessarily so. Emphasis on PR makes users flock to it, though it surely doesn’t contribute to system reliability. Manjaro would be a fantastic Arch Linux alternative, however it packs far too many abstractions and add-ons. Also, the community spreads itself too thin by engaging in way too many desktop environment spins.


https://streamkit.discordapp.com/overlay
Vanilla Overlay
AERTHRANDIR
AMITY
CAOIMHE
LILISSEN
METRION
Sample Overlay
AERTHRANDIR
AMITY
CAOIMHE
LILISSEN
METRION
▼ Please Input Discord User IDs of Your Friends (like<PHONE_NUMBER>29497867)
▼ Custom CSS
copy
SUPPLEMENT
: "111111111111111111", "222222222222222222" ... are provisional values. Please replace here with Discord user IDs of your friends. (
How to get ID
)


{% load shop_tags i18n %} Thank you for purchasing from BCCF. Customer Name: {{ user.get_full_name }} Account Number: {{ user.profile.account_number }} Order ID: {{ order.id }} Order Date: {{ order.time }} Payment Method: {{ order.payment_method }} Products Purchased: Link to online Invoice {% url 'shop_invoice' order.pk %} Link to download PDF Invoice {% url 'shop_invoice' order.pk %}?format=pdf


--- layout: post title: 'X-everything cross-browser/cross-platform testing: jekk jogħġbok kellem aktar slowely' date: type: post published: false status: draft categories: - Introduction To tags: [] meta: {} author: login: fvdd email<EMAIL_ADDRESS>display_name: fvdd first_name: '' last_name: '' ---
Quality is key in software development. And "Test driven development" is THE prerequisite to long lasting use and success of your application.
The Maltese strawberries are delicious. Is there such a thing as the Maltese Raspberry?
[Me thinkest so! And this without bio engineering. Only software hacking involved!]
These Raspberries take care of much of the burden out of browser/platform testing.
Before we power-charge the Raspberry Pi, let's try out the approach on the good old Ubuntu (14.04 LTS).
At once reconnect with the VirtualBox technology; hasn't changed all that much; the command line often has to come to the rescue.
Welcome to Malta, Mellieha!


{include file="public/head" /}
{:sconfig('base.site_name',$Think.config.system.site_name)} - 登录
{include file="public/footer" /}


cf.example_fields¶
-
cf.
example_fields
(*n, _func=<function example_field>)[source]¶ Return example field constructs.
New in version (cfdm): <IP_ADDRESS>
See also
- Parameters
- n: zero or more
int
, optional Select the example field constructs to return, any combination of:
n
Description
0
A field construct with properties as well as a cell method construct and dimension coordinate constructs with bounds.
1
A field construct with properties as well as at least one of every type of metadata construct.
2
A field construct that contains a monthly time series at each latitude-longitude location.
3
A field construct that contains discrete sampling geometry (DSG) “timeSeries” features.
4
A field construct that contains discrete sampling geometry (DSG) “timeSeriesProfile” features.
5
A field construct that contains a 12 hourly time series at each latitude-longitude location.
6
A field construct that has polygon geometry coordinate cells with interior ring variables.
7
A field construct that has rotated pole dimension coordinate constructs and 2-d latitude and longitude auxiliary coordinate constructs.
If no individual field constructs are selected then all available field constructs will be returned.
Field constructs may be selected multiple time, and will be output in the order that they are given.
See the
cf.example_field
for details.- _func: function
The function that returns each individual field construct.
- n: zero or more
- Returns
FieldList
The example field constructs.
Examples
>>> cf.example_fields() [<CF Field: specific_humidity(latitude(5), longitude(8)) 1>, <CF Field: air_temperature(atmosphere_hybrid_height_coordinate(1), grid_latitude(10), grid_longitude(9)) K>, <CF Field: air_potential_temperature(time(36), latitude(5), longitude(8)) K>, <CF Field: precipitation_flux(cf_role=timeseries_id(4), ncdim%timeseries(9)) kg m-2 day-1>, <CF Field: air_temperature(cf_role=timeseries_id(3), ncdim%timeseries(26), ncdim%profile_1(4)) K>, <CF Field: air_potential_temperature(time(118), latitude(5), longitude(8)) K>, <CF Field: precipitation_amount(cf_role=timeseries_id(2), time(4))>, <CF Field: eastward_wind(time(3), air_pressure(1), grid_latitude(4), grid_longitude(5)) m s-1>]
>>> cf.example_fields(7, 1) [<CF Field: eastward_wind(time(3), air_pressure(1), grid_latitude(4), grid_longitude(5)) m s-1>, <CF Field: air_temperature(atmosphere_hybrid_height_coordinate(1), grid_latitude(10), grid_longitude(9)) K>]
>>> cf.example_fields(3) [<CF Field: precipitation_flux(cf_role=timeseries_id(4), ncdim%timeseries(9)) kg m-2 day-1>]
>>> cf.example_fields(3, 3, 4) [<CF Field: precipitation_flux(cf_role=timeseries_id(4), ncdim%timeseries(9)) kg m-2 day-1>, <CF Field: precipitation_flux(cf_role=timeseries_id(4), ncdim%timeseries(9)) kg m-2 day-1>, <CF Field: air_temperature(cf_role=timeseries_id(3), ncdim%timeseries(26), ncdim%profile_1(4)) K>]
See the
cf.example_field
for more details.


Business Partner Card
General Information
GENERAL DATA
Identifier
Commercial name
Fiscal name
TIN/ID
Business Partner Group
Registration date
Update
Commercial
Employee
Asset
As customer
Fact type
Inv. Sched.
Payment method
Terms
Commercial
Price list
A. Account
xx1
Financial account
Credit line limit
Customer balance
Available credit
As provider/creditor
Payment method
Terms
Price list
A. Account
xx2
Financial account
Customer Analysis
Orders until
21/03/2005
xx2006
xx56789
xx2005
xx34566
xx4567
xx278.76
%
Shipments
xx21/03/2005
xx2006
xx56789
xx2005
xx34566
xx4567
xx278.76
%
Invoices to
21/03/2005
xx2006
xx56789
xx2005
xx34566
xx4567
xx278.76
%
xx2006
xx56789
Total
xx56789
ABC PRODUCTS
xx2005
xx34566
Total
xx56789
Open Items
Payments in until
21/03/2005
xx2006
xx56789
xx2005
Payments out until
21/03/2005
xx2006
xx56789
xx2005
Address
Address
Postal Code
City
Province
Country
Phone
Phone 2
Fax
Delivery
Invo
Tax loc.
xxCENTER-BURLADA - Hermanos Imaz nº1, 6ºD
xx31002
xxPamplona
xxNavarra
xxEspaña
xx678705554
xx948281031
948281031
xxSi
xxSi
xxSi
Contacts
Name
Email
Phone
Phone 2
Fax
Address
xxPablo Sarobe Gonzáñez
<EMAIL_ADDRESS>xx678705554
xx948226913
xx948281030
xx6CENTER-BURLADA - Hermanos Imaz nº1, 6ºD
Others
Bank account
Bank
Account No.
xxCAJA NAVARRA
11111111111111111111
Discounts
Seq.
Name
%
Casc.
10
xxDEscuento por pronto pago 10%
10
xxSi
Shipper
Shipper path
Seq.
xxRuta 1
10
Template
xxAutoventa


{% extends 'brambling/layouts/12_xs.html' %} {% load floppyforms staticfiles %} {% block title %}Accept invitation – {{ block.super }}{% endblock %} {% block main %} {% comment %} If the person is already logged in, the invitation is currently automatically accepted. {% endcomment %} {% if invite %}
This invitation was sent by {{ sender_display }} to {{ invite.email }}. {% if invited_person_exists %} Log in to accept the invitation! {% else %} Create an account to accept the invitation! {% endif %}
{% if request.user.is_authenticated %}You are currently logged in as {{ request.user.email }}. You can only accept this invitation as {{ invite.email }}. If you believe this invitation was sent to the wrong email address, please get in touch with {{ sender_display }} directly to request a new invitation.
Sorry, but the invitation link you followed is no longer valid. It may have expired, been revoked, or been claimed already. If you know who sent the invitation, please ask them to resend it. Good luck!
{% endif %} {% endblock %} {% block javascripts %} {{ block.super }} {% endblock javascripts %}


Header
This is a test test 29
This is a test test 28
This is a test test 27
This is a test test 26
This is a test test 25
This is a test test 24
This is a test test 23
This is a test test 22
This is a test test 21
This is a test test 20
This is a test test 19
This is a test test 18
This is a test test 17
This is a test test 16
This is a test test 15
This is a test test 14
This is a test test 13
This is a test test 12
This is a test test 11
This is a test test 10
This is a test test 9
This is a test test 8
This is a test test 7
This is a test test 6
This is a test test 5
This is a test test 4
This is a test test 3
This is a test test 2
This is a test test 1
This is a test test 0


Hardworking and helpful friend
I am pretty good in Basketball
I am a good cook
I am good at Swimming
I am decent in Programming


WITNESS LIST Juvenile Justice & Family Issues Committee August 24, 2000-10:00A Update On: Baldwin, Howard (Attorney General) Brooke, Linda (TX Juvenile Probation Commission) Chapmond, Thomas (TX Dept. of Protective and Regulatory Services) Childress, Charles (TX Dept. of Protective and Regulatory Services) Dawson, Robert (Self) Fabelo, Tony (Criminal Justice Policy Council) Key, Alicia (Attorney General) Robinson, Steve (TX Youth Commission) Sampson, John (Self) Spriggs, Vicki (TX Juvenile Probation Commission) Stansbury, Tom (State Bar of Texas) Tindall, Harry (Uniform Law Commission)


A problem-solving environment (PSE) for fitting
separable nonlinear models to measurements arising in physics
and chemistry experiments; has been extensively applied to
time-resolved spectroscopy and FLIM-FRET data.
| Version: |
1.13.0 |
| Depends: |
R (≥ 2.10.0), methods, fields (≥ 4.1) |
| Imports: |
deSolve, nnls (≥ 1.1), colorspace, splines, minpack.lm (≥
1.1-1), gclus, gplots, grDevices, graphics, stats, utils |
| Published: |
2015-10-19 |
| Author: |
Katharine M. Mullen, Joris J. Snellenburg, Sergey P. Laptenok, David Nicolaides, Ivo H.M. van Stokkum |
| Maintainer: |
Joris J. Snellenburg <j.snellenburg at vu.nl> |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: |
http://timp.r-forge.r-project.org/ http://timpgui.org/ |
| NeedsCompilation: |
yes |
| Citation: |
TIMP citation info |
| Materials: |
NEWS |
| In views: |
ChemPhys |
| CRAN checks: |
TIMP results |


Tito Benj
Drums
"I am a Guitar, Drum, and Korean Language Tutor"
Tito Science is a pop quintet that hails from the heart of Makati City - Philippines. Formed in the last quarter of 2016, and originally just a weekend jam thing, this young band is getting close to finishing their first blithe endeavor called "Tito Moves".
Drums
"I am a Guitar, Drum, and Korean Language Tutor"
God, Gaming, Pop Punk, Pizza, Korean Food, Cats, Marvel and DC.
Blink 182, All Time Low, The Story So Far, Dave Weckl, Matt Garstka, Luke Holland, Michael Keene, Kamikazee, Typecast
Keyboard
"I am a Karaoke Director"
Burgers, Transgressive/Satire Novels, Science, Arachnids, The Universe.
Bill Evans, Derek Sherinian, The Beatles, Smashing Pumpkins, Eraserheads, Planet X
Bass
"I am an Operations Analyst"
Beer, Pasta, Classic Movies (War, Mafia, and Prohibition Era)
Marilyn Manson, Mr. Big, Billy Sheehan, Sting, Vinnie Colaiuta, Mike Mangini.
Guitar
"I am a Program Sales Manager"
Documentary films, Mysteries, Science, Fictions, Tapa and Root Beer.
Eric Johnson, Jack Thammarat, Guthrie Govan, Boyetus Irabon, Fayeed Tan, Alex Band, Dream Theater, Mr. Big, Chon.
Vocals
"I am a Software Developer"
Cars, Music, Literature (fantasy), Photography, Japanese Culture, FOOD, girls (lol)
Mercury, Bach, Cornell, Vedder, Labrie, HYDE, Tony Kakko, Zaher Zorgati, Matteus Asato, Hanson, James Bay.


This mini HOW-TO is for those who are in the urge of using a Subversion server behind a windows based Apache secured by mod_auth_sspi.
Since it this authentication scheme causes some trouble with Hudson (see hereand here) and I ran into the same trouble too here is my setup and solution to get mod_auth_sspi working with Hudson.
Setup
Suppose you have a similar environment for your Subversion. The Hudson part is irrelevant in this context.
- Apache 2.2.9 running on a Windows 2008 Server (DAV/2 mod_ssl/2.2.9 OpenSSL0.9.8h SVN/1.5.5 mod_auth_sspi/1.0.4)
- Subversion mounted to Apache 2.2.9 with webdav
- Apache Authentication Module: mod_auth_sspi
- Hudson (Release 1.300) on a different machine (Linux or Windows does not matter), served by Tomcat6 and Sun Java6
Synopsis
When you try to setup your project with Subversion then Hudson refuses to connect to the svn repository declared in your hudson job when the access to the repository is protected by mod_auth_sspi. You get this kind of exception from Hudson (lines wrapped for better readability):
org.tmatesoft.svn.core.SVNAuthenticationException: svn: Authentication failed for http://geonosis/repos/projects/helloWorld/trunk/printHelloWorld at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:67) [...] Caused by: org.tmatesoft.svn.core.SVNAuthenticationException: svn: Authentication failed for http://geonosis/repos/projects/helloWorld/trunk/printHelloWorld at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:36)
Cause
My guess is that the mod_auth_sspi (NTLM) does not understand what the svnkit (Basic Authentication) of Hudson says to authenticate. (It is my assumption because I am not a Microsoft-Techie - I prefer open standards and sources.) The credentials you enter in Hudson do not make their way into the mod_auth_sspi. Side note: They get send from Hudson: you will see them when you disable ssl and sniff the packets on the wire.
In your Apache error.log you will see an empty user, even when you provided a user name in Hudson. Note the "user unknown" text in the end of the log entry:
[Thu May 29 09:13:33 2008] [error] [client <IP_ADDRESS>] (OS 1326)Logon failure: unknown user name or bad password. : authentication failure for "/repos/projects/helloWorld/trunk/printHelloWorld": user unknown
Lets solve this...
Workaround/Solution
The idea is to enforce the mod_auth_sspi to offer Basic Authentication and to challenge Basic Authentication first and NTLM second. By default the mod_auth_sspi challenges NTLM first and does not offer Basic Authentication at all.
Locate your section for /svn in the httpd.conf (it should look like this):
<Location /svn> DAV svn SVNParentPath C:\repo AuthName "Subversion" AuthType SSPI SSPIAuth On SSPIAuthoritative On SSPIDomain yourWindowsDomain require valid-user </Location>
Then add or change these two switches in the section to:
SSPIOfferBasic On SSPIBasicPreferred On
See here for their meaning. Make sure to edit the httpd.conf as Administrator (Windows UAC is another PITA). Save the file. Restart the Apache service. Connect to Subversion via your Hudson job. Sm:)e.
Remarks
NTLM is awkward, if you can avoid it, don't use it! It may even be a security breach when your Apache with mod_auth_sspi serves the internet behind a proxy. If you (or your sysadmins) can't (or won't) bail out Microsoft products consider to use the mod_authnz_ldap from apache with Microsoft Active Directory, since the mod_auth_sspi discussed here seems to be discontinued by the developer(s) since 2006.


Otaku (おたく/オタク?) is a Japanese term for people with obsessive interests.
Find Out MoreThe Otaku Smoke n' Brew Cook Team is a group of folks in the Lewisville, TX area that are obsessive about brewing beer and smoking BBQ..
Head Cook Jim Lavin started the team in 2015 after spending a couple years as a KCBS Certified Judge, and attending the Jack's Old South Cooking School to learn about competitions.
Now you can usually find the team at any of the local DFW Area KCBS competitions, relaxing by their smokers putting out some great BBQ while enjoying a good cigar and sipping scotch.
If the team's not competing they are probably smoking a whole hog for friends or family.
| Competition | Date | Location |
|---|---|---|
| Shotgun Fred BBQ Showdown | 02-17-18 | Huntsville TX |
| Fire Lake BBQ Cook-off Day 1 | 03-24-18 | Shawnee OK |
| Fire Lake BBQ Cook-off Day 2 | 03-25-18 | Shawnee OK |
| City of Springs BBQ Championship | 04-07-18 | Sulphur OK |
| 13th Annual Hanor Smokin' Red Dirt BBQ | 04-21-18 | Enid OK |
| “Burnt Ends” Oklahoma Barbeque Championship | 05-26-18 | Oklahoma City OK |
| Boots and BBQ Festival | 06-02-18 | Claremore OK |
| Canadian County CASA's All Fired Up for Kids BBQ | 07-28-18 | El Reno OK |
| Bedford Blues & BBQ Festival | 09-01-18 | Bedford TX |
| Hot Pursuit BBQ | 09-08-18 | Shawnee OK |
| Bedouin Brew & Bar-B-Que | 10-14-18 | Muskogee OK |
| Smokin' Blues & BBQ Festival | 10-20-18 | Duncanville TX |
| 10th Annual Smokin the Fort BBQ & Blue Grass Festival | 10-27-18 | Fort Gibson OK |
| Date | Contest Name | Location | Teams | Place | Points |
|---|---|---|---|---|---|
| 10/14/2017 | Smokin' Blues & BBQ Festival | Duncanville, TX | 18 | 5 | 683.4516 |
| 09/03/2017 | Bedford Blues & BBQ Festival | Bedford, TX | 46 | 26 | 638.2168 |
| 03/11/2017 | Sam's Club National BBQ Tour | White Settlement, TX | 30 | 25 | 622.8004 |
| 02/18/2017 | Shotgun Fred BBQ Showdown | Huntsville, TX | 41 | 17 | 669.6344 |
| 09/04/2016 | City of Bedford Blues & BBQ Festival | Bedford, TX | 58 | 31 | 646.7544 |
| 03/12/2016 | Sam's Club National BBQ Tour | Fort Worth, TX | 29 | 28 | 619.2912 |
| 09/06/2015 | City of Bedford Blues & BBQ Festival | Bedford, TX | 70 | 59 | 626.72 |
| 03/07/2015 | Sam's Club National BBQ Tour | Shreveport, LA | 29 | 22 | 642.6512 |
| Date | Contest Name | Location | Teams | Place | Points |
|---|---|---|---|---|---|
| 10/14/2017 | Smokin' Blues & BBQ Festival | Duncanville, TX | 18 | 4 | 176.56 |
| 09/03/2017 | Bedford Blues & BBQ Festival | Bedford, TX | 44 | 34 | 154.2284 |
| 03/11/2017 | Sam's Club National BBQ Tour | White Settlement, TX | 30 | 26 | 151.3944 |
| 02/18/2017 | Shotgun Fred BBQ Showdown | Huntsville, TX | 41 | 19 | 166.8228 |
| 09/04/2016 | City of Bedford Blues & BBQ Festival | Bedford, TX | 57 | 23 | 167.3828 |
| 03/12/2016 | Sam's Club National BBQ Tour | Fort Worth, TX | 29 | 28 | 148.5372 |
| 09/06/2015 | City of Bedford Blues & BBQ Festival | Bedford, TX | 70 | 49 | 158.8228 |
| 03/07/2015 | Sam's Club National BBQ Tour | Shreveport, LA | 29 | 27 | 160.5372 |
| Date | Contest Name | Location | Teams | Place | Points |
|---|---|---|---|---|---|
| 10/14/2017 | Smokin' Blues & BBQ Festival | Duncanville, TX | 18 | 16 | 150.8344 |
| 09/03/2017 | Bedford Blues & BBQ Festival | Bedford, TX | 46 | 30 | 160.0228 |
| 03/11/2017 | Sam's Club National BBQ Tour | White Settlement, TX | 30 | 14 | 163.44 |
| 02/18/2017 | Shotgun Fred BBQ Showdown | Huntsville, TX | 41 | 13 | 170.2744 |
| 09/04/2016 | City of Bedford Blues & BBQ Festival | Bedford, TX | 57 | 25 | 163.966 |
| 03/12/2016 | Sam's Club National BBQ Tour | Fort Worth, TX | 29 | 18 | 160.0 |
| 09/06/2015 | City of Bedford Blues & BBQ Festival | Bedford, TX | 70 | 57 | 155.36 |
| 03/07/2015 | Sam's Club National BBQ Tour | Shreveport, LA | 29 | 21 | 162.8 |
| Date | Contest Name | Location | Teams | Place | Points |
|---|---|---|---|---|---|
| 10/14/2017 | Smokin' Blues & BBQ Festival | Duncanville, TX | 18 | 1 | 178.8572 |
| 09/03/2017 | Bedford Blues & BBQ Festival | Bedford, TX | 45 | 28 | 160.5828 |
| 03/11/2017 | Sam's Club National BBQ Tour | White Settlement, TX | 30 | 27 | 150.2516 |
| 02/18/2017 | Shotgun Fred BBQ Showdown | Huntsville, TX | 41 | 27 | 167.9772 |
| 09/04/2016 | City of Bedford Blues & BBQ Festival | Bedford, TX | 56 | 38 | 161.1428 |
| 03/12/2016 | Sam's Club National BBQ Tour | Fort Worth, TX | 29 | 6 | 168.0 |
| 09/06/2015 | City of Bedford Blues & BBQ Festival | Bedford, TX | 70 | 59 | 154.2628 |
| 03/07/2015 | Sam's Club National BBQ Tour | Shreveport, LA | 29 | 20 | 163.3828 |
| Date | Contest Name | Location | Teams | Place | Points |
|---|---|---|---|---|---|
| 10/14/2017 | Smokin' Blues & BBQ Festival | Duncanville, TX | 18 | 2 | 177.2 |
| 09/03/2017 | Bedford Blues & BBQ Festival | Bedford, TX | 46 | 17 | 163.3828 |
| 03/11/2017 | Sam's Club National BBQ Tour | White Settlement, TX | 30 | 21 | 157.7144 |
| 02/18/2017 | Shotgun Fred BBQ Showdown | Huntsville, TX | 41 | 23 | 164.56 |
| 09/04/2016 | City of Bedford Blues & BBQ Festival | Bedford, TX | 58 | 46 | 154.2628 |
| 03/12/2016 | Sam's Club National BBQ Tour | Fort Worth, TX | 29 | 28 | 142.754 |
| 09/06/2015 | City of Bedford Blues & BBQ Festival | Bedford, TX | 70 | 45 | 158.2744 |
| 03/07/2015 | Sam's Club National BBQ Tour | Shreveport, LA | 29 | 23 | 155.9312 |