{
  "t": "entity",
	"id": "NttPerson",
	"super": {"t":"not_set"},
	"abs": false,
    "attrs": [
			{
				"t":"attr",
				"ids":[{"t":"attr_id", "id":"firstName"}],
				"opt":true,
				"type":{"t":"type_ref", "id":"TpLabel"}
			},
			{
				"t":"attr",
				"ids":[{"t":"attr_id", "id":"lastName"}],
				"opt":true,
				"type":{"t":"type_ref", "id":"TpLabel"}
			},
			{
				"t":"attr",
				"ids":[{"t":"attr_id", "id":"middleNames"}],
				"opt":true,
				"type":{
					"t":"list",
					"unique":false,
					"bounds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":1}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
					"spec":{"t":"type_ref", "id":"TpLabel"}
				}
			},
			{
				"t":"attr",
				"ids":[{"t":"attr_id", "id":"birthDate"}],
				"opt":true,
				"type":{"t":"type_ref", "id":"TpDate"}
			},
			{
				"t":"attr",
				"ids":[{"t":"attr_id", "id":"phone"}],
				"opt":true,
				"type":{"t":"type_ref", "id":"TpLabel"}
			},
			{
				"t":"attr",
				"ids":[{"t":"attr_id", "id":"phoneType"}],
				"opt":true,
				"type":{"t":"type_ref", "id":"TpPhoneType"}
			},
			{
				"t":"attr",
				"ids":[{"t":"attr_id", "id":"phoneTypeOther"}],
				"opt":true,
				"type":{"t":"type_ref", "id":"TpLabel"}
			}
		],
		"derives": [],
		"uniques": [],
		"inverses": [
			{
				"t":"inverse",
				"id": {"t":"attr_id", "id":"creates"},
				"aggrType": "set",
				"aggrBnds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":0}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
				"nttRef":{"t":"entity_ref", "id":"NttRelCreates"},
				"invRef":{"t":"attr_ref", "id":"creator"}
			},
			{
				"t":"inverse",
				"id": {"t":"attr_id", "id":"invites"},
				"aggrType": "set",
				"aggrBnds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":0}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
				"nttRef":{"t":"entity_ref", "id":"NttRelInvites"},
				"invRef":{"t":"attr_ref", "id":"host"}
			},
			{
				"t":"inverse",
				"id": {"t":"attr_id", "id":"isInvited"},
				"aggrType": "set",
				"aggrBnds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":0}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
				"nttRef":{"t":"entity_ref", "id":"NttRelInvites"},
				"invRef":{"t":"attr_ref", "id":"guests"}
			},
			{
				"t":"inverse",
				"id":{"id":"teams","t":"attr_id"},
				"aggrType":"bag",
				"aggrBnds":{"from":[[{"arg0":{"t":"integer","value":0},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"t":"bounds","to":[]},
				"nttRef":{"id":"NttTeam","t":"entity_ref"},
				"invRef":{"id":"members","t":"attr_ref"}
			}
		],
		"wheres":[
			{
				"t":"where",
				"id":"isNamed",
				"expr":{
					"arg0":[
						[{
							"t":"factor",
							"arg0":{
								"t":"parenthesis",
								"expr":{
									"t":"expr",
									"arg0":[[
										{
											"arg0":{
												"id":"exists",
												"t":"bifct",
												"values":[{
													"arg0":[[{
														"t":"factor",
														"arg0":{"id":"firstName","t":"var_ref"},
														"quals0":[],
														"arg1":null,
														"quals1":null
													}]],
													"arg1":null,
													"op":null,
													"t":"expr"
												}]
											},
											"arg1":null,
											"quals0":[],
											"quals1":null,
											"t":"factor"
										},
										{"id":"and","t":"multlikeop"},
										{
											"t":"factor",
											"arg0":{
												"t":"parenthesis",
												"expr":{
													"t":"expr",
													"arg0":[[
														{
															"t":"factor",
															"arg0":{"t":"integer","value":0},
															"quals0":[],
															"arg1":null,
															"quals1":null
														}
													]],
													"op":{"id":"lt","t":"relopext"},
													"arg1":[[{
														"t":"factor",
														"arg0":{
															"id":"length",
															"t":"bifct",
															"values":[{
																"t":"expr",
																"arg0":[[
																	{
																		"t":"factor",
																		"arg0":{"id":"firstName","t":"var_ref"},
																		"quals0":[],
																		"arg1":null,
																		"quals1":null
																	}
																]],
																"op":null,
																"arg1":null
															}]
														},
														"arg1":null,
														"quals0":[],
														"quals1":null
													}]]
												}
											},
											"arg1":null,
											"quals0":[],
											"quals1":null
										}
									]],
									"op":null,
									"arg1":null
								}
							},
							"quals0":[],
							"arg1":null,
							"quals1":null
						}],
						{"id":"or","t":"addlikeop"},
						[{
							"t":"factor",
							"arg0":{
								"t":"parenthesis",
								"expr":{
									"t":"expr",
									"arg0":[[
										{
											"arg0":{
												"id":"exists",
												"t":"bifct",
												"values":[{
													"arg0":[[{
														"t":"factor",
														"arg0":{"id":"lastName","t":"var_ref"},
														"quals0":[],
														"arg1":null,
														"quals1":null
													}]],
													"arg1":null,
													"op":null,
													"t":"expr"
												}]
											},
											"arg1":null,
											"quals0":[],
											"quals1":null,
											"t":"factor"
										},
										{"id":"and","t":"multlikeop"},
										{
											"t":"factor",
											"arg0":{
												"t":"parenthesis",
												"expr":{
													"t":"expr",
													"arg0":[[
														{
															"t":"factor",
															"arg0":{"t":"integer","value":0},
															"quals0":[],
															"arg1":null,
															"quals1":null
														}
													]],
													"op":{"id":"lt","t":"relopext"},
													"arg1":[[{
														"t":"factor",
														"arg0":{
															"id":"length",
															"t":"bifct",
															"values":[{
																"t":"expr",
																"arg0":[[
																	{
																		"t":"factor",
																		"arg0":{"id":"lastName","t":"var_ref"},
																		"quals0":[],
																		"arg1":null,
																		"quals1":null
																	}
																]],
																"op":null,
																"arg1":null
															}]
														},
														"arg1":null,
														"quals0":[],
														"quals1":null
													}]]
												}
											},
											"arg1":null,
											"quals0":[],
											"quals1":null
										}
									]],
									"op":null,
									"arg1":null
								}
							},
							"quals0":[],
							"arg1":null,
							"quals1":null
						}],
						{"id":"or","t":"addlikeop"},
						[{
							"t":"factor",
							"arg0":{
								"t":"parenthesis",
								"expr":{
									"t":"expr",
									"arg0":[[
										{
											"arg0":{
												"id":"exists",
												"t":"bifct",
												"values":[{
													"arg0":[[{
														"t":"factor",
														"arg0":{"id":"middleNames","t":"var_ref"},
														"quals0":[],
														"arg1":null,
														"quals1":null
													}]],
													"arg1":null,
													"op":null,
													"t":"expr"
												}]
											},
											"arg1":null,
											"quals0":[],
											"quals1":null,
											"t":"factor"
										},
										{"id":"and","t":"multlikeop"},
										{
											"t":"factor",
											"arg0":{
												"t":"parenthesis",
												"expr":{
													"t":"expr",
													"arg0":[[
														{
															"t":"factor",
															"arg0":{"t":"integer","value":0},
															"quals0":[],
															"arg1":null,
															"quals1":null
														}
													]],
													"op":{"id":"lt","t":"relopext"},
													"arg1":[[{
														"t":"factor",
														"arg0":{
															"id":"length",
															"t":"bifct",
															"values":[{
																"t":"expr",
																"arg0":[[
																	{
																		"t":"factor",
																		"arg0":{"id":"middleNames","t":"var_ref"},
																		"quals0":[
																			{
																				"t":"idx_qual",
																				"idxStart":[[{
																					"arg0":{"t":"integer","value":1},
																					"arg1":null,
																					"quals0":[],
																					"quals1":null,
																					"t":"factor"
																				}]],
																				"idxEnd":[]
																			}
																		],
																		"arg1":null,
																		"quals1":null
																	}
																]],
																"op":null,
																"arg1":null
															}]
														},
														"arg1":null,
														"quals0":[],
														"quals1":null
													}]]
												}
											},
											"arg1":null,
											"quals0":[],
											"quals1":null
										}
									]],
									"op":null,
									"arg1":null
								}
							},
							"quals0":[],
							"arg1":null,
							"quals1":null
						}]
					],
					"arg1":null,
					"op":null,
					"t":"expr"
				}
			},
			{
				"expr":{"arg0":[[{"arg0":{"expr":{"arg0":[[{"arg0":{"id":"exists","t":"bifct","values":[{"arg0":[[{"arg0":{"id":"phone","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"}]},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":[[{"arg0":{"id":"exists","t":"bifct","values":[{"arg0":[[{"arg0":{"id":"phoneType","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"}]},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"op":{"id":"eq","t":"relopext"},"t":"expr"},"t":"parenthesis"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"},
				"id":"phoneTypeWhenPhoneSet",
				"t":"where"
			},
			{
				"expr":{
					"t":"expr",
					"arg0":[
						[{
							"t":"factor",
							"arg0":{
								"expr":{
									"t":"expr",
									"arg0":[[{
										"t":"factor",
										"arg0":{"id":"phoneType","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null
									}]],
									"op":{"id":"ne","t":"relopext"},
									"arg1":[[{
										"t":"factor",
										"arg0":{"id":"TpPhoneType","t":"type_ref"},
										"quals0":[{"id":"OTHER","t":"enum_value"}],
										"arg1":null,
										"quals1":null
									}]]
								},
								"t":"parenthesis"
							},
							"quals0":[],
							"arg1":null,
							"quals1":null
						}],
						{"id":"or","t":"addlikeop"},
						[{
							"t":"factor",
							"arg0":{"expr":{"arg0":[[{"arg0":{"expr":{"arg0":[[{"arg0":{"id":"phoneType","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":[[{"arg0":{"id":"TpPhoneType","t":"type_ref"},"arg1":null,"quals0":[{"id":"OTHER","t":"enum_value"}],"quals1":null,"t":"factor"}]],"op":{"id":"eq","t":"relopext"},"t":"expr"},"t":"parenthesis"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"},{"id":"and","t":"multlikeop"},{"arg0":{"expr":{"arg0":[[{"arg0":{"id":"exists","t":"bifct","values":[{"arg0":[[{"arg0":{"id":"phoneTypeOther","t":"var_ref"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"}]},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"},"t":"parenthesis"},"arg1":null,"quals0":[],"quals1":null,"t":"factor"}]],"arg1":null,"op":null,"t":"expr"},"t":"parenthesis"},
							"quals0":[],
							"arg1":null,
							"quals1":null
						}]
					],
					"op":null,
					"arg1":null
				},
				"id":"phoneTypeOtherDescribed",
				"t":"where"
			}
		]
}
